aboutsummaryrefslogtreecommitdiff
path: root/guess.c
diff options
context:
space:
mode:
Diffstat (limited to 'guess.c')
-rw-r--r--guess.c14
1 files changed, 9 insertions, 5 deletions
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,