xmahjongg - colorful solitaire Mah Jongg game
[ --display display
Real Mah Jongg is a social game that originated in China thousands of years ago.
Four players, named after the four winds, take tiles from a wall in turn. The
best tiles are made of ivory and wood; they click pleasantly when you knock
them together. Computer Solitaire Mah Jongg (xmahjongg
being one of the
sillier examples) is nothing like that but it's fun, or it must be, since
there are like 300 shareware versions available for Windows. This is for X11
and it's free.
The object is to remove all Mah Jongg tiles from the playing field by taking one
matching pair at a time. Generally, two tiles match if they have identical
pictures on top. There are some exceptions: any season tile (spring, summer,
autumn, or winter) matches any other season, and any flower tile (bamboo,
orchid, plum, or chrysathemum) matches any other flower. There are 144 tiles
in all -- one of each season and flower, and four copies of each of the
following: 1 to 9 dots; 1 to 9 bamboo sticks; characters for 1 to 9; the four
winds (north, south, east, and west); and three dragons (red, green, and
Only free tiles
can be removed. A tile is free if its entire top face is
unobstructed and either its left or its right edge is open. (When looking at
the left and right edges, only tiles on the same level count.)
The rules are simple, but winning, it turns out, can be pretty hard. It's easy
to make a move that causes a stalemate thirty or more moves later. What's
worse, the --any-boards
option lets xmahjongg
create boards that
cannot be solved at all!
To select a free tile, simply click it with the left mouse button and it will
light up. Click it again to deselect it. If you try to select a non-free tile,
will beep at you. To remove a matched pair, just select one
of the pair and click on the other one. The number in the upper left corner
tells you how many tiles you have left. This is all you really need to know to
play the game.
comes with several features that may dismay purists, but make
the game more pleasant to play. First is the match count
, an array of
small gold coins in the upper middle. Each coin represents one potential match
on the board. (If three mutually matching tiles are free, it counts as three
matches, and if four are free, that's six matches.) This will let you know
when the game is over (no gold coins means no matches -- a dead end) and when
you're getting close.
The five buttons along the top right have the following functions:
- New (keystroke: n)
- Start a new game.
- Quit (keystroke: q)
- Quit xmahjongg.
- Undo (keystroke: u)
- Undoes your last move. You can undo multiple moves by
clicking multiple times. If you change your mind about undoing a move,
hold down Shift while you click the Undo button (or press r) to
- Hint (keystroke: h)
- Gives you a hint by flashing a set of free matching tiles.
You can cycle through all existing matches by clicking multiple times. If
you select a tile and then click Hint, xmahjongg will flash any
free tiles that match that tile, or beep if there aren't any.
- Clean (keystroke: c)
- Cleans the board by automatically removing obvious matches.
A match is obvious if it involves all the remaining tiles of a given type.
(For example, if there are 2 green dragons left and they are both free,
they form an obvious match; but if there are 4 left and only 3 are free,
they don't.) Cleaning the board is guaranteed not to cause a stalemate
- Solve (no button; keystroke: s)
- If you get stuck, press the s key. After the board
is restored to its original state, xmahjongg will show you one way
to solve it by removing tiles two at a time. Press s again to speed
up the solution, or press Esc to stop. This won't work if you gave
the --any-boards option (see below).
Additionally, the Escape
key deselects any selected tile.
You can use the arrow keys and the spacebar to play xmahjongg
using the mouse. These keys control the cursor
, which is shown as a
flashing tile. The arrow keys move the cursor around on the board in the
obvious directions. The spacebar is like clicking the mouse button on the
cursor tile: it either selects the tile or removes a matching pair.
The hint key, `h', is also useful for playing without the mouse. Experiment with
`h', the spacebar, and the Return key to see how this works. When a hint is
active, the spacebar is like clicking on one of the flashing hint tiles, while
the Return key is like clicking on two of them (so it removes the tiles in one
stroke). This method gives the fastest playing speed.
If you get bored with xmahjongg
's original layout and appearance, never
fear: it comes with several tilesets (tile images) and layouts (tile
arrangements). In addition to these, xmahjongg
can read layout files
from the original xmahjongg, KDE Mahjongg, and Kyodai Mahjongg, and tilesets
in KDE Mahjongg, Gnome Mahjongg, and Kyodai Mahjongg format. (However,
tilesets must be converted to GIF format before xmahjongg
them.) See the [-l]
Long option names can be abbreviated to their unique prefixes.
- Start with board number N.
- Use the specified game layout. xmahjongg comes with
several layouts. The normal layout is called default; to see the
other ones' names, run `xmahjongg --list'. You can also use an
arbitrary layout by giving its filename. Xmahjongg can read layouts
in its own simple format, in KDE kmahjongg format, or in Kyodai Mahjongg
format. (Kyodai Mahjongg is one of the more popular Windows Mah Jongg
solitaire games. It's got 3D tiles and all sorts of stuff. See
http://www.kyodai.com for more information. You can download a zip archive
with more than 100 different layouts, mostly usable with xmahjongg,
- Use the specified tileset to draw the Mah Jongg tiles.
Xmahjongg comes with several extra tilesets, particularly
small (perfect for smaller screens). There are others too; run
`xmahjongg --list' for a complete listing.
- The background image is set to image. Run
`xmahjongg --list' to see the backgrounds that come with
xmahjongg, or use an arbitrary GIF as a background image by giving
- Lists all the layouts, tilesets, and backgrounds that came
with xmahjongg, then exits.
- Always create solvable boards. This is the default.
- Allow any legal board, some of which will be solvable and
some of which won't.
- Sets the X display to display.
- Specifies the application name under which resources are
found, rather than the default ``xmahjongg''. Since xmahjongg
itself does not use the resource database, this is mostly useful for
communication with your window manager.
- This standard X option specifies the preferred size and
position for the xmahjongg window.
- Prints usage information and exits.
- Prints the version number and some quickie warranty
information and exits.
Please email suggestions, additions, patches and bugs to firstname.lastname@example.org.
The following features have not made it into 3.0 as of yet:
- Tournament mode.
- Board setup mode.
version 3 is a complete rewrite by Eddie Kohler
<email@example.com> of xmahjongg
versions 1 and 2 by Jeff S.
The default tileset was originally created in color by Dorothy Robinson
<firstname.lastname@example.org> with Mark A. Holm <email@example.com>. The
publicly available version was in black-and-white. Holm copyrighted the tiles
in 1988, giving permission to copy and distribute for non-profit purposes. The
significantly altered color version that comes with xmahjongg
created by Eddie Kohler in 1993. The `small' tileset was found at
http://www.mahjongg.com/, and is presumably by Berrie Bloem. The `gnome' and
`gnome2' tilesets were created by Jonathan Buzzard and Max Watson. The
`dorothys' and `dorwhite' tilesets were made by Dorothy Robinson
<firstname.lastname@example.org>. The `real' tileset was scanned by Mark Sanctuary
Many of the layouts are based on layouts designed for Kyodai Mahjongg, a fun
Windows Mah Jongg game. In particular, `arena', `ceremonial', `deepwell',
`farandole', and `theater' are by Naoki Haga, and `hourglass' and `papillon'
are by Vincent Krebs. Kyodai Mahjongg's Web homepage is
Eddie Kohler, email@example.com