public PresenterMineSweeper(IMineSweeperView view) { this.view = view; view.OpenCell += new EventHandler <EventArgs>(Open); view.SetFlag += new EventHandler <EventArgs>(Flag); view.NewGame += new EventHandler <EventArgs>(Game); view.ChoosenLevel += new EventHandler <EventArgs>(GetParameter); view.GetTime += new EventHandler <EventArgs>(Time); model.SetGameParameter(Level.Beginner); }
static void Main() { Console.CursorVisible = false; while (true) { int selectedMenuItem = view.GetMenu(); //Выбор пункта меню новая игра if (selectedMenuItem == (int)MainMenu.NewGame) { Console.Clear(); view.SetIndex(0); bool isExit = true; while (isExit) { int selectedSubMenuItem = view.GetSubMenu(); switch (selectedSubMenuItem) { //начальный уровень case (int)Level.Beginner: { model.SetGameParameter(Level.Beginner); view.SetPaameterGui(model.cellBoard.Width, model.cellBoard.Height); ProcessGame(); isExit = false; break; } //любитель case (int)Level.Medium: { model.SetGameParameter(Level.Medium); view.SetPaameterGui(model.cellBoard.Width, model.cellBoard.Height); ProcessGame(); isExit = false; break; } //профессионал case (int)Level.Professional: { model.SetGameParameter(Level.Professional); view.SetPaameterGui(model.cellBoard.Width, model.cellBoard.Height); ProcessGame(); isExit = false; break; } default: break; } } } //Выбор пункта меню новая правила игры else if (selectedMenuItem == (int)MainMenu.Rule) { view.DrawAboutProgramAndRule(MineSweeperModel.Rule); } //Выбор пункта меню рекорды else if (selectedMenuItem == (int)MainMenu.HighScores) { view.DrawHightScoresTable(MineSweeperModel.HightSores); } //Выбор пункта меню выход else if (selectedMenuItem == (int)MainMenu.Exit) { Environment.Exit(0); } //Выбор пункта о программе else if (selectedMenuItem == (int)MainMenu.About) { view.DrawAboutProgramAndRule(MineSweeperModel.About); } } }