mazegame.h
来自「同样是设计模式中的迷宫问题」· C头文件 代码 · 共 44 行
H
44 行
class MazeGame
{
public:
virtual Maze* MakeMaze() const
{
return new Maze;
}
virtual Room* MakeRoom(int n) const
{
return new Room(n);
}
virtual Wall* MakeWall() const
{
return new Wall;
}
virtual Door* MakeDoor(Room* r1,Room* r2) const
{
return new Door(r1,r2);
}
Maze* CreateMaze()
{
Maze* aMaze=MakeMaze();
Room* r1=MakeRoom(1);
Room* r2=MakeRoom(2);
Door* theDoor=MakeDoor(r1,r2);
aMaze->AddRoom(r1);
aMaze->AddRoom(r2);
r1->SetSide(North,MakeWall());
r1->SetSide(East,theDoor);
r1->SetSide(South,MakeWall());
r1->SetSide(West,MakeWall());
r2->SetSide(North,MakeWall());
r2->SetSide(East,MakeWall());
r2->SetSide(South,MakeWall());
r2->SetSide(West,theDoor);
return aMaze;
}
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?