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);
        }
        private static void DeleteDwarf(Element dwarf)
        {
            dwarf.coordX--;
            dwarf.Delete();
            dwarf.coordX += 2;
            dwarf.Delete();

            // return old state
            dwarf.coordX--;
        }