public GamePlayer(IGameInput gameInput, IGameOutput gameOutput)
 {
     _gameGrid       = new GameGrid();
     _playerInput    = new PlayerInput(gameInput, gameOutput);
     _gridMaker      = new GridMaker(_playerInput, _gameGrid);
     _gameOutput     = gameOutput;
     _nextGeneration = new NextGeneration();
 }
示例#2
0
        public GameEngine(IBoard board, IMoveProcessor moveProcessor, IAIModule aiModule, IGameInput input, IGameOutput output)
        {
            _board = board;
            this.MoveProcessor = moveProcessor;
            this.MoveProcessor.Board = _board;
            this.AIModule = aiModule;
            this.Input = input;
            this.Output = output;

            this.Input.OnMoveReceived += Input_OnMoveReceived;
        }
 /// <summary>
 /// Creates a new <see cref="TurnBasedBattle"/> instance.
 /// </summary>
 /// <param name="moveProcessor">The move processor.</param>
 /// <param name="actionHistory">The action history.</param>
 /// <param name="gameOutput">The game output.</param>
 /// <param name="characters">The characters in the battle.</param>
 public TurnBasedBattle(
     MoveProcessor moveProcessor,
     IActionHistory actionHistory,
     IGameOutput gameOutput,
     IEnumerable <Character> characters)
 {
     _moveProcessor = moveProcessor;
     _actionHistory = actionHistory;
     _gameOutput    = gameOutput;
     _characters    = characters;
 }
示例#4
0
 public PlayerInput(IGameInput gameInput, IGameOutput gameOutput)
 {
     _gameInput      = gameInput;
     _gameOutput     = gameOutput;
     _inputValidator = new InputValidator();
 }
 /// <summary>
 /// Creates a new <see cref="ConsoleInput"/> instance.
 /// </summary>
 /// <param name="gameOutput">The game output.</param>
 public ConsoleInput(IGameOutput gameOutput)
 {
     _gameOutput = gameOutput;
 }