Implement S-Chess
[capablanca.git] / lasker-2.2.3 / src / board.h
index c1aa22f..611ff80 100644 (file)
@@ -65,6 +65,9 @@
 #define EMPRESS 34
 #define AMAZON 35
 #define KING 36
+#define HAWK 37
+#define SELEPHANT 38
+#define PIECES 39
 
 #define MAX_BOARD_STRING_LENGTH 1280   /* Abitrarily 80 * 16 */
 #define MAX_STYLES 13
 #define W_MASTODON (MASTODON | WHITE)
 #define W_MAN2 (MAN2 | WHITE)
 #define W_NIGHTRIDER (NIGHTRIDER | WHITE)
+#define W_HAWK (HAWK | WHITE)
+#define W_SELEPHANT (SELEPHANT | WHITE)
 
 #define B_PAWN (PAWN | BLACK)
 #define B_KNIGHT (KNIGHT | BLACK)
 #define B_MASTODON (MASTODON | BLACK)
 #define B_MAN2 (MAN2 | BLACK)
 #define B_NIGHTRIDER (NIGHTRIDER | BLACK)
+#define B_HAWK (HAWK | BLACK)
+#define B_SELEPHANT (SELEPHANT | BLACK)
 
 #define isblack(p) ((p) & BLACK)
 #define iswhite(p) (!isblack(p))
 #define colorval(p) ((p) & 0x80)
 #define square_color(r,f) ((((r)+(f)) & 0x01) ? BLACK : WHITE)
 
-extern int pieceValues[KING+1];
+extern int pieceValues[PIECES];
 
 #define BW 12
 #define BH 10
@@ -156,7 +163,7 @@ typedef int board_t[BW][BH];
 GENSTRUCT struct game_state_t {
        int board[BW][BH];
        /* for bughouse */
-       int holding[2][KING];
+       int holding[2][PIECES];
        /* For castling */
        char wkmoved, wqrmoved, wkrmoved;
        char bkmoved, bqrmoved, bkrmoved;