3 Copyright (c) Scott Gasch
11 Chess piece related code.
19 $Id: piece.c 345 2007-12-02 22:56:42Z scott $
25 PIECE_DATA g_PieceData[] =
27 // piece value piece value / 100 invert value piece name
29 { VALUE_PAWN, (VALUE_PAWN / 100), INVERT_PAWN, "PAWN" },
30 { VALUE_KNIGHT, (VALUE_KNIGHT / 100), INVERT_KNIGHT, "KNIGHT" },
31 { VALUE_BISHOP, (VALUE_BISHOP / 100), INVERT_BISHOP, "BISHOP" },
32 { VALUE_ROOK, (VALUE_ROOK / 100), INVERT_ROOK, "ROOK" },
33 { VALUE_QUEEN, (VALUE_QUEEN / 100), INVERT_QUEEN, "QUEEN" },
34 { VALUE_KING, 100, INVERT_KING, "KING" },
42 static char _PieceAbbrev[] =
44 '-', 'p', 'n', 'b', 'r', 'q', 'k', '\0'
48 if (!IS_VALID_PIECE(p))
50 buf[0] = buf[1] = '?';
55 buf[1] = _PieceAbbrev[PIECE_TYPE(p)];
56 if (PIECE_COLOR(p) == WHITE)
59 buf[1] = (char)toupper(buf[1]);
71 PieceValueOver100(PIECE p)
73 return(PIECE_VALUE_OVER_100(p));
79 return(PIECE_VALUE(p));
83 PieceInvertedValue(PIECE p)
85 return(INVERTED_PIECE_VALUE(p));