xmahjongg - colorful solitaire Mah Jongg game
xmahjongg [--display display] [options]
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.
HOW TO PLAY
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 white).
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
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!
CONTROLS AND APPEARANCE
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, xmahjongg 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.
Xmahjongg 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)
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 redo
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 later.
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 without
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
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 can
read them.) See the -l and -t options.
Long option names can be abbreviated to their unique prefixes.
-n N 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, from
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 its filename.
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
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
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.
xmahjongg version 3 is a complete rewrite by Eddie Kohler
<email@example.com> of xmahjongg versions 1 and 2 by Jeff S. Young
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 was 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
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 http://www.kyodai.com/.
Eddie Kohler, email@example.com
The xmahjongg home page.