Provided by: sgt-puzzles_6452-5_i386

#### NAME

```       bridges - topological deduction game

```

#### SYNOPSIS

```       bridges  [--generate  n]  [--print  wxh  [--with-solutions] [--scale n]
[--colour]] [game-parameters|game-ID|random-seed]

bridges --version

```

#### DESCRIPTION

```       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:

o      Bridges run horizontally or vertically.

o      The number of bridges terminating at any island is equal to  the
number written in that island.

o      Two  bridges  may  run in parallel between the same two islands,
but no more than two may do so.

o      No bridge crosses another bridge.

o      All the islands are connected together.

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.

Credit      for      this       puzzle       goes       to       Nikoli
(http://www.nikoli.co.jp/puzzles/14/index-e.htm).

Bridges was contributed to this collection by James Harvey.

```

#### Bridgescontrols

```       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.)

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.

If  you want to remind yourself that two islands definitely do not have
a bridge between them, you can right-drag between them in the same  way
to draw a "non-bridge" marker.

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

Violations of the puzzle rules will be marked in red:

o      An island with too many bridges will be highlighted in red.

o      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.

o      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.

o      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.

(All the actions described below are also available.)

```

#### Bridgesparameters

```       These parameters are available  from  the  "Custom..."  option  on  the

Width, Height
Size of grid in squares.

Difficulty
Difficulty level of puzzle.

Allow loops
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.

Max. bridges per direction
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.

%age of island squares
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.

Expansion factor (%age)
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.

High expansion factors usually mean easier puzzles with fewer  possible
islands;  low  expansion  factors  can  create  lots  of tightly-packed
islands.

```

#### Commonactions

```       These actions are all available from the "Game" menu and  via  keyboard
shortcuts, in addition to any game-specific actions.

(On  Mac  OS  X,  to conform with local user interface standards, these

New game ("N", Ctrl+"N")
Starts a new game, with a random initial state.

Restart game
Resets the current game to  its  initial  state.  (This  can  be
undone.)

Save   Saves the current state of your game to a file on disk.

history (so you can save, reload, and still Undo and Redo things

Print  Where  supported (currently only on Windows), brings up a dialog
allowing you to print an arbitrary number  of  puzzles  randomly
generated  from the current parameters, optionally including the
current puzzle. (Only for puzzles which make sense to print,  of
course   -   it’s   hard   to  think  of  a  sensible  printable
representation of Fifteen!)

Undo ("U", Ctrl+"Z", Ctrl+"_")
Undoes a single move. (You can undo moves back to the  start  of
the session.)

Redo ("R", Ctrl+"R")
Redoes a previously undone move.

Copy   Copies  the  current state of your game to the clipboard in text
format, so that you can paste it into (say) an e-mail client  or
a  web  message board if you’re discussing the game with someone
else. (Not all games support this feature.)

Solve  Transforms the puzzle instantly into its solved state. For  some
games  (Cube) this feature is not supported at all because it is
of no particular use. For other games  (such  as  Pattern),  the
solved  state  can be used to give you information, if you can’t
see how a solution can exist at all or you want  to  know  where
you  made  a  mistake.  For still other games (such as Sixteen),
automatic solution tells you nothing about how  to  get  to  the
solution,  but it does provide a useful way to get there quickly
so  that  you  can   experiment   with   set-piece   moves   and
transformations.

Some  games  (such as Solo) are capable of solving a game ID you
have typed in from elsewhere. Other games (such  as  Rectangles)
cannot  solve  a  game  ID they didn’t invent themself, but when
they did invent the game ID  they  know  what  the  solution  is
already.  Still  other  games  (Pattern) can solve some external
game IDs, but only if they aren’t too difficult.

The "Solve" command adds the solved state to the end of the undo
chain  for the puzzle. In other words, if you want to go back to
solving it yourself after seeing the answer, you can just  press
Undo.

Quit ("Q", Ctrl+"Q")
Closes the application entirely.

```

#### SpecifyinggameswiththegameID

```       There  are  two  ways  to save a game specification out of a puzzle and
recreate it later, or recreate it in somebody else’s copy of  the  same
puzzle.

The  "Specific"  and "Random Seed" options from the "Game" menu (or the
"File" menu, on Mac OS X) each show a piece of text (a "game ID") which
is sufficient to reconstruct precisely the same game at a later date.

You can enter either of these pieces of text back into the program (via
the same "Specific" or "Random Seed" menu options) at  a  later  point,
and  it  will  recreate the same game. You can also use either one as a
command line argument (on Windows or Unix); see below for more  detail.

The difference between the two forms is that a descriptive game ID is a
literal description of the initial state of the game, whereas a  random
seed  is  just a piece of arbitrary text which was provided as input to
the random number generator used to create the puzzle. This means that:

o      Descriptive game IDs tend to be longer in many puzzles (although
some,  such  as   Cube   (cube(6)),   only   need   very   short
descriptions).  So  a random seed is often a quicker way to note
down the puzzle you’re currently  playing,  or  to  tell  it  to
somebody else so they can play the same one as you.

o      Any  text  at  all  is  a  valid  random seed. The automatically
generated ones are fifteen-digit numbers, but anything will  do;
you  can type in your full name, or a word you just made up, and
a valid puzzle will be generated from it. This  provides  a  way
for  two or more people to race to complete the same puzzle: you
think of a random seed, then everybody types it in at  the  same
time,  and  nobody  has  an  advantage  due  to  having seen the
generated puzzle before anybody else.

o      It is often possible to convert puzzles from other sources (such
as  "nonograms"  or  "sudoku"  from newspapers) into descriptive
game IDs suitable for use with these programs.

o      Random seeds are not guaranteed to produce the  same  result  if
you  use  them  with  a different version of the puzzle program.
This  is  because  the  generation  algorithm  might  have  been
improved  or  modified  in  later versions of the code, and will
therefore  produce  a  different  result  when  given  the  same
sequence  of  random  numbers.  Use a descriptive game ID if you
aren’t sure that it will be used on  the  same  version  of  the
program as yours.

(Use  the  "About" menu option to find out the version number of
the program. Programs with the same version  number  running  on
different platforms should still be random-seed compatible.)

A  descriptive  game  ID  starts with a piece of text which encodes the
parameters of the current game (such as grid size).  Then  there  is  a
colon, and after that is the description of the game’s initial state. A
random seed starts with a similar string of  parameters,  but  then  it
contains a hash sign followed by arbitrary data.

If  you  enter  a  descriptive game ID, the program will not be able to
show you the random seed which generated it, since it wasn’t  generated
from  a  random  seed. If you enter a random seed, however, the program
will be able to show you the descriptive  game  ID  derived  from  that
random seed.

Note  that  the game parameter strings are not always identical between
the two forms. For some games, there will be  parameter  data  provided
with  the random seed which is not included in the descriptive game ID.
This is because  that  parameter  information  is  only  relevant  when
generating  puzzle grids, and is not important when playing them. Thus,
for example, the difficulty level in Solo (solo(6)) is not mentioned in
the descriptive game ID.

These additional parameters are also not set permanently if you type in
a game ID. For  example,  suppose  you  have  Solo  set  to  "Advanced"
difficulty  level,  and  then a friend wants your help with a "Trivial"
puzzle; so the friend reads out  a  random  seed  specifying  "Trivial"
difficulty,  and you type it in. The program will generate you the same
"Trivial" grid which your friend was having trouble with, but once  you
have  finished  playing  it,  when  you  ask  for  a  new  game it will
automatically go  back  to  the  "Advanced"  difficulty  which  it  was
previously set on.

```

```       The  "Type"  menu,  if  present,  may  contain  a  list  of preset game
settings. Selecting one of these will start a new random game with  the
parameters specified.

The  "Type" menu may also contain a "Custom" option which allows you to
fine-tune game parameters. The parameters  available  are  specific  to
each game and are described in the following sections.

```

#### Specifyinggameparametersonthecommandline

```       (This section does not apply to the Mac OS X version.)

The  games in this collection deliberately do not ever save information
on to the computer they run on: they have no high score tables  and  no
saved  preferences.  (This  is because I expect at least some people to
play them at work, and those people will probably appreciate leaving as
little evidence as possible!)

However, if you do want to arrange for one of these games to default to
a particular set of parameters, you can specify  them  on  the  command
line.

The  easiest  way to do this is to set up the parameters you want using
the "Type" menu (see above), and then to select "Random Seed" from  the
"Game"  or  "File" menu (see above). The text in the "Game ID" box will
be composed of two parts, separated by a hash. The first of these parts
represents  the  game  parameters  (the  size  of the playing area, for
example, and anything else you set using the "Type" menu).

If you run the game with just that parameter text on the command  line,
it will start up with the settings you specified.

For  example:  if  you run Cube (see cube(6)), select "Octahedron" from
the "Type" menu, and then go to the game ID selection, you will  see  a
string  of  the  form "o2x2#338686542711620". Take only the part before
the hash ("o2x2"), and start Cube with that text on the  command  line:
"cube o2x2".

If  you  copy  the entire game ID on to the command line, the game will
start up in the specific game that was described. This is  occasionally
a  more convenient way to start a particular game ID than by pasting it
into the game ID selection box.

(You  could  also  retrieve  the  encoded  game  parameters  using  the
"Specific"  menu  option  instead  of "Random Seed", but if you do then
some options, such as the difficulty level in Solo,  will  be  missing.
See above for more details on this.)

```

#### Unixcommand-lineoptions

```       (This section only applies to the Unix port.)

In  addition  to  specifying  game  parameters on the command line (see
above), you can also specify various options:

--generate n
If  this  option  is  specified,  instead  of  a  puzzle   being
displayed, a number of descriptive game IDs will be invented and
the  game  generation  algorithms  without necessarily using the
frontend.

If game parameters are specified on the command-line, they  will
be  used  to  generate  the game IDs; otherwise a default set of
parameters will be used.

The most common use  of  this  option  is  in  conjunction  with
--print,  in which case its behaviour is slightly different; see
below.

--print wxh
If  this  option  is  specified,  instead  of  a  puzzle   being
displayed,  a  printed  representation  of  one or more unsolved
puzzles is sent to standard output, in PostScript format.

On each page of puzzles, there will be w across and h  down.  If
there  are  more  puzzles  than  wxh, more than one page will be
printed.

If --generate has also been specified,  the  invented  game  IDs
will  be  used to generate the printed output. Otherwise, a list
of game  IDs  is  expected  on  standard  input  (which  can  be
descriptive  or  random  seeds;  see  above), in the same format
produced by --generate.

For example:

net --generate 12 --print 2x3 7x7w | lpr

will generate two pages of printed Net puzzles  (each  of  which
will  have  a 7x7 wrapping grid), and pipe the output to the lpr
command, which on many systems  will  send  them  to  an  actual
printer.

There  are  various  other  options  which  affect printing; see
below.

--version
Prints version information about the game, and then quits.

The following options are only meaningful if --print is also specified:

--with-solutions
The  set  of pages filled with unsolved puzzles will be followed
by the solutions to those puzzles.

--scale n
Adjusts how big each puzzle is when printed. Larger numbers make
puzzles bigger; the default is 1.0.

--colour
Puzzles  will  be  printed  in  colour, rather than in black and
white (if supported by the puzzle).

```

#### SEEALSO

```       Full documentation in /usr/share/doc/sgt-puzzles/puzzles.txt.gz.
```