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
|
/* auto-generated by genhelp.sh */
/* DO NOT EDIT! */
const char help_text[] =
"#Chapter 22: Map "
"\n"
"You are given a map consisting of a number of regions. Your task is "
"to colour each region with one of four colours, in such a way that "
"no two regions sharing a boundary have the same colour. You are "
"provided with some regions already coloured, sufficient to make the "
"remainder of the solution unique. "
"\n"
"Only regions which share a length of border are required to be "
"different colours. Two regions which meet at only one _point_ (i.e. "
"are diagonally separated) may be the same colour. "
"\n"
"I believe this puzzle is original; I've never seen an implementation "
"of it anywhere else. The concept of a four-colouring puzzle was "
"suggested by Owen Dunn; credit must also go to Nikoli and to Verity "
"Allan for inspiring the train of thought that led to me realising "
"Owen's suggestion was a viable puzzle. Thanks also to Gareth Taylor "
"for many detailed suggestions. "
"\n"
"\n#22.1 Map controls "
"\n"
"To colour a region, click the left mouse button on an existing "
"region of the desired colour and drag that colour into the new "
"region. "
"\n"
"(The program will always ensure the starting puzzle has at least one "
"region of each colour, so that this is always possible!) "
"\n"
"If you need to clear a region, you can drag from an empty region, or "
"from the puzzle boundary if there are no empty regions left. "
"\n"
"Dragging a colour using the _right_ mouse button will stipple the "
"region in that colour, which you can use as a note to yourself that "
"you think the region _might_ be that colour. A region can contain "
"stipples in multiple colours at once. (This is often useful at the "
"harder difficulty levels.) "
"\n"
"You can also use the cursor keys to move around the map: the colour "
"of the cursor indicates the position of the colour you would drag "
"(which is not obvious if you're on a region's boundary, since it "
"depends on the direction from which you approached the boundary). "
"Pressing the return key starts a drag of that colour, as above, "
"which you control with the cursor keys; pressing the return key "
"again finishes the drag. The space bar can be used similarly to "
"create a stippled region. Double-pressing the return key (without "
"moving the cursor) will clear the region, as a drag from an empty "
"region does: this is useful with the cursor mode if you have filled "
"the entire map in but need to correct the layout. "
"\n"
"If you press L during play, the game will toggle display of a number "
"in each region of the map. This is useful if you want to discuss a "
"particular puzzle instance with a friend - having an unambiguous "
"name for each region is much easier than trying to refer to them all "
"by names such as `the one down and right of the brown one on the top "
"border'. "
"\n"
"(All the actions described in section 2.1 are also available.) "
"\n"
"\n#22.2 Map parameters "
"\n"
"These parameters are available from the `Custom...' option on the "
"`Type' menu. "
"\n"
"_Width_, _Height_ "
"\n"
"Size of grid in squares. "
"\n"
"_Regions_ "
"\n"
"Number of regions in the generated map. "
"\n"
"_Difficulty_ "
"\n"
"In `Easy' mode, there should always be at least one region whose "
"colour can be determined trivially. In `Normal' and `Hard' "
"modes, you will have to use increasingly complex logic to deduce "
"the colour of some regions. However, it will always be possible "
"without having to guess or backtrack. "
"\n"
"In `Unreasonable' mode, the program will feel free to generate "
"puzzles which are as hard as it can possibly make them: the "
"only constraint is that they should still have a unique "
"solution. Solving Unreasonable puzzles may require guessing and "
"backtracking. "
"\n"
;
const char quick_help_text[] = "Colour the map so that adjacent regions are never the same colour.";
|