麻雀牌 (Tile)

麻雀牌定義はJavaのEnumで行っています

麻雀牌の定義をEnumで行っています

MahjongTileType

麻雀牌の種類を定義しています

定義日本語
MANZU萬子
PINZU筒子
SOHZU索子
FONPAI風牌
SANGEN三元牌

MahjongTile

麻雀牌一つ一つの定義をしています

数牌

  • 萬子はM
  • 筒子はP
  • 索子はS

が頭に付き、その後に1~9の数字が付きます
例:

  • M1 //1萬
  • M2 //2萬
  • P7 //7筒

風牌・三元牌

風牌・三元牌は3文字に短縮して表記しています
こちらはソースコードをご参照下さい

code/type/number

各パラメータについての説明です

Code

全ての牌には連番でCodeを設定しています
順番は

  1. 萬子
  2. 筒子
  3. 索子
  4. 風牌
  5. 三元牌

の順です
数牌の順番はアルファベット順です
このCodeはgetCode()で取得できます

M7.getCode() // 6
S8.getCode() // 25
HAT.getCode() // 32

例えば、MahjongHands(手牌クラス)などで使っています

Type

麻雀牌の種類(萬子や三元牌など)です下記のMahjongTileTypeを保持しています

このTypeはgetType()で取得できます

S4.getType() // SOHZU
P5.getType() // PINZU
SHA.getType() // FONPAI

例えば、HonitsuResolver(混一色判定クラス)
などで使用しています

Number

数牌は1~9の数字 字牌(風牌・三元牌)は0を保持しています
このNumberはgetNumber()で取得できます

M4.getNumber() // 4
S9.getNumber() // 9
SHA.getNumber() // 0
CHN.getNumber() // 0

例えば、Shuntsu(順子クラス)などで使用しています