A simplified Japanese riichi mahjong without melding and honor tiles
Repo: https://github.com/usumerican/smallmahjong
Ref: https://en.wikipedia.org/wiki/Japanese_mahjong
This application is played with 4 or less players (you and AI opponents).
It uses 108 tiles of 27 different types.
Each tile type has a suit and a rank.
Tile groups are
The number of stock tiles is 14 per player.
The number of dealt tiles can be selected from 4, 7, 10 and 13.
The winning hand consists of
After all the players have been dealt their tiles, the players take turns drawing one tile from the stock and discarding one of the tiles they do not need in order to win.
When the remaining one tile is enough to win, the player can declare Reach.
If the player declares Reach, the hand cannot be changed, but the player can declare Ron on the tile discarded by the opponent and win.
Even if you do not declare Reach, you can still declare Tsumo and win if the tiles you have drawn are in winning hand.
When a player wins, the winner gets the total points of the winning conditions per opponent player.
In case of win by Ron, the player who discards the winning tile loses the winner's score alone.
In case of win by Tsumo, all players except the winner lose the total points of the winning conditions.
In case of no more tiles in the stock, the game is drawn.
Ref: https://en.wikipedia.org/wiki/Japanese_mahjong_yaku