コード例 #1
0
 private IrrevState(ZobristHashUtils zobristHashUtils, bool[,] castlingAllowed, ulong zobristHash, int halfmoveClock, int pliesFromNull)
 {
     this.zobristHashUtils = zobristHashUtils;
     CastlingAllowed       = castlingAllowed;
     ZobristHash           = zobristHash;
     HalfmoveClock         = halfmoveClock;
     PliesFromNull         = pliesFromNull;
 }
コード例 #2
0
ファイル: GameState.cs プロジェクト: Royar13/artemis-chess
        public void MakeNullMove()
        {
            IrrevState irrevState = GetIrrevState().CopyBeforeMove();

            IrrevStates.Add(irrevState);
            ChangeTurn();
            ZobristHashUtils.UpdateTurn(ref GetIrrevState().ZobristHash);
            irrevState.PliesFromNull = 0;
        }
コード例 #3
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);
        }
コード例 #4
0
ファイル: GameState.cs プロジェクト: Royar13/artemis-chess
 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);
 }
コード例 #5
0
 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;
 }
コード例 #6
0
ファイル: GameState.cs プロジェクト: Royar13/artemis-chess
 public GameState(PregeneratedAttacksData pregeneratedAttacks, ZobristHashUtils zobristHashUtils) : this(DEFAULT_FEN, pregeneratedAttacks, zobristHashUtils)
 {
 }
コード例 #7
0
 public IrrevState(ZobristHashUtils zobristHashUtils)
 {
     this.zobristHashUtils = zobristHashUtils;
 }
コード例 #8
0
ファイル: OpeningBook.cs プロジェクト: Royar13/artemis-chess
 public OpeningBook(PregeneratedAttacksData pregeneratedAttacks, ZobristHashUtils zobristHashUtils)
 {
     this.zobristHashUtils    = zobristHashUtils;
     this.pregeneratedAttacks = pregeneratedAttacks;
 }