42 lines
1.1 KiB
Elixir
42 lines
1.1 KiB
Elixir
defmodule Chesstrainer.Endgames.Tablebase.Move do
|
|
@moduledoc """
|
|
Moves struct for the tablebase
|
|
"""
|
|
|
|
@type result :: :win | :draw | :loss
|
|
|
|
@type t :: %__MODULE__{
|
|
category: result,
|
|
checkmate: boolean(),
|
|
conversion: boolean(),
|
|
dtc: integer() | nil,
|
|
dtm: integer() | nil,
|
|
dtw: integer() | nil,
|
|
dtz: integer() | nil,
|
|
precise_dtz: integer() | nil,
|
|
san: String.t() | nil,
|
|
stalemate: boolean(),
|
|
uci: String.t() | nil,
|
|
variant_loss: boolean(),
|
|
variant_win: boolean(),
|
|
zeroing: boolean(),
|
|
insufficient_material: boolean()
|
|
}
|
|
|
|
defstruct category: nil,
|
|
checkmate: false,
|
|
conversion: false,
|
|
dtc: nil,
|
|
dtm: nil,
|
|
dtw: nil,
|
|
dtz: nil,
|
|
precise_dtz: nil,
|
|
san: nil,
|
|
stalemate: false,
|
|
uci: nil,
|
|
variant_loss: false,
|
|
variant_win: false,
|
|
zeroing: false,
|
|
insufficient_material: false
|
|
end
|