ritchie/elements/meld/kakan

A kan formed by an existing Pon + the 1 last identical tile from closed hand. This can be formed when the owner of the Pon is in action.

Types

Kakan meld. Takes:

  • pon: The original Pon.
  • added: The extra tile from the player’s closed hand.
pub type Kakan {
  Kakan(pon: pon.Pon, added: tile.Tile)
}

Constructors

Values

pub fn consume_from_hand(
  kk: Kakan,
  hand: tile_set37.TileSet37,
) -> tile_set37.TileSet37

Removes the added tile from the hand.

pub fn from_pon_added(
  pon: pon.Pon,
  added: tile.Tile,
) -> option.Option(Kakan)

Constructs from an existing Pon and the (last) added tile.

pub fn from_pon_hand(
  pon: pon.Pon,
  hand: tile_set37.TileSet37,
) -> option.Option(Kakan)

Constructs from an existing Pon and the closed hand. If the closed hand does not have the last remaining tile, returns None.

pub fn num(kk: Kakan) -> Int
pub fn suit(kk: Kakan) -> Int
✨ Search Document