Пример #1
0
 public Game()
 {
     maze   = new Maze(Width, Height, StartX, StartY);
     player = new Player(maze[new Point(StartX, StartY)]);
     AddCharacters();
     Murderer = NPCS.Find(npc => npc is MurdererNPC) as MurdererNPC;
     ObjectDefinitions.AddItems(maze);
 }
Пример #2
0
        private MurdererNPC CreateWeakMurderer()
        {
            MurdererNPC npc = new MurdererNPC("constable_barney", "", 1, 10, 5, new Weapon("Strong weapon", 10, "desc"));
            Room        r   = new Room("", new Point(0, 0));

            npc.CurrentRoom = r;
            r.NPCsInRoom.Add(npc);
            return(npc);
        }
Пример #3
0
        public void MurdererCanKillNoOneIfRoomIsEmpty()
        {
            Game        game     = new Game();
            MurdererNPC murderer = CreateMurderer();

            murderer.CurrentRoom.NPCsInRoom.Clear();
            murderer.KillRandomNPCInSameRoom(game);
            Assert.IsTrue(murderer.CurrentRoom.NPCsInRoom.Count == 0);
        }
Пример #4
0
        public void DropWeaponTest()
        {
            MurdererNPC murderer = CreateMurderer();

            murderer.EquippedWeapon = new Zork.Objects.Weapon("Blade", 10, "a powerfull blade");
            if (murderer.EquippedWeapon != null)
            {
                murderer.DropWeapon();
            }
            Assert.IsTrue(murderer.EquippedWeapon == null);
        }
Пример #5
0
        public void MurdererCanKillTest()
        {
            Game        game     = new Game();
            MurdererNPC murderer = CreateMurderer();
            MurdererNPC npc      = CreateMurderer();

            murderer.CurrentRoom.NPCsInRoom.Add(npc);
            npc.CurrentRoom = murderer.CurrentRoom;
            int countNpcsInRoom = murderer.CurrentRoom.NPCsInRoom.Count;

            murderer.KillRandomNPCInSameRoom(game);
            Assert.IsTrue(countNpcsInRoom > murderer.CurrentRoom.NPCsInRoom.Count);
        }
Пример #6
0
        public void DropAllItemsTest()
        {
            MurdererNPC murderer = CreateMurderer();

            murderer.Inventory.Add(new HealthPickup("drink", 100, "a nice drink"));
            murderer.Inventory.Add(new HealthPickup("drink", 100, "a nice drink"));
            murderer.Inventory.Add(new HealthPickup("drink", 100, "a nice drink"));
            murderer.Inventory.Add(new HealthPickup("drink", 100, "a nice drink"));
            if (murderer.Inventory.Count >= 4)
            {
                murderer.DropAllItems();
            }
            Assert.IsTrue(murderer.Inventory.Count == 0);
        }
Пример #7
0
        public void MurdererTriesToKillEveryXTurns()
        {
            Game        game     = new Game();
            Maze        m        = new Maze(1, 1, 0, 0);
            MurdererNPC murderer = CreateMurderer();

            murderer.Maze        = m;
            murderer.CurrentRoom = m.Rooms[0, 0];
            NPC victim = CharacterTests.CreateNPC();

            victim.CurrentRoom = murderer.CurrentRoom;
            murderer.CurrentRoom.NPCsInRoom.Add(victim);
            murderer.CurrentRoom.NPCsInRoom.Add(murderer);
            int totalNpcs = CountNPCs(m);

            for (int i = 0; i < murderer.KillEveryXPlayerSteps; ++i)
            {
                murderer.PossiblyKillSomeone(game);
            }
            int totalnpcsAfterKill = CountNPCs(m);

            Assert.IsTrue(totalnpcsAfterKill < totalNpcs);
        }