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);
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 public MoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks, PieceType pieceType)
 {
     this.gameState           = gameState;
     this.pregeneratedAttacks = pregeneratedAttacks;
     this.pieceType           = pieceType;
 }
Beispiel #4
0
 public KnightMoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks) : base(gameState, pregeneratedAttacks, PieceType.Knight)
 {
 }
Beispiel #5
0
 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)
 {
 }
Beispiel #8
0
 public BishopMoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks) : base(gameState, pregeneratedAttacks, PieceType.Bishop)
 {
 }
Beispiel #9
0
 public OpeningBook(PregeneratedAttacksData pregeneratedAttacks, ZobristHashUtils zobristHashUtils)
 {
     this.zobristHashUtils    = zobristHashUtils;
     this.pregeneratedAttacks = pregeneratedAttacks;
 }
Beispiel #10
0
 public RookMoveGenerator(GameState gameState, PregeneratedAttacksData pregeneratedAttacks) : base(gameState, pregeneratedAttacks, PieceType.Rook)
 {
 }