private IrrevState(ZobristHashUtils zobristHashUtils, bool[,] castlingAllowed, ulong zobristHash, int halfmoveClock, int pliesFromNull) { this.zobristHashUtils = zobristHashUtils; CastlingAllowed = castlingAllowed; ZobristHash = zobristHash; HalfmoveClock = halfmoveClock; PliesFromNull = pliesFromNull; }
public void MakeNullMove() { IrrevState irrevState = GetIrrevState().CopyBeforeMove(); IrrevStates.Add(irrevState); ChangeTurn(); ZobristHashUtils.UpdateTurn(ref GetIrrevState().ZobristHash); irrevState.PliesFromNull = 0; }
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); }
private IrrevState(ZobristHashUtils zobristHashUtils, bool[,] castlingAllowed, ulong enPassantCapture, ulong zobristHash, bool?isCheck, int halfmoveClock, int pliesFromNull) { this.zobristHashUtils = zobristHashUtils; CastlingAllowed = castlingAllowed; EnPassantCapture = enPassantCapture; ZobristHash = zobristHash; IsCheck = isCheck; HalfmoveClock = halfmoveClock; PliesFromNull = pliesFromNull; }
public GameState(PregeneratedAttacksData pregeneratedAttacks, ZobristHashUtils zobristHashUtils) : this(DEFAULT_FEN, pregeneratedAttacks, zobristHashUtils) { }
public IrrevState(ZobristHashUtils zobristHashUtils) { this.zobristHashUtils = zobristHashUtils; }
public OpeningBook(PregeneratedAttacksData pregeneratedAttacks, ZobristHashUtils zobristHashUtils) { this.zobristHashUtils = zobristHashUtils; this.pregeneratedAttacks = pregeneratedAttacks; }