ritchie/elements/meld/ankan

Closed Kan, formed by setting aside 4 tiles of the same kind in a player’s closed hand. This can be done during the player’s own turn. Declaring Ankan does not technically open one’s hand (making closed yaku still effective), but it does reveal that part of the hand to others.

Types

pub type Ankan {
  Ankan(own: List(tile.Tile))
}

Constructors

Values

pub fn consume_from_hand(
  ak: Ankan,
  hand: tile_set37.TileSet37,
) -> tile_set37.TileSet37

Removes all own tiles from hand.

pub fn from_hand(
  hand: tile_set37.TileSet37,
  tile: tile.Tile,
) -> option.Option(Ankan)

Constructs from the closed hand for the specified tile.

pub fn from_tiles(own: List(tile.Tile)) -> option.Option(Ankan)

Constructs Ankan from 4 own tiles.

pub fn num(ak: Ankan) -> Int
pub fn suit(ak: Ankan) -> Int
✨ Search Document