Help:MahjongTile

From Japanese Mahjong Wiki
Revision as of 02:04, 31 July 2013 by Bps (talk | contribs) (finished now, I think)
Jump to navigation Jump to search

MahjongTile is a MediaWiki extension that makes it easy to output sequences of mahjong tile images, for example:

by use of the parser function #mjt. Specifically, it converts tile strings into their corresponding sequence of wiki markup image insertions, e.g.:

19p -> [[File:Tile-1p.png]][[File:Tile-9p.png]]
MahjongTile is written by bps. Bug reports and feature requests are always welcome.

Usage

The command can be invoked at any point in the wiki markup.

Syntax

{{ #mjt: tile string | size option }}

Tile string

The tile string is similar to the way people communicate strings of tiles through text. First, an example, and its output:

Code Result
{{#mjt: 123m}}

The 123 part is self-explanatory, and the m part stands for man. 123m is called the tile string.

In general, a tile sequence consists of a series of digits (0 through 9) followed by a descriptor character describing which set they belong to. There are four groups:

Group Descriptor Full array (code) Full array
Man m
{{#mjt: 0123456789m}}
Pin p
{{#mjt: 0123456789p}}
Sou s
{{#mjt: 0123456789s}}
Jihai z
{{#mjt: 0123456789z}}

More complex configurations can also be described, by simply concatenating strings like above. Another example:

Code Result
{{#mjt: 456m789s}}

Spaces in a tile string are also ignored, so the following are equivalent:

123m1111z
123m 1111z
123m     1111z
1 23m1111z
123m11 11z
12 3m1111    z
1 23  m1 11 1z
...

The jihai group (see the table above) can also be used to refer to "unknown" or "face-down" tiles, as is often convenient when describing certain components of a hand. Example:

Code Result
The iipeikou yaku looks something like:

{{#mjt: 345345m00000000z}}
The iipeikou yaku looks something like:

Tile orientation

There are additional flags that can be applied to specific tiles or entire tile groupings that adjust their orientation.

Orientation Flag
Sideways ("pointing east/right") '
Sideways ("pointing west/left") "

These can be applied after a digit, affecting that individual tile only, or after a descriptor, then affecting the entire sequence of tiles in that grouping. The following examples should make this clear:

Code Result Comment
{{#mjt: 123m4'5"6m789m'}}
This meaningless example shows the two ways in which the flags can be placed.
{{#mjt: 444m22p123678s}} {{#mjt: 111'z}}
This more realistic example demonstrates how the feature might actually be used. Note the two commands separated by a space, for readability.
{{#mjt: 1"33s'}} {{#mjt: 37'7s"}}
Here we see how the individually set orientation overrides the grouping orientation. This is just how it works, it's not indended for any magical purpose. It is probably more efficient.

If you can think of a reason why upside down tiles should also be implemented, let me know and I will add that too. I really can't think of a (not incredibly contrived) situation that warrants upside down tile images.

Size option

This is the size option you would pass to any image. First, an explanation with a regular image:

Code Result
[[File:Canard_plastique.jpg|200px]]
File:Canard plastique.jpg

Now, try with MahjongTile:

Code Result
{{#mjt: 1m1s' | 200px}}

It works a bit weird, so you should refer to the MediaWiki help page. You may find you have to split up your sequence into multiple commands. If they are not separated by any whitespace, they should behave as if they were stuck together with just one command.

Full list of tile images available