mirror of
https://github.com/danbee/chess
synced 2025-03-04 08:39:06 +00:00
16 lines
374 B
Elixir
16 lines
374 B
Elixir
defmodule Chess.Moves.King do
|
|
@moduledoc false
|
|
|
|
def moves(_board, {file, rank}) do
|
|
patterns()
|
|
|> Enum.map(fn ({fv, rv}) -> {file + fv, rank + rv} end)
|
|
|> Enum.reject(fn ({file, rank}) ->
|
|
file < 0 || rank < 0 || file > 7 || rank > 7
|
|
end)
|
|
end
|
|
|
|
defp patterns do
|
|
[{1, 1}, {1, 0}, {1, -1}, {0, -1}, {-1, -1}, {-1, 0}, {-1, 1}, {0, 1}]
|
|
end
|
|
end
|