# xmball

## SYNOPSIS

           /usr/games/xmball                                            [-geometry
           [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]]                 [-display
           [{host}]:[{vs}]]   [-[no]mono]   [-[no]{reverse|rv}]  [-{foreground|fg}
           {color}] [-{background|bg} {color}]  [-wedge{0|1|2|3|4|5|6|7|8|9|10|11}
           {color}] [-{border|bd} {color}] [-delay msecs] [-[no]sound] [-moveSound
           {filename}] [-{font|fn} {fontname}] [-[no]perspective] [-wedges  {int}]
           [-bands  {int}]  [-[no]orient] [-[no]practice] [-base {int}] [-userName
           {string}] [-scoreFile {filename}] [-scores] [-version]

## DESCRIPTION

           The original puzzle has 8 wedges on a sphere (longitudinal cuts),  with
           each  wedge  divided into 4 bands (latitudinal cuts).  There are essen-
           tially 3 varieties: Geomaster 8 colors (beachball,  default  colors  in
           this  puzzle),  Duomaster  2  colors (black and white beachball), and a
           variety of picture Masterballs.  For some reason, they say the  Geomas-
           ter  is  easier  than  the  Duomaster.  The picture Masterballs are the
           hardest since all the pieces have a set solved position.   On  the  Duo
           and Geo Masterballs pieces could be swapped or in a different order and
           still be in a solved position.  Zurick University's Mathematics faculty
           has  calculated  that  Masterball's  32  segments  can  be  arranged in
           355,682,548,566,633,480,192,000,000  different  possible  combinations.
           Masterball was invented by Dr. Geza Gyovai Hungarian Engineer, manufac-
           tured by Whole Systems Design, Inc..

           Related puzzles are the Saturn Puzzle, a oriented Masterball  with  one
           band;  and  the  harder  Hockey Puck Puzzle, like the Saturn Puzzle but
           with 12 wedges instead of 8.

## FEATURES

           Press "mouse-left" button to move a piece.  Release "mouse-left" button
           on  another piece and the pieces will turn towards where the mouse but-
           ton is released.  Usually, a click and release on  the  same  wedge  is
           ambiguous  and  the  puzzle  will not turn.  If there is some ambiguity
           between a turn or a flip, a flip is assumed, except  if  shift  key  is
           used.

           Click  "mouse-center",  or press "P" or "p" keys to toggle the practice
           mode (in practice mode the record should say "practice").  This is good
           for learning moves and experimenting.

           Click  "mouse-right", or press "Z" or "z" keys, to randomize the puzzle
           (this must be done first to set a new record).

           Press "R" or "r" keys to read a saved puzzle.

           Press "W" or "w" keys to save (write) a puzzle.

           Press "U" or "u" keys to undo a move.

           Press "E" or "e" keys to redo a move.

           Press "C" or "c" keys to clear the puzzle.

           "S" or "s" keys to start auto-solver.  Only works for wedges <= 8 or  1
           band.

           Press "O" or "o" keys to toggle the orient mode.  One has to orient the
           wedges in orient mode, besides getting all the wedges to  be  the  same
           color.  To do this one has to get the numbers to be on the same side of
           the ball in clockwise order.

           Press "I" or "i" keys to increase the number of bands.

           Press "D" or "d" keys to decrease the number of bands.

           Press "2", "4", "6", "8", "0", or "=" keys (not the keypad 2, 4, 6,  8,
           0)  to  change to 2, 4, 6, 8, 10, or 12 wedges, respectively.  Note: if
           there were odd number of wedges, there would be no 180 degree turn  and
           therefore the puzzle would be inoperable.

           Press "T" or "t" keys to toggle the perspective look.

           Press ">" or "." keys to speed up the movement of pieces.

           Press "<" or "," keys to slow down the movement of pieces.

           Press "@" key to toggle the sound.

           Press "Esc" key to hide program.

           Press "Q", "q", or "CTRL-C" keys to kill program.

           Use the key pad or arrow keys to move without the mouse.
           Key pad is defined for Masterball as:
           N / *   Upper Upper Left, Counterclockwise, Upper Upper Right

           7 8 9   Upper Left, Up, Upper Right
             ^
           4<5>6   Left, Clockwise, Right
             v
           1 2 3   Lower Left, Down, Lower Right

            0  .   Lower Lower Left, Lower Lower Right

           Use the control key and the left mouse button, keypad, or arrow keys to
           move the whole Masterball.  This is not recorded as a turn.

           The title is in the following format (non-motif version):
                  xmball.{2|4|6|8|10|12<wedges>}: <number of bands> @ (<Number  of
                  moves>/{<Record   number  of  moves>  <user  name>|"NEVER  noac-
                  cess"|"practice"}) - <Comment>
           If there is no record of the current puzzle, it displays  "NEVER  noac-
           cess".

## OPTIONS

           -geometry {+|-}X{+|-}Y
                   This  option sets the initial position of the masterball window
                   (resource name "geometry").

           -display host:dpy
                   This option specifies the X server to contact.

           -[no]mono
                   This option allows you to display the masterball  window  on  a
                   color screen as if it were monochrome (resource name "mono").

           -[no]{reverse|rv}
                   This  option allows you to see the masterball window in reverse
                   video (resource name "reverseVideo").

           -{foreground|fg} color
                   This option specifies the foreground of the  masterball  window
                   (resource name "foreground").

           -{background|bg} color
                   This  option  specifies the background of the masterball window
                   (resource name "background").

           -wedge{0|1|2|3|4|5|6|7|8|9|10|11} <color>
                   This option allows you to change the color of a wedge (resource
                   name  "wedgeColorN"). In mono-mode, color is represented as the
                   first letter of the color name. The wedges are  ordered  clock-
                   wise.   If  you have two colors that begin with the same letter
                   you should have one in uppercase and one in lowercase  to  dis-
                   tinguish  them  in  mono-mode. You can change the colors of the
                   wedges to make a  stupid  Masterball  (i.e.  all  White  or  in
                   mono-mode  all  "W").   Unfortunately, it will not normally say
                   its solved when its randomized.  Similarly, with the Duomaster-
                   ball  (black and white), it may be solved color-wise but not by
                   its internal representation.  This would be cheating.

           -{border|bd} color
                   This option specifies the border color of  the  wedges  in  the
                   masterball window (resource name "borderColor").

           -delay msecs
                   This  option  specifies  the number of milliseconds it takes to
                   move pieces (1-50) (resource name "delay").

           -[no]sound
                   This option specifies if sliding pieces should make a sound  or
                   not (resource name "sound").

           -moveSound filename
                   This  option  specifies  the  file  for  the move sound for the
                   twisting of the puzzle (resource name "moveSound").

           -{font|fn} ontname
                   This option specifies the font that will be used (resource name
                   "font").

           -wedges <int>
                   This option allows you to change the number of wedges (resource
                   name "wedges").

           -bands <int>
                   This option allows you to change the number of bands  (resource
                   name "bands").

           -[no]orient
                   This option allows you to access the orient mode (resource name
                   "orient").

           -[no]practice
                   This option allows you to access the  practice  mode  (resource
                   name "practice").

           -base int
                   This  option  specifies  the  base  used  (default  is base 16)
                   (resource name "base").  When there are 12 wedges there is  not
                   much room, so base 10 was not used as the default.

           -userName string
                   This  option  specifies  the  user name for any records made or
                   else it will get your login name (resource name "userName").

           -scoreFile filename
                   Specify an alternative score file (resource name "scoreFile").

           -scores This option lists all the recorded scores and then exits.

           -version
                   This option tells you what version of xmball you have.

## RECORDS

           You must randomize the puzzle before a  record  is  set,  otherwise  an
           assumption of cheating is made if it is solved after a get.

## SAVE FORMAT

           Here is the format for the xmball configuration, starting position, and
           the movement of its pieces.

           Masterball numbered clockwise, with default colors, not randomized:
               0            Y       Yellow
           10     2      O     G    Orange, Green

           9       3    R       D   Red, Dark Green

            8     4      M     B    Magenta, Blue
               6            C       Cyan

           Extra colors: Pink, Saddle Brown, Light Steel Blue, Indian Red

                  wedges: 2-12 <number of wedges around ball (even only)>
                  bands: 1-MAXINT <number of slices around ball>
                  orient: 0-1 <0 false, 1 true; if true then numbers on puzzle  to
                  be oriented and ordered>
                  practice: 0-1 <0 false, 1 true>
                  moves: 0-MAXINT <total number of moves>

                  startingPosition:  <2  dimensional array of segment position, if
                  orient mode then orientation number follows each wedge number>

           This is then followed by the moves, starting from 1.
                  move #: <direction> <control> <sector>
           Each turn is with respect to a segment defined by wedge and band.
           Direction is represented as 0 up, 1 upper upper right, 2 upper right, 3
           right,  4 lower right, 5 lower lower right, 6 down, 7 lower lower left,
           8 lower left, 9 left, 10 upper left, 11 upper upper left, 13 clockwise,
           and 23 counterclockwise.
           Control is represented as 0 or 1, 1 if the whole ball is moved at once,
           0 if not.  The xmball record keeper does not count a control move as  a
           move, but here we do.

## REFERENCES

           http://wsd.com/masterball

## SEE ALSO

           X(1),  xcubes(6),  xtriangles(6),  xhexagons(6), xmlink(6), xbarrel(6),
           xpanex(6), xpyraminx(6), xoct(6), xrubik(6), xskewb(6), xdino(6), xaba-
           cus(6)

## COPYRIGHTS

           (R) Copyright 1994-2017, David A. Bagley

## BUG REPORTS AND PROGRAM UPDATES

           Send bugs (or their reports, or fixes) to the author:
                  David A. Bagley, <bagleyd AT verizon.net>

           The latest version is currently at:
                  http://www.sillycycle.com/puzzles.html
                  http://ibiblio.org/pub/Linux/games/strategy

    V8.0.6                            23 Mar 2017                    MASTERBALL(6)