diff options
| author | Ben Harris <bjh21@bjh21.me.uk> | 2023-08-09 11:42:51 +0100 |
|---|---|---|
| committer | Ben Harris <bjh21@bjh21.me.uk> | 2023-08-09 11:47:41 +0100 |
| commit | 785de41a92dcd45a71c322bafa8af737bb1eb7aa (patch) | |
| tree | 9f18c9c8492621d1c080d75a10ecd376d222dc11 /guess.c | |
| parent | 8c768e7444707b1985788d610e8f14148bc36ab6 (diff) | |
| download | puzzles-785de41a92dcd45a71c322bafa8af737bb1eb7aa.zip puzzles-785de41a92dcd45a71c322bafa8af737bb1eb7aa.tar.gz puzzles-785de41a92dcd45a71c322bafa8af737bb1eb7aa.tar.bz2 puzzles-785de41a92dcd45a71c322bafa8af737bb1eb7aa.tar.xz | |
Appropriately generate MOVE_NO_EFFECT from '\b' in Guess
This is the case that I care about for KaiOS.
Diffstat (limited to 'guess.c')
| -rw-r--r-- | guess.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -943,9 +943,12 @@ static char *interpret_move(const game_state *from, game_ui *ui, ui->peg_cur++; ret = MOVE_UI_UPDATE; } else if (button == 'D' || button == 'd' || button == '\b') { - ui->display_cur = true; - set_peg(&from->params, ui, ui->peg_cur, 0); - ret = MOVE_UI_UPDATE; + if (!ui->display_cur || ui->curr_pegs->pegs[ui->peg_cur] != 0) { + ui->display_cur = true; + set_peg(&from->params, ui, ui->peg_cur, 0); + ret = MOVE_UI_UPDATE; + } else + ret = MOVE_NO_EFFECT; } else if (button == CURSOR_SELECT2) { if (ui->peg_cur == from->params.npegs) return NULL; |