* Main header file for GNU Shogi.
*
* ----------------------------------------------------------------------
- *
- * Copyright (c) 2012 Free Software Foundation
+ * Copyright (c) 1993, 1994, 1995 Matthias Mutz
+ * Copyright (c) 1999 Michael Vanier and the Free Software Foundation
*
* GNU SHOGI is based on GNU CHESS
*
+ * Copyright (c) 1988, 1989, 1990 John Stanback
+ * Copyright (c) 1992 Free Software Foundation
+ *
* This file is part of GNU SHOGI.
*
* GNU Shogi is free software; you can redistribute it and/or modify it
#define NO_PIECES 15
#define MAX_CAPTURED 19
#define NO_PTYPE_PIECES 15
-#define NO_SQUARES 81
-#define NO_SQUARES_1 80
#define NO_COLS 9
#define NO_ROWS 9
+#define NO_SQUARES (NO_COLS*NO_ROWS)
+
+#define ROW_NAME(n) ('a' + NO_ROWS - 1 - n)
+#define COL_NAME(n) ('1' + NO_COLS - 1 - n)
#if defined HASHFILE || defined CACHE
# define PTBLBDSIZE (NO_SQUARES + NO_PIECES)
king
};
+/* move types */
enum {
ptype_no_piece = 0,
ptype_pawn = 0,
extern short rpthash[2][256];
extern char *DRAW;
-/*
- * FIXME: these should be more generic instead of using the
- * magic number 9.
- */
-
-#define row(a) ((a) / 9)
-#define column(a) ((a) % 9)
-#define locn(a, b) (((a) * 9) + b)
+#define row(a) ((a) / NO_COLS)
+#define column(a) ((a) % NO_COLS)
+#define locn(a, b) (((a) * NO_COLS) + b)
/* init external functions */
extern void InitConst(char *lang); /* init.c */