GAMES(1)                                                 GAMES(1)

     NAME
          4s, 5s, festoon, juggle, life, mahjongg, memo, sokoban,
          sudoku - time wasters

     SYNOPSIS
          games/4s
          games/5s
          games/festoon [ -pet ] [ sentences [ percent-invented-nouns
          ] ]
          games/juggle [ -d delay ] [ -h hands ] [ start ] pattern
          games/life startfile
          games/mahjongg [ -c ] [ -f ] [ -b background ] [ -t tileset
          ] [ -l layout ]
          games/memo [ -h ]
          games/sokoban [ level ]
          games/sudoku

     DESCRIPTION
          There are a few games in /bin/games:

          4s, 5s    Try to fill complete rows using 4-square or 5-
                    square tiles.  Move tiles left or right by moving
                    the mouse.  Rotate tiles with buttons 1 and 3.
                    Drop tiles for more points with button 2 or the
                    space bar.  Keys `a' and `j' move left, `s' and
                    `k' rotate left, `d' and `l' rotate right, `f' and
                    `;' move right.  `z', `p' and `Esc' toggle
                    suspend/resume.  `q', `Del' and `control-D' quit.

          festoon   Generate an official-looking but utterly nonsensi-
                    cal bureaucratic report as `pic | eqn | tbl |
                    troff -mm' input.  Options -p, -e and -t add gib-
                    berish diagrams, equations and tables.

          juggle    Display the juggling pattern using the optional
                    initial start pattern.  The number of hands
                    involved (default 2) can be specified with -h, and
                    delay can be used to speed up or slow down the
                    action (default is 20).  Try the pattern
                    333333441333333 or 333353505151512333333 or
                    YWUSQOMKIGECA (see
                    http://seehuhn.de/jong/theory.html).

          life      Play the game of Life, given an initial position.
                    There is a library of interesting initial posi-
                    tions; the library is consulted if startfile can-
                    not be found.

          mahjongg  Remove all tiles from the board. Click on tiles

     Page 1                       Plan 9            (printed 12/21/24)

     GAMES(1)                                                 GAMES(1)

                    with the same face that are not blocked by others.
                    A blocked tile is one that is partially or fully
                    covered on top or has neighbouring tiles to the
                    left and right.  The game finishes when either all
                    tiles are gone or there are no more moves left.
                    The arguments are for changing background (-b),
                    tile (-t) and layout (-l) images; -c selects a
                    true-color buffer image, for use with drawterm or
                    in case selecting a tile obscures it completely;
                    -f causes mahjongg to indicate non-blocked tiles
                    on mouse-over.  The `N' key will generate a new
                    level, `R' restarts the current one. `Q' and `Del'
                    quit, `H' gives a hint, either trying to match the
                    currently selected tile, or if no tile is selected
                    finding out the first available tile.  `U' and
                    `Bksp' undo the last move, `C' tries to solve the
                    level.

          memo      Remove all tiles from the board.  At first, pic-
                    tures of various Bell Labs employees, Lucent Tech-
                    nologies' logo, and Glenda will appear.  Memorize
                    the sequence, then click to hide them and begin.
                    Use the mouse to select two tiles.  If they are
                    the same, the tiles will disappear, otherwise the
                    tiles will flip back and you will get a chance to
                    try again.  Button 3 generates a memu allowing you
                    to restart, switch between easy and hard modes,
                    and exit.  The -h option sets the game to hard
                    mode.  Once the game has been completed, a message
                    pops up with how long it took to win.  Use the
                    button 3 menu to choose a mode, or click to play
                    again.

          sokoban   Guide Glenda through a room full of walls, pebbles
                    and holes to put the pebbles in.  Your goal is to
                    arrange all pebbles into holes by pushing them
                    around, but you can only push a pebble if there is
                    no wall or another pebble blocking the way.  Arrow
                    keys move Glenda up-down-left-right. `N' and `P'
                    keys switch between the next and previous levels,
                    `R' restarts the current level. `Del' and `Q'
                    quit.  Button 3 invokes a menu to restart the cur-
                    rent level, load different level sets, and en- and
                    disable animation of multi-step moves.  Button 2
                    lets you change between levels. Button 1 lets you
                    do multi-step moves and pushes, by clicking it on
                    the destination where you want Glenda to go.
                    Glenda will only move if it can reach the destina-
                    tion.  For a multi-step push the pebble must be
                    next to Glenda, the destination must be on the
                    same row or column, and there must be a free place
                    next to the destination where the pebble can be

     Page 2                       Plan 9            (printed 12/21/24)

     GAMES(1)                                                 GAMES(1)

                    pushed to.  Otherwise, if possible, Glenda will
                    walk to the destination without pushing the peb-
                    ble.  Sokoban accepts a level file as its argu-
                    ment.

          sudoku    Sudoku is a puzzle game from Japan.  The goal of
                    the game is to fill the numbers 1 to 9 in all
                    squares of the 9x9 board following a few simple
                    rules: no digit should repeat on the same row and
                    column, and no digit should repeat in the same 3x3
                    boxes outlined with thicker lines.  The board is
                    initially filled with a partial solution which can
                    be used for inferring digits for the empty
                    squares.  The top row of the board contains the
                    digits 1 through 9, clicking on one of those dig-
                    its selects that number for placement on the
                    board, clicking it again will deselect that digit.
                    Clicking on an empty square will then affix the
                    square with the selected digit or, if no digit is
                    selected empty the square.

                    Button 3 presents a menu with the following
                    options:

                     New     autogenerate a new, random board

                     Check   mark in red any digits not placed accord-
                             ing to the rules

                     Solve   present the board's solution

                     Clear   clear the board to its starting (or last
                             loaded) state

                     Save    save the current board to
                             /tmp/sudoku-save

                     Load    load the last saved board from
                             /tmp/sudoku-save

                     Print   print the current board and solution in a
                             format suitable for addition in the
                             sudoku library to /tmp/sudoku-board

                     Offline pretty-print the board for off-line solv-
                             ing to /tmp/sudoku-print

                     Exit    quit the game

                    Button 2 presents a list of sudoku boards of vary-
                    ing degrees of difficulty from
                    /sys/games/lib/sudoku/boards.

     Page 3                       Plan 9            (printed 12/21/24)

     GAMES(1)                                                 GAMES(1)

                    Pressing the Q key quits sudoku.

     FILES
          /sys/games/lib/[45]scores  score files of 4s and 5s
          /sys/games/lib/life/*      interesting starting positions
          /sys/games/lib/mahjongg/*  image sprites, levels and back-
                                     grounds used by mahjongg
          /lib/face/*                tiles for memo
          /sys/games/lib/sokoban/*   image sprites and levels used by
                                     sokoban
          /sys/games/lib/sudoku/*    images and boards used by sudoku

     SOURCE
          /sys/src/games

     BUGS
          In 4s and 5s, mouse warping (when the game is resumed, and
          when a new tile appears) does not happen when the mouse cur-
          sor is outside the game window.  Those who prefer to use the
          keyboard without the mouse cursor blocking the view (or
          being warped all the time) may consider this a feature.

     Page 4                       Plan 9            (printed 12/21/24)