00001 #include "MazeGame.h" 00002 #include "MazeFactory.h" 00003 #include "Maze.h" 00004 #include "Room.h" 00005 #include "Door.h" 00006 #include "Wall.h" 00007 00008 //---- MazeGame --------------------------------------------------------- 00009 00010 MazeGame::MazeGame() : Object() { } 00011 00012 MazeGame::~MazeGame() { } 00013 00014 class Maze * MazeGame::CreateMaze(class MazeFactory * factory) { 00015 Maze * aMaze; aMaze = factory->MakeMaze(); 00016 Room * r1; r1 = factory->MakeRoom(1); 00017 Room * r2; r2 = factory->MakeRoom(2); 00018 Door * theDoor; theDoor = factory->MakeDoor(r1,r2); 00019 00020 aMaze->AddRoom(r1); 00021 aMaze->AddRoom(r2); 00022 00023 r1->SetSide(North, factory->MakeWall()); 00024 r1->SetSide(East, theDoor); 00025 r1->SetSide(South, factory->MakeWall()); 00026 r1->SetSide(West, factory->MakeWall()); 00027 00028 r2->SetSide(North, factory->MakeWall()); 00029 r2->SetSide(East, factory->MakeWall()); 00030 r2->SetSide(South, factory->MakeWall()); 00031 r2->SetSide(West, theDoor); 00032 00033 return aMaze; 00034 } 00035 00036 void MazeGame::Print(int indent) { 00037 PrintIndent(indent); 00038 printf("MazeGame\n"); 00039 00040 Object::Print(indent+2); 00041 }