perudox v0.1.0 Perudox.Game.State

This module holds the state of a game. It also exposes functions to verify state, interact with it and transform it.

Summary

Types

mode()
mode() :: :normal | :palifico
phase()
phase() :: :open | :bets
players()
players() :: [Perudox.Player.t]
t()
t() :: %Perudox.Game.State{dice_count: Perudox.Player.State.count, first_player: Perudox.Player.t, first_player_turn: boolean, hand_counts: %{optional(Perudox.Player.State.t) => Perudox.Player.State.count}, history: [Perudox.Bet.t], mode: mode, phase: phase, players: players, previous_player: Perudox.Player.t}

Functions

add_player(state, player)
bet(state, actor, bet)
bet_allowed?(state, bet)
bet_allowed?(Perudox.Game.State.t, Perudox.Bet.t) ::
  :ok |
  {:error, atom}
bet_exactly_fulfilled?(state)
bet_exactly_fulfilled?(Perudox.Game.State.t) :: boolean
bet_fulfilled?(state)
bet_fulfilled?(Perudox.Game.State.t) :: boolean
calzo(state, player)
dudo(state, actor)
handle_calzo(state, player, arg3)
occurences_of(arg1, data, value)
start(state)
start(Perudox.Game.State.t) ::
  Perudox.Game.State.t |
  {:error, atom}