From bfa49b48b605b36f0b5b0c028fb4e376453e80e6 Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Tue, 13 Mar 2018 22:45:13 -0400 Subject: [PATCH] Make code clearer --- lib/chess/moves/pawn.ex | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/lib/chess/moves/pawn.ex b/lib/chess/moves/pawn.ex index 67bae47..dc375b0 100644 --- a/lib/chess/moves/pawn.ex +++ b/lib/chess/moves/pawn.ex @@ -3,28 +3,29 @@ defmodule Chess.Moves.Pawn do def moves(board, {file, rank}) do board["#{file},#{rank}"] + |> Map.get("colour") |> _moves(board, {file, rank}) end - defp _moves(%{"colour" => "white"}, board, {file, rank}) do + defp _moves("white", board, {file, rank}) do cond do - obstruction?(board, {file, rank + 1}) -> [] - rank == 1 -> [ - {file, rank + 1} | - _moves(%{"colour" => "white"}, board, {file, rank + 1}) - ] - true -> [{file, rank + 1}] + obstruction?(board, {file, rank + 1}) -> + [] + rank == 1 -> + [{file, rank + 1} | _moves("white", board, {file, rank + 1})] + true -> + [{file, rank + 1}] end end - defp _moves(%{"colour" => "black"}, board, {file, rank}) do + defp _moves("black", board, {file, rank}) do cond do - obstruction?(board, {file, rank - 1}) -> [] - rank == 6 -> [ - {file, rank - 1} | - _moves(%{"colour" => "black"}, board, {file, rank - 1}) - ] - true -> [{file, rank - 1}] + obstruction?(board, {file, rank - 1}) -> + [] + rank == 6 -> + [{file, rank - 1} | _moves("black", board, {file, rank - 1})] + true -> + [{file, rank - 1}] end end