int testjump (board_t *board, int x, int y, int mode)
{
- int ret = 0;
+ int ret = (getvalue (board, x, y) == 'X');
switch (mode) {
case 0:
- ret = (getvalue (board, x, y - 1) == 'X') && (getvalue (board, x, y - 2) == 'O');
+ ret &= (getvalue (board, x, y - 1) == 'X') && (getvalue (board, x, y - 2) == 'O');
break;
case 1:
- ret = (getvalue (board, x - 1, y) == 'X') && (getvalue (board, x - 2, y) == 'O');
+ ret &= (getvalue (board, x - 1, y) == 'X') && (getvalue (board, x - 2, y) == 'O');
break;
case 2:
- ret = (getvalue (board, x, y + 1) == 'X') && (getvalue (board, x, y + 2) == 'O');
+ ret &= (getvalue (board, x, y + 1) == 'X') && (getvalue (board, x, y + 2) == 'O');
break;
case 3:
- ret = (getvalue (board, x + 1, y) == 'X') && (getvalue (board, x + 2, y) == 'O');
+ ret &= (getvalue (board, x + 1, y) == 'X') && (getvalue (board, x + 2, y) == 'O');
break;
}
return ret;
}
}
+int endofgame (board_t *board)
+{
+ int i, j, m;
+ for (i = 0; i < board->width; i++) {
+ for (j = 0; j < board->height; j++) {
+ for (m = 0; m < 4; m++)
+ if (testjump (board, i, j, m)) {
+ return 0;
+ }
+ }
+ }
+ return 1;
+}
+
/* vim: set ts=4 sw=4 et: */