public AllAlternatigJumpsTreeCollection(IJumpNodeTreeWithFactory parent, IAlphaBetaOptions alphaBetaOptions, ISearchNodeVisitor <JumpNode> afterMoveVisitor) { _alphaBetaOptions = alphaBetaOptions; _afterMoveVisitor = afterMoveVisitor; Parent = parent; _parentJumpNode = Parent.Node; }
public AlphaBetaSearch(IValueOf <T> valuer, IAlphaBetaOptions maxDepth, ISearchNodeVisitor <T> nodeVisitor) { _valuer = valuer; _maxDepth = maxDepth.SearchDepth; _depthCounter = new DepthCounterNodeVisitor <T>(); _nodeVisitor = _depthCounter.FollowedBy(nodeVisitor); }
public AlphaBetaMoveFindingStrategy(IPlayersState playersState, IAlphaBetaOptions alphaBetaSearchDepth, Func< IFieldsGraph,IJumpNodeTree> movesFactory ) { _playersState = playersState; _alphaBetaSearchDepth = alphaBetaSearchDepth; _movesFactory = movesFactory; }
public AlphaBetaMoveFindingStrategy(IPlayersState playersState, IAlphaBetaOptions alphaBetaSearchDepth, Func <IFieldsGraph, IJumpNodeTree> movesFactory ) { _playersState = playersState; _alphaBetaSearchDepth = alphaBetaSearchDepth; _movesFactory = movesFactory; }
public TowardsTargetBorderStonePlacer(IAlphaBetaOptions alphaBetaOptions) { _alphaBetaOptions = alphaBetaOptions; _allUpper = Direction.AllUpper.Take(5) .Concat(new[]{ Direction.N.Multiply(2).Add(Direction.W), Direction.N.Multiply(2).Add(Direction.E) }) .Shuffle(); _allBottom = Direction.AllBottom.Take(5) .Concat(new[] { Direction.S.Multiply(2).Add(Direction.W), Direction.S.Multiply(2).Add(Direction.E) }) .Shuffle(); }
public TowardsTargetBorderStonePlacer(IAlphaBetaOptions alphaBetaOptions) { _alphaBetaOptions = alphaBetaOptions; _allUpper = Direction.AllUpper.Take(5) .Concat(new[] { Direction.N.Multiply(2).Add(Direction.W), Direction.N.Multiply(2).Add(Direction.E) }) .Shuffle(); _allBottom = Direction.AllBottom.Take(5) .Concat(new[] { Direction.S.Multiply(2).Add(Direction.W), Direction.S.Multiply(2).Add(Direction.E) }) .Shuffle(); }
public FirstJumpThenPlaceStones(IJumpNodeTreeWithFactory parent, IAlphaBetaOptions options, IPlayersState playerState) { _parent = parent; _options = options; _playerState = playerState; }
public JumpCollectWhiteStonePlacesThenPutBlack(IJumpNodeTreeWithFactory parent, IAlphaBetaOptions options, IPlayersState playerState) { _parent = parent; _options = options; _playerState = playerState; }
public AllAlternatigJumpsTreeCollection(IJumpNodeTreeWithFactory parent, IAlphaBetaOptions alphaBetaOptions) : this(parent, alphaBetaOptions, new EmptyNodeVisitor <JumpNode>()) { }