示例#1
0
 public JumpNode FollowedBy(IPhutballMove newMove)
 {
     return(new JumpNode(ActualGraph, newMove)
     {
         MovesFromRoot = MovesFromRoot.FollowedBy(newMove)
     });
 }
示例#2
0
 public void PerformAndStore(Func<IPerformMoves> movePerfomer, IPhutballMove move)
 {
     var item = MoveHistoryItem.Item(movePerfomer, move);
     item.Perform();
     _done.Add(item);
     _undone.Clear();
 }
示例#3
0
 public JumpNode FollowedBy(IPhutballMove newMove)
 {
     return new JumpNode(ActualGraph, newMove)
                {
                    MovesFromRoot = MovesFromRoot.FollowedBy(newMove)
                };
 }
示例#4
0
 public static MoveHistoryItem Item(Func<IPerformMoves> movePerfomer, IPhutballMove move)
 {
     return new MoveHistoryItem
                {
                    Performer = movePerfomer,
                    Move = move
                };
 }
示例#5
0
        public void PerformAndStore(Func <IPerformMoves> movePerfomer, IPhutballMove move)
        {
            var item = MoveHistoryItem.Item(movePerfomer, move);

            item.Perform();
            _done.Add(item);
            _undone.Clear();
        }
示例#6
0
 public void Undo(IPhutballMove moveToUndo)
 {
     moveToUndo.Undo(new PhutballMoveContext(_callbackPerformer)
     {
         FieldsUpdater = _fieldsUpdater,
         SwitchPlayer  = _playersState
     });
 }
示例#7
0
 public void Perform(IPhutballMove moveToPerform)
 {
     moveToPerform.Perform(new PhutballMoveContext(_callbackPerformer)
                               {
                                   FieldsUpdater = _fieldsUpdater,
                                   SwitchPlayer = _playersState
                               });
 }
示例#8
0
 public void Undo(IPhutballMove moveToUndo)
 {
     moveToUndo.Undo(new PhutballMoveContext(_callbackPerformer)
                         {
                             FieldsUpdater = _fieldsUpdater,
                             SwitchPlayer = _playersState
                         });
 }
示例#9
0
 public void Perform(IPhutballMove moveToPerform)
 {
     moveToPerform.Perform(new PhutballMoveContext(_callbackPerformer)
     {
         FieldsUpdater = _fieldsUpdater,
         SwitchPlayer  = _playersState
     });
 }
示例#10
0
 public static MoveHistoryItem Item(Func <IPerformMoves> movePerfomer, IPhutballMove move)
 {
     return(new MoveHistoryItem
     {
         Performer = movePerfomer,
         Move = move
     });
 }
示例#11
0
 public BoardJumpTree(IFieldsGraph actualGraph, IPhutballMove moveToApply, ITree <JumpNode> parent)
 {
     Parent          = parent;
     Node            = new JumpNode(actualGraph, moveToApply);
     _jumpersFactory = new JumpersFactory(actualGraph);
 }
示例#12
0
 protected override void Because()
 {
     _bestMove = Sut.Search(_fieldsGraph).Move;
 }
示例#13
0
 public static IPhutballMove FollowedBy(this IPhutballMove left, IPhutballMove right)
 {
     return(new CompositeMove(left, right));
 }
示例#14
0
 public PhutballMoveScore(IPhutballMove move, int score)
 {
     Move = move;
     Score = score;
 }
示例#15
0
 public PhutballMoveScore(IPhutballMove move, int score)
 {
     Move  = move;
     Score = score;
 }
示例#16
0
 public void Undo(IPhutballMove moveToUndo)
 {
 }
示例#17
0
 public void Add(IPhutballMove move)
 {
     _moves.Add(move);
 }
示例#18
0
 public void Add(IPhutballMove move)
 {
     _moves.Add(move);
 }
示例#19
0
 public JumpNode(IFieldsGraph sourceGraph, IPhutballMove moveToApply)
 {
     ActualGraph   = sourceGraph;
     LastMove      = moveToApply;
     MovesFromRoot = new EmptyPhutballMove();
 }
示例#20
0
 public void Perform(IPhutballMove moveToPerform)
 {
 }
示例#21
0
 public void Perform(IPhutballMove moveToPerform)
 {
 }
示例#22
0
 public void Undo(IPhutballMove moveToUndo)
 {
 }
示例#23
0
 public JumpNode(IFieldsGraph sourceGraph, IPhutballMove moveToApply)
 {
     ActualGraph = sourceGraph;
     LastMove = moveToApply;
     MovesFromRoot = new EmptyPhutballMove();
 }
示例#24
0
 public PhutballMoveScore FollowedBy(IPhutballMove phutballMove)
 {
     return new PhutballMoveScore(Move.FollowedBy(phutballMove), Score);
 }
示例#25
0
 public static IPhutballMove FollowedBy(this IPhutballMove left, IPhutballMove right)
 {
     return new CompositeMove(left, right);
 }
示例#26
0
 public PhutballMoveScore FollowedBy(IPhutballMove phutballMove)
 {
     return(new PhutballMoveScore(Move.FollowedBy(phutballMove), Score));
 }