forked from ghewgill/puzzles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bridges.html
133 lines (131 loc) · 6.22 KB
/
bridges.html
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=US-ASCII">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bridges</title>
<link rel="previous" href="tents.html">
<link rel="ToC" href="index.html">
<link rel="index" href="docindex.html">
<link rel="next" href="unequal.html">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<p><a href="tents.html">Previous</a> | <a href="index.html">Contents</a> | <a href="docindex.html">Index</a> | <a href="unequal.html">Next</a></p>
<h1><a name="C26"></a>Chapter 26: <a name="i0"></a>Bridges</h1>
<p>
You have a set of islands distributed across the playing area. Each island contains a number. Your aim is to connect the islands together with bridges, in such a way that:
</p>
<ul><li>
Bridges run horizontally or vertically.
</li>
<li>
The number of bridges terminating at any island is equal to the number written in that island.
</li>
<li>
Two bridges may run in parallel between the same two islands, but no more than two may do so.
</li>
<li>
No bridge crosses another bridge.
</li>
<li>
All the islands are connected together.
</li>
</ul>
<p>
There are some configurable alternative modes, which involve changing the parallel-bridge limit to something other than 2, and introducing the additional constraint that no sequence of bridges may form a loop from one island back to the same island. The rules stated above are the default ones.
</p>
<p>
Credit for this puzzle goes to <a name="i1"></a>Nikoli <a href="#p0">[12]</a>.
</p>
<p>
Bridges was contributed to this collection by James Harvey.
</p>
<p><a name="p0"></a>
[12] <a href="http://www.nikoli.co.jp/puzzles/14/index-e.htm"><code>http://www.nikoli.co.jp/puzzles/14/index-e.htm</code></a>
</p>
<h2><a name="S26.1"></a>26.1 <a name="i2"></a>Bridges controls</h2>
<p>
To place a bridge between two islands, click the mouse down on one island and drag it towards the other. You do not need to drag all the way to the other island; you only need to move the mouse far enough for the intended bridge direction to be unambiguous. (So you can keep the mouse near the starting island and conveniently throw bridges out from it in many directions.)
</p>
<p>
Doing this again when a bridge is already present will add another parallel bridge. If there are already as many bridges between the two islands as permitted by the current game rules (i.e. two by default), the same dragging action will remove all of them.
</p>
<p>
If you want to remind yourself that two islands definitely <em>do not</em> have a bridge between them, you can right-drag between them in the same way to draw a ‘non-bridge’ marker.
</p>
<p>
If you think you have finished with an island (i.e. you have placed all its bridges and are confident that they are in the right places), you can mark the island as finished by left-clicking on it. This will highlight it and all the bridges connected to it, and you will be prevented from accidentally modifying any of those bridges in future. Left-clicking again on a highlighted island will unmark it and restore your ability to modify it.
</p>
<p>
You can also use the cursor keys to move around the grid: if possible the cursor will always move orthogonally, otherwise it will move towards the nearest island to the indicated direction. Pressing the return key followed by a cursor key will lay a bridge in that direction (if available); pressing the space bar followed by a cursor key will lay a ‘non-bridge’ marker.
</p>
<p>
You can mark an island as finished by pressing the return key twice.
</p>
<p>
Violations of the puzzle rules will be marked in red:
</p>
<ul><li>
An island with too many bridges will be highlighted in red.
</li>
<li>
An island with too few bridges will be highlighted in red if it is definitely an error (as opposed to merely not being finished yet): if adding enough bridges would involve having to cross another bridge or remove a non-bridge marker, or if the island has been highlighted as complete.
</li>
<li>
A group of islands and bridges may be highlighted in red if it is a closed subset of the puzzle with no way to connect it to the rest of the islands. For example, if you directly connect two 1s together with a bridge and they are not the only two islands on the grid, they will light up red to indicate that such a group cannot be contained in any valid solution.
</li>
<li>
If you have selected the (non-default) option to disallow loops in the solution, a group of bridges which forms a loop will be highlighted.
</li>
</ul>
<p>
(All the actions described in <a href="common.html#S2.1">section 2.1</a> are also available.)
</p>
<h2><a name="S26.2"></a>26.2 <a name="i3"></a>Bridges parameters</h2>
<p>
These parameters are available from the ‘Custom...’ option on the ‘Type’ menu.
</p>
<dl><dt>
<em>Width</em>, <em>Height</em>
</dt>
<dd>
Size of grid in squares.
</dd>
<dt>
<em>Difficulty</em>
</dt>
<dd>
Difficulty level of puzzle.
</dd>
<dt>
<em>Allow loops</em>
</dt>
<dd>
This is set by default. If cleared, puzzles will be generated in such a way that they are always soluble without creating a loop, and solutions which do involve a loop will be disallowed.
</dd>
<dt>
<em>Max. bridges per direction</em>
</dt>
<dd>
Maximum number of bridges in any particular direction. The default is 2, but you can change it to 1, 3 or 4. In general, fewer is easier.
</dd>
<dt>
<em>%age of island squares</em>
</dt>
<dd>
Gives a rough percentage of islands the generator will try and lay before finishing the puzzle. Certain layouts will not manage to lay enough islands; this is an upper bound.
</dd>
<dt>
<em>Expansion factor (%age)</em>
</dt>
<dd>
The grid generator works by picking an existing island at random (after first creating an initial island somewhere). It then decides on a direction (at random), and then works out how far it could extend before creating another island. This parameter determines how likely it is to extend as far as it can, rather than choosing somewhere closer.
<p>
High expansion factors usually mean easier puzzles with fewer possible islands; low expansion factors can create lots of tightly-packed islands.
</p>
</dd>
</dl>
<hr><address></address></body>
</html>