From: Laurent Mazet Date: Tue, 9 Jul 2024 22:57:16 +0000 (+0200) Subject: correct queen move X-Git-Tag: v1.0~16 X-Git-Url: https://secure.softndesign.org/git/?a=commitdiff_plain;h=b73e09ba7d8045697d371ed44b08450d5064fd7d;p=checkers.git correct queen move --- diff --git a/display.c b/display.c index fa51bfd..ebfd525 100644 --- a/display.c +++ b/display.c @@ -369,7 +369,7 @@ int cursorwindow (board_t *board, int x, int y, int queen, int mode) _element (board, x, y, (mode) ? '3' : '5'); break; case '6': - _element (board, x, y, (mode) ? '8' : ';'); + _element (board, x, y, (mode) ? '8' : ':'); break; case '7': _element (board, x, y, (mode) ? '9' : ';'); diff --git a/function.c b/function.c index 9e5e259..af0c3e7 100644 --- a/function.c +++ b/function.c @@ -458,6 +458,9 @@ int testqueenmove (board_t *board, int xcursor, int ycursor, int queen, int mode int testqueenjump (board_t *board, int xcursor, int ycursor, int mode) { + if (getvalue (board, xcursor, ycursor) / 2 != '6' / 2) { + return 0; + } int ret = 0; int delta = 0; switch (mode) { @@ -500,11 +503,13 @@ int testqueenjump (board_t *board, int xcursor, int ycursor, int mode) int testqueenturn (board_t *board, int xcursor, int ycursor, int queen, int mode) { int ret = 0; - if ((queen == mode) || (queen == -1)) { - ret = (testqueenmove (board, xcursor, ycursor, queen, mode) || - testqueenjump (board, xcursor, ycursor, mode)); - } else { - ret = testqueenjump (board, xcursor, ycursor, mode); + if (getvalue (board, xcursor, ycursor) / 2 == '6' / 2) { + if ((queen == mode) || (queen == -1)) { + ret = (testqueenmove (board, xcursor, ycursor, queen, mode) || + testqueenjump (board, xcursor, ycursor, mode)); + } else { + ret = testqueenjump (board, xcursor, ycursor, mode); + } } return ret; }