diff options
| author | Simon Tatham <anakin@pobox.com> | 2015-07-13 19:06:53 +0100 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2015-07-13 19:06:53 +0100 |
| commit | 5e1c335eea905ee031e440399f7a575c5c7a1ad3 (patch) | |
| tree | 38cd7b1596204e24d5f56fd074322189fade4954 /undead.c | |
| parent | aa1a9375be96cd8e0f89a670359c3c80ad7cf937 (diff) | |
| download | puzzles-5e1c335eea905ee031e440399f7a575c5c7a1ad3.zip puzzles-5e1c335eea905ee031e440399f7a575c5c7a1ad3.tar.gz puzzles-5e1c335eea905ee031e440399f7a575c5c7a1ad3.tar.bz2 puzzles-5e1c335eea905ee031e440399f7a575c5c7a1ad3.tar.xz | |
Solo, Undead: support 'm' to fill in all pencils.
Keen, Towers and Unequal (and Group) already have this feature in
common: pressing m while no square is selected, causes a full set of
pencil marks to be filled in for every square without a real number/
letter/whatever in it. Solo and Undead share the basic UI principles
(left-click to select a square then type a thing to go in it, vs
right-click to select a square then type things to pencil-mark in it),
but did not have that same feature. Now they do.
Diffstat (limited to 'undead.c')
| -rw-r--r-- | undead.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -1727,6 +1727,10 @@ static char *interpret_move(const game_state *state, game_ui *ui, ui->ascii = !ui->ascii; return ""; } + + if (button == 'm' || button == 'M') { + return dupstr("M"); + } if (ui->hshow == 1 && ui->hpencil == 0) { xi = state->common->xinfo[ui->hx + ui->hy*(state->common->params.w+2)]; @@ -2020,6 +2024,18 @@ static game_state *execute_move(const game_state *state, const char *move) ret->hints_done[clue_index(ret, x, y)] ^= 1; move += n + 1; } + if (c == 'M') { + /* + * Fill in absolutely all pencil marks in unfilled + * squares, for those who like to play by the rigorous + * approach of starting off in that state and eliminating + * things. + */ + for (i = 0; i < ret->common->wh; i++) + if (ret->guess[i] == 7) + ret->pencils[i] = 7; + move++; + } if (*move == ';') move++; } |