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}] [-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 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 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, manufactured 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 button 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 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 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 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.
-{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 #: <wedge> <band> <direction> <control>
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

Copyrights

® Copyright 1994-2010, David A. Bagley

Bug reports and program updates

Send bugs (or their reports, or fixes) to the author:

David A. Bagley, <bagleyd@tux.org>

The latest version is currently at:

http://www.tux.org/~bagleyd/puzzles.html
ftp://ibiblio.org/pub/Linux/games/strategy