public override Room Enter(Player player) { if (!open) throw new Exception("The door is closed. Muhaha!"); if (player.GetCurrentRoom().GetRoomNumber() == room1.GetRoomNumber()) return room2; else return room1; }
public void PlayerCanEnterDoor() { var room1 = new Room(1); var room2 = new Room(2); var door = new Door(room1, room2); var player = new Player(room1, room2); Assert.AreEqual(room2, door.Enter(player)); }
public void PlayerHasFinished_When_CurrentRoomEqualsFinishRoom() { var room1 = new Room(1); var room2 = new Room(2); var player1 = new Player(room1, room2); Assert.IsFalse(player1.hasFinished()); var player2 = new Player(room1, room1); Assert.IsTrue(player2.hasFinished()); }
public void CannotEnterAWall() { var room1 = new Room(1); var room2 = new Room(2); var player = new Player(room1, room2); var wall = new Wall(); try { wall.Enter(player); throw new Exception("TEST FAILED"); } catch (Exception e) { Assert.AreEqual("You just ran into a wall. Have you been drinking?", e.Message); } }
public void TestLevelOneNavigation() { var level = LevelFactory.Instance().GetLevel(); var player = new Player(level.GetStartingRoom(), level.GetFinishingRoom()); Assert.AreEqual(1, player.GetCurrentRoom().GetRoomNumber()); player.Move(Room.directions.north); Assert.AreEqual(2, player.GetCurrentRoom().GetRoomNumber()); player.Move(Room.directions.south); Assert.AreEqual(1, player.GetCurrentRoom().GetRoomNumber()); player.Move(Room.directions.north); player.Move(Room.directions.east); Assert.AreEqual(4, player.GetCurrentRoom().GetRoomNumber()); player.Move(Room.directions.west); Assert.AreEqual(2, player.GetCurrentRoom().GetRoomNumber()); player.Move(Room.directions.south); Assert.AreEqual(1, player.GetCurrentRoom().GetRoomNumber()); player.Move(Room.directions.east); Assert.AreEqual(3, player.GetCurrentRoom().GetRoomNumber()); player.Move(Room.directions.west); Assert.AreEqual(1, player.GetCurrentRoom().GetRoomNumber()); }
public override Room Enter(Player player) { throw new Exception("You just ran into a wall. Have you been drinking?"); }
public abstract Room Enter(Player player);
private void InitializeMazeLevel() { var level = LevelFactory.Instance().GetLevel(); this.player = new Player(level.GetStartingRoom(), level.GetFinishingRoom()); Draw(player.GetCurrentRoom()); PlayDogBarkAudioClip(); }