static void Main() { // Инициализация параметров Console.BufferWidth = Console.WindowWidth = 32; Console.BufferHeight = Console.WindowHeight = 22; // Прячем курсор для красоты Console.CursorVisible = false; // Установка параметра задержки смены кадров const int frameDelay = 100; var stopwatch = new Stopwatch(); // Создаём игровые объекты var at = new At(); bool gameOver = false; //Игровой цикл while (!gameOver) { stopwatch.Start(); // В нём нужно выполнять действия по нажатию кнопок // Обновлять положения объектов // Определять столкновения и всё такое // Обработка нажатий клавиатуры if (Console.KeyAvailable) { var keyPressed = Console.ReadKey(true).Key; while (Console.KeyAvailable) { Console.ReadKey(true); } if (keyPressed == ConsoleKey.Escape) { break; } // Перемещение объектов по нажатию кнопок at.Move(keyPressed); } // Вычисление задержки для поддержания стабильного FPS stopwatch.Stop(); int sleepTime = Math.Max(frameDelay - (int)stopwatch.Elapsed.TotalMilliseconds, 0); // Задержка Thread.Sleep(sleepTime); } Console.Clear(); }