private static void DeleteDwarf(Element dwarf) { dwarf.coordX--; dwarf.Delete(); dwarf.coordX += 2; dwarf.Delete(); // return old state dwarf.coordX--; }
private static bool IsMoveRocksHitDwarf(Queue <Element> rocks, Element dwarf) { int countRocks = rocks.Count; for (int i = 0; i < countRocks; i++) { Element oldRock = rocks.Dequeue(); oldRock.Delete(); // Check if rocks are hitting dwarf if (((oldRock.coordY == dwarf.coordY) && (oldRock.coordX == (dwarf.coordX - 1))) || ((oldRock.coordY == dwarf.coordY) && (oldRock.coordX == dwarf.coordX)) || ((oldRock.coordY == dwarf.coordY) && (oldRock.coordX == (dwarf.coordX + 1)))) { return(true); } if ((oldRock.coordY + 1) < Console.WindowHeight) { oldRock.coordY++; oldRock.Print(); rocks.Enqueue(oldRock); } } return(false); }