mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-20 23:51:29 -07:00
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.
This commit is contained in:
16
undead.c
16
undead.c
@ -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++;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user