Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
                }
            }
        }