public static GameState Build(string fen = null) { PregeneratedAttacksData pregeneratedAttacks = new PregeneratedAttacksData(); ZobristHashUtils zobristHashUtils = new ZobristHashUtils(); pregeneratedAttacks.Initialize(); GameState gameState = fen == null ? new GameState(pregeneratedAttacks, zobristHashUtils) : new GameState(fen, pregeneratedAttacks, zobristHashUtils); return(gameState); }
public GameState(string fen, PregeneratedAttacksData pregeneratedAttacks, ZobristHashUtils zobristHashUtils) { PregeneratedAttacks = pregeneratedAttacks; ZobristHashUtils = zobristHashUtils; moveGeneratorBuilder = new MoveGeneratorBuilder(this, PregeneratedAttacks); for (int i = 0; i < 6; i++) { MoveGenerators[i] = moveGeneratorBuilder.Build((PieceType)i); } LoadPosition(fen); }
public MoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks, PieceType pieceType) { this.gameState = gameState; this.pregeneratedAttacks = pregeneratedAttacks; this.pieceType = pieceType; }
public KnightMoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks) : base(gameState, pregeneratedAttacks, PieceType.Knight) { }
public GameState(PregeneratedAttacksData pregeneratedAttacks, ZobristHashUtils zobristHashUtils) : this(DEFAULT_FEN, pregeneratedAttacks, zobristHashUtils) { }
public MoveGeneratorBuilder(GameState gameState, PregeneratedAttacksData pregeneratedAttacks) { this.gameState = gameState; this.pregeneratedAttacks = pregeneratedAttacks; }
public QueenMoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks) : base(gameState, pregeneratedAttacks, PieceType.Queen) { }
public BishopMoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks) : base(gameState, pregeneratedAttacks, PieceType.Bishop) { }
public OpeningBook(PregeneratedAttacksData pregeneratedAttacks, ZobristHashUtils zobristHashUtils) { this.zobristHashUtils = zobristHashUtils; this.pregeneratedAttacks = pregeneratedAttacks; }
public RookMoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks) : base(gameState, pregeneratedAttacks, PieceType.Rook) { }