}// Main() static void Loop(object obj) { if (walls.IsHit(snake.GetHead()) || snake.IsHit(snake.GetHead())) { time.Change(0, Timeout.Infinite); } else if (snake.Eat(foodFactory.food)) { foodFactory.CreateFood(); } else { snake.Move(); } }// Loop()
static void Main() { Console.SetWindowSize(x + 1, y + 1); Console.SetBufferSize(x + 1, y + 1); Console.CursorVisible = false; walls = new Walls(x, y, '#'); snake = new Snake(x / 2, y / 2, 3); foodFactory = new FoodFactory(x, y, '@'); foodFactory.CreateFood(); time = new Timer(Loop, null, 0, 200); while (true) { if (Console.KeyAvailable) { ConsoleKeyInfo key = Console.ReadKey(); snake.Rotation(key.Key); } } }// Main()
static void Loop(object obj) { if (walls.IsHit(snake.GetHead()) || snake.IsHit(snake.GetHead())) { time.Change(0, Timeout.Infinite); GameOver(); GameOverMenu(); } else if (snake.Eat(foodFactory.Food)) { foodFactory.CreateFood(diflevel); if (diflevel == 0) // система начисления очков для легкого уровня { scores++; if (scores % 3 == 0) { if (scores <= 6) { time.Change(0, snakeSpeed -= 40); } // увеличиваем скорость змеи, если съели до 6 яблок else if (snakeSpeed >= 0) { time.Change(0, snakeSpeed -= 10); } // немного увеличиваем после 6 яблок level++; } } else if (diflevel == 1) // система начисления очков для среднего уровня { scores += 2; if (scores % 4 == 0) { if (scores <= 6) { time.Change(0, snakeSpeed -= 30); } // увеличиваем скорость змеи, если съели до 6 яблок else if (snakeSpeed >= 0) { time.Change(0, snakeSpeed -= 10); } // немного увеличиваем после 6 яблок level++; } } else if (diflevel == 2) // система начисления очков для тяжелого уровня { scores += 4; if (scores % 8 == 0) { if (scores <= 12) { time.Change(0, snakeSpeed -= 20); } // увеличиваем скорость змеи, если съели до 12 яблок else if (snakeSpeed >= 0) { time.Change(0, snakeSpeed -= 10); } // еще ускоряемся после 12 яблок level++; } } } else { snake.Move(); SetCursorPosition(0, 28); GameInfo(); // вывод игрового табло с инфой } }
public Snake(int x, int y) { factory.Variable(x, y, '$'); beginshake(x, y); factory.CreateFood(); }