* ----------------------------------------------------------------------
* 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
*
void
Curses_EditBoard(void)
{
- short a, c, sq, i;
+ short a, c, sq, i, found;
short r = 0;
char s[80];
gotoXY(TAB + 24, 7);
ClearEoln();
FLUSH_SCANW("%s", s);
+ found = 0;
if (s[0] == '#')
{
for (i = NO_PIECES; i > no_piece; i--)
{
if ((s[0] == pxx[i]) || (s[0] == qxx[i]))
+ {
+ Captured[a][unpromoted[i]]++;
+ UpdateCatched();
+ found = 1;
break;
+ }
}
- Captured[a][unpromoted[i]]++;
- UpdateCatched();
c = -1;
}
else
{
- c = COL_NAME(s[1]);
- r = ROW_NAME(s[2]);
+ c = COL_NUM(s[1]);
+ r = ROW_NUM(s[2]);
}
if ((c >= 0) && (c < NO_COLS) && (r >= 0) && (r < NO_ROWS))
{
sq = locn(r, c);
-
+ color[sq] = a;
+ board[sq] = no_piece;
+
for (i = NO_PIECES; i > no_piece; i--)
{
if ((s[0] == pxx[i]) || (s[0] == qxx[i]))
+ {
+ if (s[3] == '+')
+ board[sq] = promoted[i];
+ else
+ board[sq] = unpromoted[i];
+
+ found = 1;
break;
+ }
}
+
- if (s[3] == '+')
- i = promoted[i];
- else
- i = unpromoted[i];
+ if (found == 0)
+ color[sq] = neutral;
- board[sq] = i;
- color[sq] = ((board[sq] == no_piece) ? neutral : a);
DrawPiece(sq);
}
}