public WaitingForPlayerMoveState(IPhutballBoard phutballBoard, MovesHistory movesHistory, IPlayersState playersState)
 {
     _phutballBoard = phutballBoard;
     _movesHistory = movesHistory;
     _playersState = playersState;
     _performMoves = new PerformMoves(phutballBoard, playersState);
 }
Ejemplo n.º 2
0
 public PhutballBoardModel(IPhutballBoard phutballBoard, IEventPublisher eventPublisher, IPhutballOptions phutballOptions)
 {
     _phutballBoard = phutballBoard;
     _eventPublisher = eventPublisher;
     _phutballOptions = phutballOptions;
     _eventPublisher.Subscribe<PhutballBoardInitialized>(HandleGameInitialized);
     _eventPublisher.Subscribe<PhutballGameStarted>(HandleGameStart);
     _eventPublisher.Subscribe<PhutballGameEnded>(HandleGameEnded);
     _eventPublisher.Subscribe<ComputerStartedMoving>(m=> IsEnabled = false);
     _eventPublisher.Subscribe<ComputerStopedMoving>(m=> IsEnabled = true);
     _eventPublisher.Subscribe<PhutballGameFieldsChanged>(HandleGameFieldsChanged);
 }
 public PlayerSelectedFieldStateMove(
     IPhutballBoard phutballBoard,
     IPlayersState playersState,
     Field selectedField,
     MovesHistory movesHistory)
 {
     _phutballBoard = phutballBoard;
     _movesHistory = movesHistory;
     _playersState = playersState;
     _performMoves = new PerformMoves(phutballBoard, _playersState);
     _selectedField = selectedField;
 }
Ejemplo n.º 4
0
 public PhutballGameState(
     IEventPublisher eventPublisher,
     IPhutballBoard phutballBoard,
     IPlayersState playersState,
     BestMoveApplier bestMoveApplier,
     Func <IHandlePlayerMoves> handlePlayerMovesFactory)
 {
     _currentState             = PhutballGameStateEnum.NotStarted;
     _eventPublisher           = eventPublisher;
     _phutballBoard            = phutballBoard;
     _playersState             = playersState;
     _bestMoveApplier          = bestMoveApplier;
     _handlePlayerMovesFactory = handlePlayerMovesFactory;
     _handlePlayerMoves        = handlePlayerMovesFactory();
     _eventPublisher.Subscribe <PlayerWonEvent>((e) => CurrentPlayerWon());
     _eventPublisher.Subscribe <PlayerOnTheMoveChanged>(OnPlayerOnTheMoveChanged);
     _eventPublisher.Subscribe <ComputerStartedMoving>((e) => LongRunningProcess.Clear());
 }
Ejemplo n.º 5
0
 public PhutballGameState(
     IEventPublisher eventPublisher,
     IPhutballBoard phutballBoard,
     IPlayersState playersState,
     BestMoveApplier bestMoveApplier,
     Func<IHandlePlayerMoves> handlePlayerMovesFactory)
 {
     _currentState = PhutballGameStateEnum.NotStarted;
     _eventPublisher = eventPublisher;
     _phutballBoard = phutballBoard;
     _playersState = playersState;
     _bestMoveApplier = bestMoveApplier;
     _handlePlayerMovesFactory = handlePlayerMovesFactory;
     _handlePlayerMoves = handlePlayerMovesFactory();
     _eventPublisher.Subscribe<PlayerWonEvent>((e)=> CurrentPlayerWon());
     _eventPublisher.Subscribe<PlayerOnTheMoveChanged>(OnPlayerOnTheMoveChanged);
     _eventPublisher.Subscribe<ComputerStartedMoving>((e)=> LongRunningProcess.Clear());
 }