Пример #1
0
        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;
        }
Пример #2
0
        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));
        }
Пример #3
0
        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());
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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());
        }
Пример #6
0
 public override Room Enter(Player player)
 {
     throw new Exception("You just ran into a wall. Have you been drinking?");
 }
Пример #7
0
 public abstract Room Enter(Player player);
Пример #8
0
        private void InitializeMazeLevel()
        {
            var level = LevelFactory.Instance().GetLevel();
            this.player = new Player(level.GetStartingRoom(), level.GetFinishingRoom());

            Draw(player.GetCurrentRoom());
            PlayDogBarkAudioClip();
        }