From 67e377bfde671c816071cbb2a1991c731d71ce6d Mon Sep 17 00:00:00 2001 From: Karma Riuk Date: Sun, 2 Feb 2025 17:16:37 +0100 Subject: [PATCH] made some seperation of concerns --- cpp/main | Bin 81224 -> 81328 bytes cpp/src/pieces/pawn.cpp | 6 ++++++ cpp/src/pieces/piece.cpp | 4 ---- cpp/src/pieces/piece.hpp | 8 ++++++++ 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 cpp/src/pieces/pawn.cpp diff --git a/cpp/main b/cpp/main index b26353a3e02b9ff6da35f04d593679ad42e464a4..c61a9ba7ebf19eb7c9c2b21f1ca285487ca27a0a 100755 GIT binary patch delta 9015 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 UU1m)F<$-oT`*42jAUomz0PV$XNdN!< delta 9005 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 ZZ1-#x)1a#iSelV+KVXkuIyc!){6EO`Zu$TK diff --git a/cpp/src/pieces/pawn.cpp b/cpp/src/pieces/pawn.cpp new file mode 100644 index 0000000..85e9b77 --- /dev/null +++ b/cpp/src/pieces/pawn.cpp @@ -0,0 +1,6 @@ +#include "../board.hpp" +#include "piece.hpp" + +std::vector pawn_moves(Board b) { + return {}; +} diff --git a/cpp/src/pieces/piece.cpp b/cpp/src/pieces/piece.cpp index f06f4ff..1e6611f 100644 --- a/cpp/src/pieces/piece.cpp +++ b/cpp/src/pieces/piece.cpp @@ -2,10 +2,6 @@ #include "../board.hpp" -std::vector pawn_moves(Board b) { - return {}; -} - std::vector legal_moves(Piece p, Board b) { switch (p) { case Piece::Pawn: diff --git a/cpp/src/pieces/piece.hpp b/cpp/src/pieces/piece.hpp index 955e39e..6faef78 100644 --- a/cpp/src/pieces/piece.hpp +++ b/cpp/src/pieces/piece.hpp @@ -21,4 +21,12 @@ enum Colour : int8_t { }; class Board; + std::vector legal_moves(Piece p, Board b); + +std::vector pawn_moves(Board b); +std::vector rook_moves(Board b); +std::vector knight_moves(Board b); +std::vector bishop_moves(Board b); +std::vector queen_moves(Board b); +std::vector king_moves(Board b);