namespace Alice { class BitboardIterator; class Bitboard { public: typedef BitboardIterator Iterator; Bitboard( unsigned long long n = 0ull); ~Bitboard(); //operator unsigned long long() const; Bitboard& operator|=( const Bitboard& b ); Bitboard& operator&=( const Bitboard& b ); Bitboard operator~( ) const; ... private: unsigned long long number; static std::vector<unsigned long long> setMask; static std::vector<unsigned long long> clearMask; ... static Bitboard fileAttacks[256][64]; static Bitboard rankAttacks[256][64] ; static Bitboard upDiagonalAttacks[256][64]; static Bitboard downDiagonalAttacks[256][64] ; ... }; };
an experimental open source chess engine under the GNU General Public License written by Sven Reichard in C++, compliant with the Chess Engine Communication Protocol. Alice is an object oriented program developed under GCC and Linux. The board is a vector of 64 pointers to pieces, while piece is an abstract class, with intermediate subclasses for common piece properties such as sliding versus none sliding pieces, and finally instantiable subclasses for the concrete pieces, like Pawn, Rook, etc., and "null pieces" for the empty squares [1]. Jim Ablett provides recent compiles for 32/64-bit Windows and Linux [2].
Table of Contents
Bitboards
Alice is an object oriented Bitboard engine, applying Rotated Bitboards to determine sliding piece attacks. Size of of the encapsulated Bitboard class is 8 by unsigned long long number [4].See also
Forum Posts
External Links
Chess Engine
Misc
References
What links here?
Up one Level