* FILE: book.c
*
* ----------------------------------------------------------------------
- *
- * Copyright (c) 2012 Free Software Foundation
+ * Copyright (c) 1993, 1994, 1995 Matthias Mutz
+ * Copyright (c) 1999 Michael Vanier and the Free Software Foundation
+ * Copyright (c) 2008, 2013, 2014 Yann Dirson 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
short piece = flag & pmask;
bmvstr[0][0] = pxx[piece];
bmvstr[0][1] = '*';
- bmvstr[0][2] = cxx[column(t)];
- bmvstr[0][3] = rxx[row(t)];
+ bmvstr[0][2] = COL_NAME(column(t));
+ bmvstr[0][3] = ROW_NAME(row(t));
bmvstr[0][4] = bmvstr[2][0] = '\0';
strcpy(bmvstr[1], bmvstr[0]);
bmvstr[1][1] = '\'';
/* algebraic notation */
/* bmvstr[0]: 7g7f bmvstr[1]:
* (+)P7g7f(+) bmvstr[2]: (+)P7f(+) */
- bmvstr[0][0] = cxx[column(f)];
- bmvstr[0][1] = rxx[row(f)];
- bmvstr[0][2] = cxx[column(t)];
- bmvstr[0][3] = rxx[row(t)];
+ bmvstr[0][0] = COL_NAME(column(f));
+ bmvstr[0][1] = ROW_NAME(row(f));
+ bmvstr[0][2] = COL_NAME(column(t));
+ bmvstr[0][3] = ROW_NAME(row(t));
bmvstr[0][4] = '\0';
if (promoted)
UnmakeMove(opponent, &xnode, &tempb, &tempc, &tempsf, &tempst);
/* Illegal move in check */
#if !defined QUIETBOOKGEN
- /* 077: "Illegal move (in check) %s" */
- puts(CP[77]);
+ puts("Illegal move (in check) %s");
bkdisplay(s, cnt, moveno);
#endif
return false;
/* Illegal move */
#if !defined QUIETBOOKGEN
- /* 075: "Illegal move (no match)%s\n" */
- printf(CP[75], s);
+ printf("Illegal move (no match) %s\n", s);
bkdisplay(s, cnt, moveno);
#endif
return false;
static
int
-Vparse (FILE * fd, USHORT *mv, USHORT *flags, USHORT side, int moveno)
+Vparse (FILE * fd, USHORT *mv, USHORT *flags, int moveno)
{
int c, i;
char s[255];
{
short i;
int mustwrite = false, first;
- unsigned short xside, side;
+ unsigned short side;
short c;
USHORT mv, flags;
unsigned int x;
{
/* setvbuf(fd, buffr, _IOFBF, 2048); */
side = black;
- xside = white;
hashbd = hashkey = 0;
i = 0;
- while ((c = Vparse(fd, &mv, &flags, side, i)) >= 0)
+ while ((c = Vparse(fd, &mv, &flags, i)) >= 0)
{
if (c == 1)
{
computer = opponent;
opponent = computer ^ 1;
- xside = side;
side = side ^ 1;
}
else if (i > 0)
RESET();
i = 0;
side = black;
- xside = white;
-
}
}
}
- /* 213: "Book used %d(%d)." */
- sprintf(msg, CP[213], B.bookcount, B.booksize);
- ShowMessage(msg);
+ sprintf(msg, "Book used %lu(%lu).", B.bookcount, B.booksize);
+ dsp->ShowMessage(msg);
}
/* Set everything back to start the game. */
/* Now get ready to play .*/
if (!B.bookcount)
{
- /* 212: "Can't find book." */
- ShowMessage(CP[212]);
+ dsp->ShowMessage("Can't find book.");
Book = 0;
}
}
/*
- * OpeningBook(hint, side)
+ * OpeningBook(hint)
*
* Go through each of the opening lines of play and check for a match with
* the current game listing. If a match occurs, generate a random
*/
int
-OpeningBook(unsigned short *hint, short side)
+OpeningBook(unsigned short *hint)
{
unsigned short r, m;
int possibles = TrPnt[2] - TrPnt[1];