1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
/* auto-generated by genhelp.sh */
/* DO NOT EDIT! */
const char help_text[] =
"#Chapter 30: Keen "
"\n"
"You have a square grid; each square may contain a digit from 1 to "
"the size of the grid. The grid is divided into blocks of varying "
"shape and size, with arithmetic clues written in them. Your aim is "
"to fully populate the grid with digits such that: "
"\n"
"- Each row contains only one occurrence of each digit "
"\n"
"- Each column contains only one occurrence of each digit "
"\n"
"- The digits in each block can be combined to form the number "
"stated in the clue, using the arithmetic operation given in the "
"clue. That is: "
"\n"
"- An addition clue means that the sum of the digits in the "
"block must be the given number. For example, `15+' means the "
"contents of the block adds up to fifteen. "
"\n"
"- A multiplication clue (e.g. `60*'), similarly, means that "
"the product of the digits in the block must be the given "
"number. "
"\n"
"- A subtraction clue will always be written in a block of "
"size two, and it means that one of the digits in the block "
"is greater than the other by the given amount. For example, "
"`2-' means that one of the digits in the block is 2 more "
"than the other, or equivalently that one digit minus the "
"other one is 2. The two digits could be either way round, "
"though. "
"\n"
"- A division clue (e.g. `3/'), similarly, is always in a block "
"of size two and means that one digit divided by the other is "
"equal to the given amount. "
"\n"
"Note that a block may contain the same digit more than once "
"(provided the identical ones are not in the same row and "
"column). This rule is precisely the opposite of the rule in "
"Solo's `Killer' mode (see chapter 11). "
"\n"
"This puzzle appears in the Times under the name `KenKen'. "
"\n"
"\n#30.1 Keen controls "
"\n"
"Keen shares much of its control system with Solo (and Unequal). "
"\n"
"To play Keen, simply click the mouse in any empty square and then "
"type a digit on the keyboard to fill that square. If you make a "
"mistake, click the mouse in the incorrect square and press Space to "
"clear it again (or use the Undo feature). "
"\n"
"If you _right_-click in a square and then type a number, that "
"number will be entered in the square as a `pencil mark'. You can "
"have pencil marks for multiple numbers in the same square. Squares "
"containing filled-in numbers cannot also contain pencil marks. "
"\n"
"The game pays no attention to pencil marks, so exactly what you "
"use them for is up to you: you can use them as reminders that a "
"particular square needs to be re-examined once you know more about "
"a particular number, or you can use them as lists of the possible "
"numbers in a given square, or anything else you feel like. "
"\n"
"To erase a single pencil mark, right-click in the square and type "
"the same number again. "
"\n"
"All pencil marks in a square are erased when you left-click and type "
"a number, or when you left-click and press space. Right-clicking and "
"pressing space will also erase pencil marks. "
"\n"
"As for Solo, the cursor keys can be used in conjunction with the "
"digit keys to set numbers or pencil marks. Use the cursor keys to "
"move a highlight around the grid, and type a digit to enter it in "
"the highlighted square. Pressing return toggles the highlight into a "
"mode in which you can enter or remove pencil marks. "
"\n"
"Pressing M will fill in a full set of pencil marks in every square "
"that does not have a main digit in it. "
"\n"
"(All the actions described in section 2.1 are also available.) "
"\n"
"\n#30.2 Keen parameters "
"\n"
"These parameters are available from the `Custom...' option on the "
"`Type' menu. "
"\n"
"_Grid size_ "
"\n"
"Specifies the size of the grid. Lower limit is 3; upper limit is "
"9 (because the user interface would become more difficult with "
"`digits' bigger than 9!). "
"\n"
"_Difficulty_ "
"\n"
"Controls the difficulty of the generated puzzle. At Unreasonable "
"level, some backtracking will be required, but the solution "
"should still be unique. The remaining levels require "
"increasingly complex reasoning to avoid having to backtrack. "
"\n"
"_Multiplication only_ "
"\n"
"If this is enabled, all boxes will be multiplication boxes. With "
"this rule, the puzzle is known as `Inshi No Heya'. "
"\n"
;
const char quick_help_text[] = "Complete the latin square in accordance with the arithmetic clues.";
|