public void Refresh (Room roomToRefresh) { //Rectangle OldDrawingBounds = game.player.Location.GetDrawingBounds(_view.Context); Rectangle DrawingBounds = roomToRefresh.GetDrawingBounds(_context); DrawingBounds.Inflate(-1,-1); _form.pnlMazeView.Invalidate(DrawingBounds); }
public Room OtherSideFrom(Room room) { if (room.RoomNumber == room1.RoomNumber) return room2; if (room.RoomNumber == room2.RoomNumber) return room1; return null; }
//provide default implementations that do nothing protected Connector (Room r1, Direction d) { Room r2 = (Room)r1.Neighbors[d]; r1.Neighbors[d] = this; Neighbors[d] = r2; r2.Neighbors[d.opposite] = this; Neighbors[d.opposite] = r1; }
public Maze 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(Direction.North, new Wall()); r1.SetSide(Direction.East, theDoor); r1.SetSide(Direction.South, new Wall()); r1.SetSide(Direction.West, new Wall()); r2.SetSide(Direction.North, new Wall()); r2.SetSide(Direction.East, new Wall()); r2.SetSide(Direction.South, new Wall()); r2.SetSide(Direction.West, theDoor); return aMaze; }
public Wall (Room r1, Direction d) : base(r1,d) {}
public void AddRoom(Room room) { rooms.Add(room); }
public Door(Room Room1, Room Room2) { room1 = Room1; room2 = Room2; }
public Door (Room r1, Direction d) : base(r1,d) {}
public override Door MakeDoor(Room r1, Room r2) { return new DoorNeedingSpell(r1, r2); }
public DoorNeedingSpell(Room r1, Room r2) : base(r2,r2) { }
public virtual Door MakeDoor(Room r1, Room r2) { return new Door(r1, r2); }
private void CreateSquare(int size) { _rooms = new Room[size, size]; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { _rooms[i, j] = new Room(); } } for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (i > 0) { _rooms[i, j].Join(_rooms[i - 1, j], Direction.West); } if (j > 0) { _rooms[i, j].Join(_rooms[i, j - 1], Direction.North); } } } StartRoom = _rooms[0, 0]; FinishRoom = _rooms[size - 1, size - 1]; }