Example #1
0
        private int CountActualValue(JumpNode node)
        {
            var lastMove = node.LastMove;

            _acutalMoves.Push(lastMove);
            _performMoves.Perform(lastMove);
            return(_valueOfGraph.GetValue(node.ActualGraph));
        }
Example #2
0
 public PickBestValueNodeVisitor(TargetBorder targetBorder, IFieldsGraph graphCopy, IPerformMoves performMoves)
 {
     _targetBorder   = targetBorder;
     _valueOfGraph   = new WhiteStoneToBorderDistanceValue(targetBorder);
     _graphCopy      = graphCopy;
     _performMoves   = performMoves;
     CurrentMaxValue = _valueOfGraph.GetValue(_graphCopy);
     MaxUpdated     += () => { };
 }
Example #3
0
        public void Put(ITree <JumpNode> item)
        {
            var jumpNode = item.Node;

            _performMoves.Perform(jumpNode.LastMove);
            var value = _valueOfGraph.GetValue(jumpNode.ActualGraph);

            _inner.Add(value, item);
            _performMoves.Undo(jumpNode.LastMove);
        }