BattleCity.Position (battle_city v0.1.3) View Source
Position
Link to this section Summary
Functions
iex> Elixir.BattleCity.Position.div_even(24.1) 4 iex> Elixir.BattleCity.Position.div_even(23.9) 2 iex> Elixir.BattleCity.Position.div_even(32.1) 4 iex> Elixir.BattleCity.Position.div_even(40.1) 6 iex> Elixir.BattleCity.Position.div_even(39.9) 4
iex> Elixir.BattleCity.Position.normalize_number(:up, 2, :x) 2 iex> Elixir.BattleCity.Position.normalize_number(:up, 3) 4 iex> Elixir.BattleCity.Position.normalize_number(:down, 3) 2
iex> Elixir.BattleCity.Position.target(%{direction: :right, rx: 0}, 2) 2 iex> Elixir.BattleCity.Position.target(%{direction: :left, rx: 1}, 2) 0 iex> Elixir.BattleCity.Position.target(%{direction: :up, ry: 3}, 2) 1
Link to this section Types
Specs
Specs
direction() :: :up | :down | :left | :right
Specs
height() :: 0..2
Specs
path() :: [coordinate()]
Specs
rx() :: 0..192
Specs
ry() :: 0..192
Specs
speed() :: 1..10
Specs
Specs
width() :: 0..2
Specs
x() :: 0..24
Specs
y() :: 0..24
Link to this section Functions
Specs
Specs
div_even(float()) :: x_or_y()
iex> Elixir.BattleCity.Position.div_even(24.1) 4 iex> Elixir.BattleCity.Position.div_even(23.9) 2 iex> Elixir.BattleCity.Position.div_even(32.1) 4 iex> Elixir.BattleCity.Position.div_even(40.1) 6 iex> Elixir.BattleCity.Position.div_even(39.9) 4
Specs
Specs
Specs
normalize_number(direction(), x_or_y(), :x | :y | nil) :: x_or_y()
iex> Elixir.BattleCity.Position.normalize_number(:up, 2, :x) 2 iex> Elixir.BattleCity.Position.normalize_number(:up, 3) 4 iex> Elixir.BattleCity.Position.normalize_number(:down, 3) 2
Specs
iex> Elixir.BattleCity.Position.target(%{direction: :right, rx: 0}, 2) 2 iex> Elixir.BattleCity.Position.target(%{direction: :left, rx: 1}, 2) 0 iex> Elixir.BattleCity.Position.target(%{direction: :up, ry: 3}, 2) 1