Riichi.Wall (riichi v0.2.0)

Copy Markdown View Source

Summary

Types

t()

@type t() :: %Riichi.Wall{
  draw_index: non_neg_integer(),
  mode: Riichi.Rules.mode(),
  rinshan_draw_index: non_neg_integer(),
  tiles: tuple()
}

Functions

deal_hands(wall)

@spec deal_hands(t()) :: {[Riichi.Hand.t(), ...], t()}

dora_indicators(wall, amount)

@spec dora_indicators(t(), non_neg_integer()) :: [Riichi.Tile.t()]

draw(wall)

@spec draw(t()) :: {Riichi.Tile.t(), t()}

draw_n(wall, n)

@spec draw_n(t(), non_neg_integer()) :: {[Riichi.Tile.t()], t()}

draws_left(wall)

@spec draws_left(t()) :: non_neg_integer()

has_draws?(wall)

@spec has_draws?(t()) :: boolean()

has_rinshan_draws?(wall)

@spec has_rinshan_draws?(t()) :: boolean()

new(rules)

@spec new(Riichi.Rules.t()) :: t()

new_from_tiles(rules, wall)

@spec new_from_tiles(Riichi.Rules.t(), [Riichi.Tile.t(), ...]) :: t()

rinshan_draw(wall)

@spec rinshan_draw(t()) :: {Riichi.Tile.t(), t()}

sorted_tiles(rules)

ura_dora_indicators(wall, amount)

@spec ura_dora_indicators(t(), non_neg_integer()) :: [Riichi.Tile.t()]