コード例 #1
0
        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);
        }
コード例 #2
0
        private static void DrawDwarf(Element dwarf)
        {
            if (dwarf.symbol == 'O')
            {
                dwarf.Print();
                dwarf.symbol = '(';
                dwarf.coordX--;
                dwarf.Print();
                dwarf.symbol  = ')';
                dwarf.coordX += 2;
                dwarf.Print();

                // return old state
                dwarf.symbol = 'O';
                dwarf.coordX--;
            }
            else
            {
                dwarf.Print();
                dwarf.coordX--;
                dwarf.Print();
                dwarf.coordX += 2;
                dwarf.Print();
            }
        }
コード例 #3
0
        private static void DrawDwarf(Element dwarf)
        {
            if (dwarf.symbol == 'O')
            {
                dwarf.Print();
                dwarf.symbol = '(';
                dwarf.coordX--;
                dwarf.Print();
                dwarf.symbol = ')';
                dwarf.coordX += 2;
                dwarf.Print();

                // return old state
                dwarf.symbol = 'O';
                dwarf.coordX--;
            }
            else
            {
                dwarf.Print();
                dwarf.coordX--;
                dwarf.Print();
                dwarf.coordX += 2;
                dwarf.Print();
            }
        }