📄 c18-创建模式01.txt
字号:
//迷宫游戏的原始代码
class MapSite
{
public:
virtual void Enter()=0;
};
class Room:public MapSite
{
public:
Room(int roomNo);
MapSite * GetSide(int dir) const;
void SetSide(int dir,MapSite *);
void Enter();
private:
MapSite * _sides[4];
int _roomNumber;
};
class Wall:public MapSite
{
public:
Wall();
virtual void Enter();
};
class Door: public MapSite
{
public:
Door(Room * r1=0,Room * r2=0);
virtual void Enter();
Room * OtherSideFrom(Room *);
private:
Room * _room1;
Room * _room2;
bool _isOpen;
};
class Maze
{
public:
Maze();
void AddRoom(Room * r);
Room * RoomNo(int num) const;
private:
//...
};
class Game
{
public:
Maze();
Maze * CreateMaze();
private:
Maze * theMaze;
//...
};
Maze * Game::CreateMaze()
{
Maze * aMaze=new Maze;
Room * r1=new Room(1);
Room * r2=new Room(2);
Door * theDoor=new Door(r1,r2);
aMaze->AddRoom(r1);
aMaze->AddRoom(r2);
r1->SetSide(1,new Wall);
r1->SetSide(2,theDoor);
r1->SetSide(3,new Wall);
r1->SetSide(4,new Wall);
r1->SetSide(1,new Wall);
r1->SetSide(2,new Wall);
r1->SetSide(3,new Wall);
r1->SetSide(4,theDoor);
return aMaze;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -