分类:
2008-04-24 12:13:30
#ifndef _BOMBED_MAZE_GAME_H
#define _BOMBED_MAZE_GAME_H
#include <iostream>
#include "Wall.h"
#include "MazeGame.h"
class BombedWall : public Wall {
public:
BombedWall() {
std::cout << "BombedWall Constructor." << std::endl;
}
virtual void Enter() {
std::cout << "BombedWall Entered." << std::endl;
}
};
class RoomWithABomb : public Room {
public:
RoomWithABomb(int roomNo) : Room(roomNo) {
std::cout << "RoomWithABomb " << roomNo << " Constructor." << std::endl;
}
virtual void Enter() {
std::cout << "RoomWithABomb " << GetRoomNo() << " Entered." << std::endl;
}
};
class BombedMazeGame : public MazeGame_FactoryMethod {
public:
BombedMazeGame() {}
virtual Wall* MakeWall() const
{ return new BombedWall; }
virtual Room* MakeRoom(int n) const
{ return new RoomWithABomb(n); }
};
#endif