From 0c1de7b930a0f4bcb7d00532e6c33b078668de30 Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Sat, 25 Jan 2014 21:34:34 +0100 Subject: [PATCH] Do not hardcode squares for camp limits and spare an #ifdef MINISHOGI. --- gnushogi/gnushogi.h | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-) diff --git a/gnushogi/gnushogi.h b/gnushogi/gnushogi.h index 78c052e..6429d1b 100644 --- a/gnushogi/gnushogi.h +++ b/gnushogi/gnushogi.h @@ -170,12 +170,14 @@ extern void movealgbr(short m, char *s); #define NO_PTYPE_PIECES 11 #define NO_COLS 5 #define NO_ROWS 5 +#define NO_CAMP_ROWS 1 #else #define NO_PIECES 15 #define MAX_CAPTURED 19 #define NO_PTYPE_PIECES 15 #define NO_COLS 9 #define NO_ROWS 9 +#define NO_CAMP_ROWS 3 #endif #define NO_SQUARES (NO_COLS*NO_ROWS) @@ -228,13 +230,8 @@ extern void movealgbr(short m, char *s); /* board properties */ -#ifndef MINISHOGI -#define InBlackCamp(sq) ((sq) < 27) -#define InWhiteCamp(sq) ((sq) > 53) -#else -#define InBlackCamp(sq) ((sq) < 5) -#define InWhiteCamp(sq) ((sq) > 19) -#endif +#define InBlackCamp(sq) ((sq) < (NO_COLS * NO_CAMP_ROWS)) +#define InWhiteCamp(sq) ((sq) >= (NO_COLS * (NO_ROWS - NO_CAMP_ROWS))) #define InPromotionZone(side, sq) \ (((side) == black) ? InWhiteCamp(sq) : InBlackCamp(sq)) -- 1.7.0.4