aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guess.c14
-rw-r--r--puzzles.but5
2 files changed, 17 insertions, 2 deletions
diff --git a/guess.c b/guess.c
index 793c815..28fa0e0 100644
--- a/guess.c
+++ b/guess.c
@@ -414,7 +414,7 @@ struct game_ui {
int drag_col, drag_x, drag_y; /* x and y are *center* of peg! */
int drag_opeg; /* peg index, if dragged from a peg (from current guess), otherwise -1 */
- bool show_labels; /* label the colours with letters */
+ bool show_labels; /* label the colours with numbers */
pegrow hint;
};
@@ -900,6 +900,16 @@ static char *interpret_move(const game_state *from, game_ui *ui,
set_peg(&from->params, ui, ui->peg_cur, ui->colour_cur+1);
ret = UI_UPDATE;
}
+ } else if (((button >= '1' && button <= '0' + from->params.ncolours) ||
+ (button == '0' && from->params.ncolours == 10)) &&
+ ui->peg_cur < from->params.npegs) {
+ ui->display_cur = true;
+ /* Number keys insert a peg and advance the cursor. */
+ set_peg(&from->params, ui, ui->peg_cur,
+ button == '0' ? 10 : button - '0');
+ if (ui->peg_cur + 1 < from->params.npegs + ui->markable)
+ ui->peg_cur++;
+ ret = UI_UPDATE;
} else if (button == 'D' || button == 'd' || button == '\b') {
ui->display_cur = true;
set_peg(&from->params, ui, ui->peg_cur, 0);
@@ -1196,7 +1206,7 @@ static void draw_peg(drawing *dr, game_drawstate *ds, int cx, int cy,
if (labelled && col) {
char buf[2];
- buf[0] = 'a'-1 + col;
+ buf[0] = '0' + (col % 10);
buf[1] = '\0';
draw_text(dr, cx+PEGRAD, cy+PEGRAD, FONT_VARIABLE, PEGRAD,
ALIGN_HCENTRE|ALIGN_VCENTRE, COL_FRAME, buf);
diff --git a/puzzles.but b/puzzles.but
index 8bdee25..02e65cf 100644
--- a/puzzles.but
+++ b/puzzles.but
@@ -1339,6 +1339,11 @@ peg position, and the Enter key to place a peg of the
selected colour in the chosen position. \q{D} or Backspace removes a
peg, and Space adds a hold marker.
+The number keys can also be used to insert pegs: \q{1} inserts the
+top-most colour, \q{2} the second one, and so forth. These also
+move the peg cursor to the right. Pressing \q{L} will label the
+pegs with their numbers.
+
Pressing \q{h} or \q{?} will fill the current guess with a suggested
guess. Using this is not recommended for 10 or more pegs as it is
slow.