Esempio n. 1
0
 private void Check(int x, int y, Dungeon dung, Player creature) // checking if there are a creature on a cell where player tries to move
 {
     if (dung.CreatureCheck(creature.X + x, creature.Y + y))
     {
         creature.Attack(dung, dung.GetEnemyAtCoordinates(creature.X + x, creature.Y + y), 1);
         if (creature.Hp <= 0)
         {
             creature.Die(dung);
             dung.GameOver();
         }
         else if (!dung.CreatureCheck(creature.X + x, creature.Y + y))
         {
             Move(x, y, dung, creature);
         }
     }
     else if (dung.GiveInteraction(creature.X + x, creature.Y + y) == Interaction.UpLadder || dung.GiveInteraction(creature.X + x, creature.Y + y) == Interaction.DownLadder)
     {
         if (dung.GiveInteraction(creature.X + x, creature.Y + y) == Interaction.UpLadder)
         {
             creature.NextLvl(dung, +1);
         }
         else if (dung.GiveInteraction(creature.X + x, creature.Y + y) == Interaction.DownLadder)
         {
             creature.NextLvl(dung, -1);
         }
     }
     else
     {
         Move(x, y, dung, creature);
     }
 }