X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/5b502ae807b1e98a91644f179863484c61aedb4c..b84b31a86d91dd31623f842d47d63f6e51472cc7:/guess.c diff --git a/guess.c b/guess.c index 9a78225..38cdf25 100644 --- a/guess.c +++ b/guess.c @@ -655,20 +655,24 @@ static char *interpret_move(game_state *from, game_ui *ui, game_drawstate *ds, if (from->solved) return NULL; - if (x >= COL_OX && x <= (COL_OX + COL_W) && - y >= COL_OY && y <= (COL_OY + COL_H)) { + if (x >= COL_OX && x < (COL_OX + COL_W) && + y >= COL_OY && y < (COL_OY + COL_H)) { over_col = ((y - COL_OY) / PEGOFF) + 1; + assert(over_col >= 1 && over_col <= ds->colours->npegs); } else if (x >= guess_ox && - y >= guess_oy && y <= (guess_oy + GUESS_H)) { - if (x <= (guess_ox + GUESS_W)) { + y >= guess_oy && y < (guess_oy + GUESS_H)) { + if (x < (guess_ox + GUESS_W)) { over_guess = (x - guess_ox) / PEGOFF; + assert(over_guess >= 0 && over_guess < ds->solution->npegs); } else { over_hint = 1; } - } else if (x >= guess_ox && x <= (guess_ox + GUESS_W) && + } else if (x >= guess_ox && x < (guess_ox + GUESS_W) && y >= GUESS_OY && y < guess_oy) { over_past_guess_y = (y - GUESS_OY) / PEGOFF; over_past_guess_x = (x - guess_ox) / PEGOFF; + assert(over_past_guess_y >= 0 && over_past_guess_y < from->next_go); + assert(over_past_guess_x >= 0 && over_past_guess_x < ds->solution->npegs); } debug(("make_move: over_col %d, over_guess %d, over_hint %d," " over_past_guess (%d,%d)", over_col, over_guess, over_hint,