/
Landilf
/
2413_Ryumin_CourseWork
Обзор
Документация
Войти
/
Landilf
/
2413_Ryumin_CourseWork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CourseWork/ConsoleUI/Flow/ConsoleGame.cs
73 строки
2 KB
Landilf
add project
27 янв 2026, 13:57
27 янв 2026, 13:57
753b3e7
Код
Авторство
О чём код?
using GameCore.Controllers; using ConsoleUI.Enums; using ConsoleUI.Views; namespace ConsoleUI.Flow; /// <summary> /// Основная логика консольной версии игры. /// </summary> public static partial class ConsoleGame { #region Поля /// <summary> /// Контроллер игры. /// </summary> private static GameController? _controller; /// <summary> /// Представление игры. /// </summary> private static GameView? _gameView; /// <summary> /// Флаг работы основного цикла приложения. /// </summary> private static bool _running = true; /// <summary> /// Текущее состояние приложения. /// </summary> private static AppState _currentState = AppState.MainMenu; #endregion #region Методы /// <summary> /// Точка входа в приложение. /// </summary> /// <param name="parArguments">Аргументы командной строки.</param> public static void Main(string[] parArguments) { Console.OutputEncoding = System.Text.Encoding.UTF8; // Инициализация контроллера _controller = new GameController(); _controller.OnRenderFrame += OnRenderFrame; // Инициализация представления игры _gameView = new GameView(); _gameView.Init(); while (_running) { switch (_currentState) { case AppState.MainMenu: RunMainMenu(); break; case AppState.Game: RunGame(); break; case AppState.HighScores: RunHighScores(); break; case AppState.Help: RunHelp(); break; case AppState.Pause: RunPauseMenu(); break; case AppState.GameOver: RunGameOver(); break; case AppState.Victory: RunVictory(); break; } } Console.Clear(); Console.WriteLine(@"Goodbye!"); } #endregion }