1
0
mirror of https://github.com/danbee/chess synced 2025-03-04 08:39:06 +00:00

Re-organise pieces

This commit is contained in:
Daniel Barber 2018-03-18 10:31:34 -04:00
parent 18aa9faab4
commit 6c944243fb
Signed by: danbarber
GPG Key ID: 931D8112E0103DD8
14 changed files with 31 additions and 31 deletions

View File

@ -1,12 +1,12 @@
defmodule Chess.Moves do defmodule Chess.Moves do
@moduledoc false @moduledoc false
alias Chess.Moves.Pawn alias Chess.Moves.Pieces.Pawn
alias Chess.Moves.Bishop alias Chess.Moves.Pieces.Bishop
alias Chess.Moves.Knight alias Chess.Moves.Pieces.Knight
alias Chess.Moves.Rook alias Chess.Moves.Pieces.Rook
alias Chess.Moves.Queen alias Chess.Moves.Pieces.Queen
alias Chess.Moves.King alias Chess.Moves.Pieces.King
def available(board, {file, rank}) do def available(board, {file, rank}) do
piece = board["#{file},#{rank}"] piece = board["#{file},#{rank}"]

View File

@ -2,7 +2,7 @@ defmodule Chess.Moves.Piece do
@moduledoc false @moduledoc false
alias Chess.Moves.Generator alias Chess.Moves.Generator
alias Chess.Moves.Knight alias Chess.Moves.Pieces.Knight
def attacked?(board, {file, rank}) do def attacked?(board, {file, rank}) do
attacked_by_rook_or_queen?(board, {file, rank}) || attacked_by_rook_or_queen?(board, {file, rank}) ||

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.Bishop do defmodule Chess.Moves.Pieces.Bishop do
@moduledoc false @moduledoc false
alias Chess.Moves.Generator alias Chess.Moves.Generator

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.King do defmodule Chess.Moves.Pieces.King do
@moduledoc false @moduledoc false
alias Chess.Moves.Generator alias Chess.Moves.Generator

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.Knight do defmodule Chess.Moves.Pieces.Knight do
@moduledoc false @moduledoc false
alias Chess.Moves.Generator alias Chess.Moves.Generator

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.Pawn do defmodule Chess.Moves.Pieces.Pawn do
@moduledoc false @moduledoc false
def moves(board, {file, rank}) do def moves(board, {file, rank}) do

View File

@ -1,8 +1,8 @@
defmodule Chess.Moves.Queen do defmodule Chess.Moves.Pieces.Queen do
@moduledoc false @moduledoc false
alias Chess.Moves.Rook alias Chess.Moves.Pieces.Rook
alias Chess.Moves.Bishop alias Chess.Moves.Pieces.Bishop
def moves(board, {file, rank}) do def moves(board, {file, rank}) do
Rook.moves(board, {file, rank}) ++ Rook.moves(board, {file, rank}) ++

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.Rook do defmodule Chess.Moves.Pieces.Rook do
@moduledoc false @moduledoc false
alias Chess.Moves.Generator alias Chess.Moves.Generator

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.BishopTest do defmodule Chess.Moves.Pieces.BishopTest do
use Chess.DataCase use Chess.DataCase
alias Chess.Moves alias Chess.Moves

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.KingTest do defmodule Chess.Moves.Pieces.KingTest do
use Chess.DataCase use Chess.DataCase
alias Chess.Moves alias Chess.Moves

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.KnightTest do defmodule Chess.Moves.Pieces.KnightTest do
use Chess.DataCase use Chess.DataCase
alias Chess.Moves alias Chess.Moves

View File

@ -1,17 +1,17 @@
defmodule Chess.Moves.PawnTest do defmodule Chess.Moves.Pieces.PawnTest do
use Chess.DataCase use Chess.DataCase
alias Chess.Moves.Pawn alias Chess.Moves
test "white pawn can move forward one or two spaces" do test "white pawn can move forward one or two spaces" do
moves = Pawn.moves(default_board(), {4, 1}) moves = Moves.available(default_board(), {4, 1})
expected_moves = [{4, 2}, {4, 3}] expected_moves = [{4, 2}, {4, 3}]
assert moves == expected_moves assert moves == expected_moves
end end
test "black pawn can move forward one or two spaces" do test "black pawn can move forward one or two spaces" do
moves = Pawn.moves(default_board(), {4, 6}) moves = Moves.available(default_board(), {4, 6})
expected_moves = [{4, 5}, {4, 4}] expected_moves = [{4, 5}, {4, 4}]
assert moves == expected_moves assert moves == expected_moves
@ -19,7 +19,7 @@ defmodule Chess.Moves.PawnTest do
test "white pawn not on starting square can move forward one space" do test "white pawn not on starting square can move forward one space" do
board = %{"4,2" => %{"type" => "pawn", "colour" => "white"}} board = %{"4,2" => %{"type" => "pawn", "colour" => "white"}}
moves = Pawn.moves(board, {4, 2}) moves = Moves.available(board, {4, 2})
expected_moves = [{4, 3}] expected_moves = [{4, 3}]
assert moves == expected_moves assert moves == expected_moves
@ -27,7 +27,7 @@ defmodule Chess.Moves.PawnTest do
test "black pawn not on starting square can move forward one space" do test "black pawn not on starting square can move forward one space" do
board = %{"4,5" => %{"type" => "pawn", "colour" => "black"}} board = %{"4,5" => %{"type" => "pawn", "colour" => "black"}}
moves = Pawn.moves(board, {4, 5}) moves = Moves.available(board, {4, 5})
expected_moves = [{4, 4}] expected_moves = [{4, 4}]
assert moves == expected_moves assert moves == expected_moves
@ -38,7 +38,7 @@ defmodule Chess.Moves.PawnTest do
"4,1" => %{"type" => "pawn", "colour" => "white"}, "4,1" => %{"type" => "pawn", "colour" => "white"},
"4,3" => %{"type" => "pawn", "colour" => "black"}, "4,3" => %{"type" => "pawn", "colour" => "black"},
} }
moves = Pawn.moves(board, {4, 1}) moves = Moves.available(board, {4, 1})
expected_moves = [{4, 2}] expected_moves = [{4, 2}]
assert moves == expected_moves assert moves == expected_moves
@ -49,7 +49,7 @@ defmodule Chess.Moves.PawnTest do
"4,1" => %{"type" => "pawn", "colour" => "white"}, "4,1" => %{"type" => "pawn", "colour" => "white"},
"4,2" => %{"type" => "pawn", "colour" => "black"}, "4,2" => %{"type" => "pawn", "colour" => "black"},
} }
moves = Pawn.moves(board, {4, 1}) moves = Moves.available(board, {4, 1})
expected_moves = [] expected_moves = []
assert moves == expected_moves assert moves == expected_moves
@ -60,7 +60,7 @@ defmodule Chess.Moves.PawnTest do
"4,2" => %{"type" => "pawn", "colour" => "white"}, "4,2" => %{"type" => "pawn", "colour" => "white"},
"4,3" => %{"type" => "pawn", "colour" => "black"}, "4,3" => %{"type" => "pawn", "colour" => "black"},
} }
moves = Pawn.moves(board, {4, 2}) moves = Moves.available(board, {4, 2})
expected_moves = [] expected_moves = []
assert moves == expected_moves assert moves == expected_moves
@ -71,7 +71,7 @@ defmodule Chess.Moves.PawnTest do
"4,2" => %{"type" => "pawn", "colour" => "white"}, "4,2" => %{"type" => "pawn", "colour" => "white"},
"5,3" => %{"type" => "pawn", "colour" => "black"}, "5,3" => %{"type" => "pawn", "colour" => "black"},
} }
moves = Pawn.moves(board, {4, 2}) moves = Moves.available(board, {4, 2})
expected_moves = [{4, 3}, {5, 3}] expected_moves = [{4, 3}, {5, 3}]
assert moves == expected_moves assert moves == expected_moves
@ -82,7 +82,7 @@ defmodule Chess.Moves.PawnTest do
"6,6" => %{"type" => "pawn", "colour" => "black"}, "6,6" => %{"type" => "pawn", "colour" => "black"},
"5,5" => %{"type" => "pawn", "colour" => "white"}, "5,5" => %{"type" => "pawn", "colour" => "white"},
} }
moves = Pawn.moves(board, {6, 6}) moves = Moves.available(board, {6, 6})
expected_moves = [{6, 5}, {6, 4}, {5, 5}] expected_moves = [{6, 5}, {6, 4}, {5, 5}]
assert moves == expected_moves assert moves == expected_moves

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.QueenTest do defmodule Chess.Moves.Pieces.QueenTest do
use Chess.DataCase use Chess.DataCase
alias Chess.Moves alias Chess.Moves

View File

@ -1,4 +1,4 @@
defmodule Chess.Moves.RookTest do defmodule Chess.Moves.Pieces.RookTest do
use Chess.DataCase use Chess.DataCase
alias Chess.Moves alias Chess.Moves