commit - e77c5bc80e4490b40b3754147679eecdbafd98a4
commit + 8622799296ec46de4edb1d8f0984c59ac7bb9ddf
blob - 252545da60e6a073720c7c2b30ee455481cbff0e
blob + 99e5185874d5eaf2075f5390e09dfbb2521f8b7c
--- FICS/movecheck.c
+++ FICS/movecheck.c
return 0;
}
-PRIVATE int legal_bishop_move(game_state_t * gs, int ff, int fr, int tf, int tr)
+PRIVATE int
+legal_bishop_move(game_state_t *gs, int ff, int fr, int tf, int tr)
{
- int dx, dy, x, y;
- int startx, starty;
- int count;
- int incx, incy;
+ int count;
+ int dx, dy, x, y;
+ int incx, incy;
+ int startx, starty;
- if (ff > tf) {
- dx = ff - tf;
- incx = -1;
- } else {
- dx = tf - ff;
- incx = 1;
- }
- startx = ff + incx;
- if (fr > tr) {
- dy = fr - tr;
- incy = -1;
- } else {
- dy = tr - fr;
- incy = 1;
- }
- starty = fr + incy;
- if (dx != dy)
- return 0; /* Not diagonal */
- if (dx == 1)
- return 1; /* One square, ok */
- count = dx - 1;
- for (x = startx, y = starty; count; x += incx, y += incy, count--) {
- if (gs->board[x][y] != NOPIECE)
- return 0;
- }
- return 1;
+ if (ff > tf) {
+ dx = ff - tf;
+ incx = -1;
+ } else {
+ dx = tf - ff;
+ incx = 1;
+ }
+ startx = ff + incx;
+ if (fr > tr) {
+ dy = fr - tr;
+ incy = -1;
+ } else {
+ dy = tr - fr;
+ incy = 1;
+ }
+ starty = fr + incy;
+ if (dx != dy)
+ return 0; // Not diagonal
+ if (dx == 1)
+ return 1; // One square, ok
+ count = dx - 1;
+ for (x = startx, y = starty;
+ count;
+ x += incx, y += incy, count--) {
+ if (gs->board[x][y] != NOPIECE)
+ return 0;
+ }
+ return 1;
}
PRIVATE int