Man Linux: Main Page and Category List


       bridges - topological deduction game


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

       bridges --version


       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:

              Bridges run horizontally or vertically.

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

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

              No bridge crosses another bridge.

              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

       Bridges was contributed to this collection by James Harvey.

Bridges controls

       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 â.PP 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.

       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 â.PP You can mark an island as finished by  pressing  the  return
       key twice.

       Violations of the puzzle rules will be marked in red:

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

              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.

              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.

              If you have selected the (non-default) option to disallow  loops
              in  the  solution, a group of bridges which forms a loop will be

       (All the actions described below are also available.)

Bridges parameters

       These parameters are available from the â.IP "Width,  Height"  Size  of
       grid in squares.

              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

Common actions

       These actions are all available from the â.PP (On Mac OS X, to  conform
       with  local user interface standards, these actions are situated on the
       â.IP "New game (âStarts a new game, with a random initial state.

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

       Load   Loads a saved game from a file on disk.

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

              The  Load  and Save operations preserve your entire game history
              (so you can save, reload, and still Undo and Redo things you had
              done before saving).

       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
 it’s hard to think of a sensible printable representation of Fifteen!)
              course  â.IP  "Undo  (âUndoes a single move. (You can undo moves
              back to the start of the session.)

       Râ, Ctrl+âRâ)                                                      Redo
              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

              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 â.RE

              Quit (â.
                     Closes the application entirely.

Specifying games with the game ID

       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
       The â.PP You can enter either of these pieces of  text  back  into  the
       program (via the same â.PP 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:

              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.

              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.

              It is often possible to convert puzzles from other sources (such
              as  â.IP  "â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 â.RE

              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

              These additional parameters are also not set permanently if  you
              type  in  a  game  ID. For example, suppose you have Solo set to
              â.SH "The â.PP The â.PP The â.SH "Specifying game parameters  on
              the command line"

              (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 â.PP If you run the game with just that parameter text
              on  the  command  line,  it  will start up with the settings you

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â.
              For example: if you run Cube (see cube(6)), select â.PP  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
              â.SH "Unix command-line options"

              (This section only applies to the Unix port.)

              In  addition  to  being  able  to specify game parameters on the
              command line (see above), there are various other options:


              --load These options respectively determine whether the command-
                     line argument is treated as specifying game parameters or
                     a save file to load. Only one  should  be  specified.  If
                     neither  of  these  options is specified, a guess is made
                     based on the format of the argument.

              --generate n
                     If this option is specified, instead of  a  puzzle  being
                     displayed,  a  number  of  descriptive  game  IDs will be
                     invented and printed on standard output. This  is  useful
                     for  gaining  access  to  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 wÃh, 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 7Ã7 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.

              --save file-prefix [ --save-suffix file-suffix ]
                     If  this  option  is specified, instead of a puzzle being
                     displayed, saved-game files  for  one  or  more  unsolved
                     puzzles   are  written  to  files  constructed  from  the
                     supplied prefix and/or suffix.

                     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 --save game --save-suffix .sav

                     will generate twelve Net saved-game files with the  names
                     game0.sav to game11.sav.

                     Prints  version  information  about  the  game,  and then

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

                     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.

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


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