private int CountActualValue(JumpNode node) { var lastMove = node.LastMove; _acutalMoves.Push(lastMove); _performMoves.Perform(lastMove); return(_valueOfGraph.GetValue(node.ActualGraph)); }
public PickBestValueNodeVisitor(TargetBorder targetBorder, IFieldsGraph graphCopy, IPerformMoves performMoves) { _targetBorder = targetBorder; _valueOfGraph = new WhiteStoneToBorderDistanceValue(targetBorder); _graphCopy = graphCopy; _performMoves = performMoves; CurrentMaxValue = _valueOfGraph.GetValue(_graphCopy); MaxUpdated += () => { }; }
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); }