Utilities¶
Test Functions¶
options:
show-signature:
options:
show-signature:
Paipu Replay
options:
show-signature:
options:
show-signature:
Pretrained Models
VLOGMahjong
The VLOG (Variational Latent Oracle Guiding) model used as pretrained opponents.
options:
members:
- select
- forward
show-inheritance:
Model Files
Two pretrained models are available:
Model |
Description |
|---|---|
|
VLOG + Conservative Q-learning |
|
VLOG + Behavior Cloning |
Download from GitHub Releases.
C++ Backend Classes
The following classes are exposed from the C++ backend via pybind11:
Table
import MahjongPyWrapper as pm
table = pm.Table()
table.game_init()
table.get_phase()
table.get_self_actions()
table.get_response_actions()
table.make_selection(0)
Player
player = table.players[0]
player.hand # List of tiles
player.river # Discarded tiles
player.score # Player score
player.riichi # Riichi status
player.is_tenpai() # Check tenpai
Tile
tile = player.hand[0]
tile.tile # BaseTile enum
tile.red_dora # Whether red dora
tile.id # Unique tile ID
BaseAction Enum
pm.BaseAction.Discard
pm.BaseAction.Chi
pm.BaseAction.Pon
pm.BaseAction.Kan
pm.BaseAction.Ron
pm.BaseAction.AnKan
pm.BaseAction.KaKan
pm.BaseAction.Riichi
pm.BaseAction.Tsumo
pm.BaseAction.Kyushukyuhai
pm.BaseAction.Pass
BaseTile Enum
# Characters (Man)
pm.BaseTile._1m # through pm.BaseTile._9m
# Dots (Pin)
pm.BaseTile._1p # through pm.BaseTile._9p
# Bamboo (Sou)
pm.BaseTile._1s # through pm.BaseTile._9s
# Winds
pm.BaseTile.east
pm.BaseTile.south
pm.BaseTile.west
pm.BaseTile.north
# Dragons
pm.BaseTile.haku # White
pm.BaseTile.hatsu # Green
pm.BaseTile.chu # Red