* FILE: genmove.c
*
* ----------------------------------------------------------------------
- *
- * 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
switch (p)
{
case pawn:
+#ifndef MINISHOGI
case lance:
case knight:
+#endif
case silver:
case bishop:
case rook:
: (generate_move_flags ? ILLEGAL_TRAPPED : false));
}
+#ifndef MINISHOGI
case lance:
if (color == black)
{
? true
: (generate_move_flags ? ILLEGAL_TRAPPED : false));
}
+#endif
}
return true;
/* CHECKME: is this right? */
if (((rvupiece == rvuboard) && (upiece == pawn))
- || (upiece == bishop) || (upiece == knight))
+ || (upiece == bishop)
+#ifndef MINISHOGI
+ || (upiece == knight)
+#endif
+ )
{
s++; /* The opposing pawn (piece) */
{
#ifdef TESUJIBONUS
/* Look at non-promoting silver or knight */
- if (piece == silver || piece == knight)
+ if (piece == silver
+#ifndef MINISHOGI
+ || piece == knight
+#endif
+ )
{
local_flag |= tesuji; /* Non-promotion */
s++;
GenUnmakeMove(side, f, sq, tempb, tempc, false);
}
}
+#ifndef MINISHOGI
else if (piece == lance)
{
if ((side == black) && (r == 8))
else if ((side == white) && (r <= 1))
possible = (generate_move_flags ? ILLEGAL_TRAPPED : false);
}
+#endif
return possible;
}
if (board[square = PieceList[side][0]] != king)
return;
- for (piece = lance; piece <= rook; piece++) /* FIXME */
+ for (piece = pawn+1; piece <= rook; piece++)
{
- if (piece == lance || piece == bishop || piece == rook)
+ if (
+#ifndef MINISHOGI
+ piece == lance ||
+#endif
+ piece == bishop || piece == rook)
{
/* check for threat of xside piece */
ptyp = ptype[side][piece];
* Drops are restricted for pawns, lances, and knights.
*/
- if (piece > knight)
+ if (piece >= silver)
break;
}
}