コード例 #1
0
 public WaitingForPlayerMoveState(IPhutballBoard phutballBoard, MovesHistory movesHistory, IPlayersState playersState)
 {
     _phutballBoard = phutballBoard;
     _movesHistory = movesHistory;
     _playersState = playersState;
     _performMoves = new PerformMoves(phutballBoard, playersState);
 }
コード例 #2
0
 public WaitingForPlayerMoveState(IPhutballBoard phutballBoard, MovesHistory movesHistory, IPlayersState playersState)
 {
     _phutballBoard = phutballBoard;
     _movesHistory  = movesHistory;
     _playersState  = playersState;
     _performMoves  = new PerformMoves(phutballBoard, playersState);
 }
コード例 #3
0
 public BestMoveApplier(IMoveFinders moveFinders,  MovesHistory movesHistory, IFieldsGraph fieldsGraph, IPerformMoves performMoves, IEventPublisher eventPublisher)
 {
     _moveFinders = moveFinders;
     _eventPublisher = eventPublisher;
     _performMoves = performMoves;
     _movesHistory = movesHistory;
     _fieldsGraph = fieldsGraph;
 }
コード例 #4
0
 public BestMoveApplier(IMoveFinders moveFinders, MovesHistory movesHistory, IFieldsGraph fieldsGraph, IPerformMoves performMoves, IEventPublisher eventPublisher)
 {
     _moveFinders    = moveFinders;
     _eventPublisher = eventPublisher;
     _performMoves   = performMoves;
     _movesHistory   = movesHistory;
     _fieldsGraph    = fieldsGraph;
 }
コード例 #5
0
 public PickBestValueNodeVisitor(TargetBorder targetBorder, IFieldsGraph graphCopy, IPerformMoves performMoves)
 {
     _targetBorder   = targetBorder;
     _valueOfGraph   = new WhiteStoneToBorderDistanceValue(targetBorder);
     _graphCopy      = graphCopy;
     _performMoves   = performMoves;
     CurrentMaxValue = _valueOfGraph.GetValue(_graphCopy);
     MaxUpdated     += () => { };
 }
コード例 #6
0
 public CuttoffPickBestValueNodeVisitor(TargetBorder targetBorder, IFieldsGraph fieldsGraph, IPlayersState playersState)
 {
     _targetBorder  = targetBorder;
     _fieldsGraph   = fieldsGraph;
     MovesPerformer = new PerformMoves(this, playersState);
     PickBestValue  = new PickBestValueNodeVisitor(targetBorder, fieldsGraph, MovesPerformer);
     InitliazeBlackBuckets(fieldsGraph);
     PickBestValue.MaxUpdated += OnBestPositionUpdated;
     _targetBorderRowEndIndex  = _targetBorder.EndRowIndex;
 }
コード例 #7
0
 public PlayerSelectedFieldStateMove(
     IPhutballBoard phutballBoard,
     IPlayersState playersState,
     Field selectedField,
     MovesHistory movesHistory)
 {
     _phutballBoard = phutballBoard;
     _movesHistory  = movesHistory;
     _playersState  = playersState;
     _performMoves  = new PerformMoves(phutballBoard, _playersState);
     _selectedField = selectedField;
 }
コード例 #8
0
 public PlayerSelectedFieldStateMove(
     IPhutballBoard phutballBoard,
     IPlayersState playersState,
     Field selectedField,
     MovesHistory movesHistory)
 {
     _phutballBoard = phutballBoard;
     _movesHistory = movesHistory;
     _playersState = playersState;
     _performMoves = new PerformMoves(phutballBoard, _playersState);
     _selectedField = selectedField;
 }
コード例 #9
0
        protected override void EstablishContext()
        {
            _fieldsGraph  = GraphBuilder().Build();
            _playersState = PlayersState.SecondIsOnTheMove();
            _performMoves = new PerformMoves(_fieldsGraph, new NulloPlayersSwapper());
            var testPhutballOptions = new PhutballOptions
            {
                RowCount    = _fieldsGraph.RowCount,
                ColumnCount = _fieldsGraph.ColumnCount
            };

            _moveFinders = new RawMoveFinders(new MovesFactory(), _playersState, testPhutballOptions);
            ProvideImplementationOf <IPhutballOptions>(testPhutballOptions);
        }
コード例 #10
0
 public PerformMoves(IFieldsUpdater fieldsUpdater, IPlayersSwapper playersState)
 {
     _fieldsUpdater     = fieldsUpdater;
     _playersState      = playersState;
     _callbackPerformer = this;
 }
コード例 #11
0
ファイル: PerformMoves.cs プロジェクト: wobuzhudao/Phutball
 public PerformMoves(IFieldsUpdater fieldsUpdater, IPlayersSwapper playersState)
 {
     _fieldsUpdater = fieldsUpdater;
     _playersState = playersState;
     _callbackPerformer = this;
 }
コード例 #12
0
 public BestValueAddRemoveCollection(IPerformMoves performMoves, IValueOfGraph valueOfGraph)
 {
     _performMoves = performMoves;
     _valueOfGraph = valueOfGraph;
     _inner        = new BinaryHeap <int, ITree <JumpNode> >((left, right) => right - left);
 }
コード例 #13
0
 public PhutballMoveContext(IPerformMoves performMoves)
 {
     PerformMoves = performMoves;
 }
コード例 #14
0
 public PhutballMoveContext(IPerformMoves performMoves)
 {
     PerformMoves = performMoves;
 }
コード例 #15
0
 public PerformMovesNodeVisitor(IPerformMoves performMoves)
 {
     _performMoves = performMoves;
 }