switch (mode) {
case 0:
*getcell (board, *x, *y) = '.';
- *getcell (board, *x + 1, *y - 1) = '.';
+ *getcell (board, *x + 1, *y - 1) = '/';
*getcell (board, *x + 2, *y - 2) = symb;
*x += 2;
*y -= 2;
break;
case 1:
*getcell (board, *x, *y) = '.';
- *getcell (board, *x - 1, *y - 1) = '.';
+ *getcell (board, *x - 1, *y - 1) = '/';
*getcell (board, *x - 2, *y - 2) = symb;
*x -= 2;
*y -= 2;
break;
case 2:
*getcell (board, *x, *y) = '.';
- *getcell (board, *x - 1, *y + 1) = '.';
+ *getcell (board, *x - 1, *y + 1) = '/';
*getcell (board, *x - 2, *y + 2) = symb;
*x -= 2;
*y += 2;
break;
case 3:
*getcell (board, *x, *y) = '.';
- *getcell (board, *x + 1, *y + 1) = '.';
+ *getcell (board, *x + 1, *y + 1) = '/';
*getcell (board, *x + 2, *y + 2) = symb;
*x += 2;
*y += 2;
}
}
+void cleanafterjump (board_t *board)
+{
+ int i, j;
+ for (i = 0; i < board->width; i++) {
+ for (j = 0; j < board->height; j++) {
+ char *cell = getcell (board, i, j);
+ if (*cell == '/') {
+ *cell = '.';
+ }
+ }
+ }
+}
+
int testjump (board_t *board, int x, int y, int mode)
{
int ret = 0;
void dopetmove (board_t *board, int *x, int *y, int mode);
+void cleanafterjump (board_t *board);
+
int testjump (board_t *board, int x, int y, int mode);
int testalljumps (board_t *board, int x, int y);