public void Execute()
        {
            _finishinfo = string.Format(
                _dataProvider.GetText("playerwins"),
                _dataProvider.GetNumberLiteral(_winner));
            _finishskull1 = string.Format(
                _dataProvider.GetText("finishskull1"));
            _finishskull2 = string.Format(
                _dataProvider.GetText("finishskull2"));

            while (isFinished)
            {
                _sourceWrapper.Clear();
                _sourceWrapper.WriteOutput(35, 0, _finishinfo, ConsoleColor.Green);
                _sourceWrapper.WriteOutput(0, 0, _finishskull1);
                _sourceWrapper.WriteOutput(35, 5, _finishskull2);
                _sourceWrapper.WriteOutput(73, 0, _finishskull1);

                _sourceWrapper.WriteOutput(35, 3, "Press any Key to leave", ConsoleColor.DarkGreen);
                Console.SetCursorPosition(57, 3);
                var input = _sourceWrapper.ReadKey();
                if (input != null)
                {
                    isFinished = false;
                    _game.SwitchState(new MainMenuState(_game));
                }
            }
        }
示例#2
0
        public void Execute()
        {
            var parser = new Parse();

            parser.AddCommand("/help", OnHelpCommand);
            parser.AddCommand("/closegame", OnCloseGameCommand);
            parser.AddCommand("/rolldice", OnRollDiceCommand);
            parser.SetErrorAction(OnErrorCommand);

            _gameInfoOutput   = _dataProvider.GetText("gameinfo");
            _afterBoardOutput = string.Format(
                _dataProvider.GetText("afterboardinfo"),
                _dataProvider.GetNumberLiteral(_logic.CurrentPlayerID));

            while (isRunning)
            {
                _boardOutput = _game.Board.CreateOutput();
                UpdateOutput();
                _error           = string.Empty;
                _helpOutput      = string.Empty;
                _afterTurnOutput = string.Empty;

                _sourceWrapper.WriteOutput(0, 21, "Type an Command: ", ConsoleColor.DarkGray);
                Console.SetCursorPosition(17, 21);
                var input = _sourceWrapper.ReadInput();
                parser.Execute(input);

                _afterBoardOutput = string.Format(
                    _dataProvider.GetText("afterboardinfo"),
                    _dataProvider.GetNumberLiteral(_logic.CurrentPlayerID));

                _lastInput = input;
            }
        }
        public void Execute()
        {
            while (inMenu)
            {
                Console.BackgroundColor = ConsoleColor.Black;
                var parser = new Parse();
                parser.AddCommand("/startgame", OnStartGameCommand);
                parser.AddCommand("/closegame", OnCloseGameCommand);
                parser.AddCommand("/classic", OnClassicCommand);
                parser.SetErrorAction(OnErrorCommand);

                _mainMenuOutput = _dataProvider.GetText("mainmenuinfo");


                while (ruleNotSet)
                {
                    UpdateOutput();
                    _error = string.Empty;

                    _sourceWrapper.WriteOutput(0, 15, "Type an Command: ", ConsoleColor.DarkGray);
                    Console.SetCursorPosition(17, 15);
                    var input = _sourceWrapper.ReadInput();

                    _lastInput = input;
                    rulesname  = input;
                    parser.Execute(input);
                }
                while (gameNotStarted)
                {
                    UpdateOutput();
                    _error = string.Empty;

                    _sourceWrapper.WriteOutput(0, 17, "Type an Command: ", ConsoleColor.DarkGray);
                    Console.SetCursorPosition(17, 17);
                    var input = _sourceWrapper.ReadInput();

                    _lastInput = input;
                    parser.Execute(input);
                }
            }
        }