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); } }