enum piece {white_pawn, white_rook, white_knight, white_bishop,
white_queen, white_king,
black_pawn, black_rook, black_knight, black_bishop,
black_queen, black_king};
void newGame(); // Initialize the board with
pieces in their starting locations
bool isLegal(int from, int to); // True if it is legal to move
the piece at "from" to location "to".
void move(int from, int to); // Execute move if legal
void promote(int from, piece promoteTo); // Move a pawn to the 8th
rank and promote
void resign() // Player resigns
bool whiteIsInCheck(); // True if white is in check
bool blackIsInCheck(); // True if black is in check
bool whiteIsCheckmated(); // True if white king is checkmated
bool blackIsCheckmated(); // True if black king is checkmated
bool isStalemate(); // True if player has no legal
move on his turn
bool isDraw(); // True if game is a draw
piece getPiece(int location); // Return the piece at a location
bool whitesTurn(); // Return true if it is white's
turn
int moveNumber(); // Number of moves made in the
game
And if you want the computer to be able to play against a human:
void makeComputersMove(); // Selects a move and calls move (or
promote)
int score(int from, int to, int depth); // Called by
makeComputersMove to score a move looking ahead to the requested depth
I could be missing something. Anything else that would be necessary or
useful?
Don
On Sep 7, 2:17 am, guna sekaran <[email protected]> wrote:
> Funtions that should be used to implemnt chess board movements which
> covers all concepts of cpp( no need of implementation. Just names of
> methods enough)
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.