示例#1
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);
                }
            }
        }