/*
  * Review GY: рекомендую перенести даний метод до класу, що інкапсулює логіку гри.
  */
 public void MonsterMoving(Monster monster, List <Monster> listMonsters, char[,] gameGround, Mario mario, Game game, List <Bullet> listBullets)
 {
     CheckMove(monster, listMonsters, gameGround);
     foreach (var monstr in listMonsters)
     {
         if (monstr.LeftOrRight == true)
         {
             if (gameGround[monstr.X - 2, monstr.Y - 1] != 'X')
             {
                 monstr.X -= 1;
             }
             if (mario.X == monstr.X && mario.Y == monstr.Y)
             {
                 mario.CheckLife(mario, listMonsters, game);
             }
         }
         else if (monstr.LeftOrRight == false)
         {
             if (gameGround[monstr.X + 1, monstr.Y - 1] != 'X')
             {
                 monstr.X += 1;
                 mario.CheckLife(mario, listMonsters, game);
             }
         }
     }
 }
Example #2
0
        public void CheckLifeThirdTest()
        {
            Mario          mario    = new Mario(2, 1);
            Game           game     = new Game();
            List <Monster> monsters = new List <Monster>();

            monsters.Add(new Monster(1, 1));
            mario.CheckLife(mario, monsters, game);
            Assert.IsFalse(mario.Life);
            Assert.IsTrue(game.GameOver);
            Assert.IsFalse(game.GameInProgress);
        }