This is an implementation of a Mahjong game in ocaml.
The list of Mahjong tiles:
- Circle suit: named as each tile consists of a number of circles (from 1 to 9). Each circle is said to represent copper (tong) coins with a square hole in the middle.
- Bamboo suit: named as each tile (except the 1 Bamboo) consists of a number of bamboo sticks (from 1 to 9). Each stick is said to represent a string (suo) that holds a hundred coins.
- Character suit: named as each tile represents ten thousand (wan) coins (from 1 to 9), or one hundred strings of one hundred coins.
- Wind tiles: East, South, West, and North.
- Dragon tiles: red, green, and white.
- Flower (and seasons) tiles: typically optional components to a set of mahjong tiles, often contain artwork on their tiles.
four tiles of each are available.
Let's implement the tiles using a list.