MASTERBALL(6)

NAME
xmball - Masterball X widget

SYNOPSIS
/usr/games/xmball [-geometry [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]] [-display [{host}]:[{vs}]] [-[no]mono] [-[no]{reverse|rv}] [-{foreground|fg} {color}] [-{background|bg} {color}] [-{border|bd} {color}] [-wedge{0|1|2|3|4|5|6|7} {color}] [-wedges {int}] [-rings {int}] [-[no]orient] [-[no]practice] [-base {int}] [-username {string}]

DESCRIPTION

The original puzzle has 8 sectors on a sphere (longitudinal cuts), with each sector divided into 4 segments (latitudinal cuts). There are essentially 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 Geomaster is harder than the Duomaster. The picture Masterballs are the hardest since all the pieces have a set solved postion. On the Duo and Geo Masterballs pieces could be swapped or in a different order and still be in a solved postion. 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, manufactured by Whole Systems Design, Inc..

FEATURES
Press "mouse-left" button to move a sector. Release "mouse-left" button on another piece and the pieces will turn towards where the mouse button is released. Usually, a click and release on the same wedge is ambiguous and the puzzle will not turn.

Click "mouse-center", or press "P" or "p" keys to toggle the practice mode (in practice mode the record should say "practice"). One must double click on "mouse-center" if the puzzle is being worked on. This is good for learning moves and experimenting.

Click "mouse-right", or press "R" or "r" keys to randomize (this must be done first to set a new record). One must double click on "mouse-right" if the puzzle is being worked on.

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

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

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 "2", "4", "6", or "8" keys (not the keypad 2, 4, 6, 8) to change to 2, 4, 6, or 8 wedges, respectively. Note: if there were odd number of wedges, there would be no 180 degree turn and therefore the puzzle would be inoperable.

"S" or "s" are reserved for the auto-solver (unimplemented).

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

Press "G" or "g" keys to get a saved puzzle.

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

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

Use the key pad, "R" keys, or arrow keys to move without mouse clicks.
Key pad is defined for Masterball as:
  / Counterclockwise

7 8 9 Upper Left, Up, Upper Right
  ^
4<5>6 Left, Clockwise, Right
  v
1 2 3 Lower Left, Down, 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<wedges>}: <number of sectors per wedge> @ (<Number of moves>/{<Record number of moves> <username>|"NEVER noaccess"|"practice"}) - <Comment>
If there is no record of the current puzzle, it displays "NEVER noaccess".

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 on a color screen as if monochrome (resource name "mono").

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

-{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").

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

-wedge{0|1|2|3|4|5|6|7} <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 clockwise. If you have two colors that begin with the same letter you should have one in uppercase and one in lowercase to distinguish 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 Duomasterball (black and white), it may be solved color-wise but not by its internal representation. This would be cheating.

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

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

-[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").

SAVE FORMAT
The format is not standard. The reason for this is that this is simple and I do not know what the standard is.

Masterball numbered clockwise, with default colors, not randomized:
    0 Y Yellow
 7 1 D B Dark Green, Blue

6 2 C R Cyan, Red

 5 3 O M Orange, Magenta
    4 G Green

    wedges: 1-8 <number of wedges around ball>
    rings: 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 sector wedge position, if orient mode then orientation number follows each wedge number>

This is then followed by the moves, starting from 1.
    move #: <wedge> <ring> <direction> <control>
Each turn is with respect to a sector defined by wedge and ring.
Direction is represented as 0 up, 1 right, 2 down, 3 left, 4 upper right, 5 lower right, 6 lower left, 7 upper left, 9 clockwise, and 15 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.

Caution: the program may crash on corrupted input.

REFERENCES
http://wsd.com/masterball

SEE ALSO

X(1), xrubik(6), xskewb(6), xdino(6), xpyraminx(6), xoct(6), xmlink(6), xpanex(6), xcubes(6), xtriangles(6), xhexagons(6), xabacus(1)

COPYRIGHTS

® Copyright 1994-99, David Albert Bagley

BUG REPORTS AND PROGRAM UPDATES

Send bugs (or their reports, or fixes) to the author
    David Albert Bagley, <bagleyd@tux.org>

The latest version is currently at:
    ftp://ftp.tux.org/pub/tux/bagleyd/xpuzzles
    ftp://ftp.x.org/contrib/games