-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmazegame.ts
More file actions
28 lines (26 loc) · 857 Bytes
/
mazegame.ts
File metadata and controls
28 lines (26 loc) · 857 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import Maze from './maze'
import Room from './room'
import Door from './door'
import Direction from './direction';
import Wall from './wall';
import factory from './mazefactory';
class MazeGame {
public createMaze(): Maze {
var aMaze = new Maze();
var r1 = factory.makeRoom();
var r2 = factory.makeRoom();
var theDoor = factory.makeDoor(r1, r2);
aMaze.addRoom(r1);
aMaze.addRoom(r2);
r1.setSide(Direction.North, factory.makeWall());
r1.setSide(Direction.East, theDoor);
r1.setSide(Direction.South, factory.makeWall());
r1.setSide(Direction.West, factory.makeWall());
r2.setSide(Direction.North, factory.makeWall());
r2.setSide(Direction.East, factory.makeWall());
r2.setSide(Direction.South, factory.makeWall());
r2.setSide(Direction.West, theDoor);
return aMaze;
}
}
export default MazeGame