From cd4f11219826d069a90bf75d4a6883adde806245 Mon Sep 17 00:00:00 2001 From: Come B Date: Tue, 1 Dec 2020 19:40:12 +0100 Subject: [PATCH] Initial creation --- include/Bishop.h | 20 ++++++++++++++++++++ include/Chess_piece.h | 21 +++++++++++++++++++++ include/King.h | 20 ++++++++++++++++++++ include/Knight.h | 20 ++++++++++++++++++++ include/Pawn.h | 20 ++++++++++++++++++++ include/Queen.h | 20 ++++++++++++++++++++ include/Rook.h | 20 ++++++++++++++++++++ src/Bishop.cpp | 19 +++++++++++++++++++ src/Chess_piece.cpp | 23 +++++++++++++++++++++++ src/King.cpp | 19 +++++++++++++++++++ src/Knight.cpp | 19 +++++++++++++++++++ src/Pawn.cpp | 16 ++++++++++++++++ src/Queen.cpp | 19 +++++++++++++++++++ src/Rook.cpp | 19 +++++++++++++++++++ 14 files changed, 275 insertions(+) create mode 100644 include/Bishop.h create mode 100644 include/Chess_piece.h create mode 100644 include/King.h create mode 100644 include/Knight.h create mode 100644 include/Pawn.h create mode 100644 include/Queen.h create mode 100644 include/Rook.h create mode 100644 src/Bishop.cpp create mode 100644 src/Chess_piece.cpp create mode 100644 src/King.cpp create mode 100644 src/Knight.cpp create mode 100644 src/Pawn.cpp create mode 100644 src/Queen.cpp create mode 100644 src/Rook.cpp diff --git a/include/Bishop.h b/include/Bishop.h new file mode 100644 index 0000000..22f5a6d --- /dev/null +++ b/include/Bishop.h @@ -0,0 +1,20 @@ +#ifndef BISHOP_H +#define BISHOP_H + +#include + + +class Bishop : public Chess_piece +{ + public: + Bishop(char color); + std::string get_repr() override; + int get_val() override; + virtual ~Bishop(); + + protected: + + private: +}; + +#endif // BISHOP_H diff --git a/include/Chess_piece.h b/include/Chess_piece.h new file mode 100644 index 0000000..d61105a --- /dev/null +++ b/include/Chess_piece.h @@ -0,0 +1,21 @@ +#ifndef CHESS_PIECE_H +#define CHESS_PIECE_H +#include + +class Chess_piece +{ + public: + Chess_piece(char color); + virtual std::string get_repr() = 0; + virtual int get_val() = 0; + virtual ~Chess_piece(); + Chess_piece(const Chess_piece& other); + Chess_piece& operator=(const Chess_piece& other); + + protected: + char m_color; + + private: +}; + +#endif // CHESS_PIECE_H diff --git a/include/King.h b/include/King.h new file mode 100644 index 0000000..816706c --- /dev/null +++ b/include/King.h @@ -0,0 +1,20 @@ +#ifndef KING_H +#define KING_H + +#include + + +class King : public Chess_piece +{ + public: + King(char color); + std::string get_repr() override; + int get_val() override; + virtual ~King(); + + protected: + + private: +}; + +#endif // KING_H diff --git a/include/Knight.h b/include/Knight.h new file mode 100644 index 0000000..520728f --- /dev/null +++ b/include/Knight.h @@ -0,0 +1,20 @@ +#ifndef KNIGHT_H +#define KNIGHT_H + +#include + + +class Knight : public Chess_piece +{ + public: + Knight(char color); + std::string get_repr() override; + int get_val() override; + virtual ~Knight(); + + protected: + + private: +}; + +#endif // KNIGHT_H diff --git a/include/Pawn.h b/include/Pawn.h new file mode 100644 index 0000000..da82647 --- /dev/null +++ b/include/Pawn.h @@ -0,0 +1,20 @@ +#ifndef PAWN_H +#define PAWN_H + +#include + + +class Pawn : public Chess_piece +{ + public: + Pawn(char color); + std::string get_repr() override; + int get_val() override; + virtual ~Pawn(); + + protected: + + private: +}; + +#endif // PAWN_H diff --git a/include/Queen.h b/include/Queen.h new file mode 100644 index 0000000..88024a8 --- /dev/null +++ b/include/Queen.h @@ -0,0 +1,20 @@ +#ifndef QUEEN_H +#define QUEEN_H + +#include + + +class Queen : public Chess_piece +{ + public: + Queen(char color); + std::string get_repr() override; + int get_val() override; + virtual ~Queen(); + + protected: + + private: +}; + +#endif // QUEEN_H diff --git a/include/Rook.h b/include/Rook.h new file mode 100644 index 0000000..0c7ed31 --- /dev/null +++ b/include/Rook.h @@ -0,0 +1,20 @@ +#ifndef ROOK_H +#define ROOK_H + +#include + + +class Rook : public Chess_piece +{ + public: + Rook(char color); + std::string get_repr() override; + int get_val() override; + virtual ~Rook(); + + protected: + + private: +}; + +#endif // ROOK_H diff --git a/src/Bishop.cpp b/src/Bishop.cpp new file mode 100644 index 0000000..1328f5c --- /dev/null +++ b/src/Bishop.cpp @@ -0,0 +1,19 @@ +#include "Bishop.h" + +Bishop::Bishop(char color) : Chess_piece(color) +{ + //ctor +} + +int Bishop::get_val(){ + return 3; +} + +std::string Bishop::get_repr(){ + return "B"+m_color; +} + +Bishop::~Bishop() +{ + //dtor +} diff --git a/src/Chess_piece.cpp b/src/Chess_piece.cpp new file mode 100644 index 0000000..54d0d71 --- /dev/null +++ b/src/Chess_piece.cpp @@ -0,0 +1,23 @@ +#include "Chess_piece.h" + +Chess_piece::Chess_piece(char color) : m_color(color) +{ + //ctor +} + +Chess_piece::~Chess_piece() +{ + //dtor +} + +Chess_piece::Chess_piece(const Chess_piece& other) +{ + //copy ctor +} + +Chess_piece& Chess_piece::operator=(const Chess_piece& rhs) +{ + if (this == &rhs) return *this; // handle self assignment + //assignment operator + return *this; +} diff --git a/src/King.cpp b/src/King.cpp new file mode 100644 index 0000000..7e13c98 --- /dev/null +++ b/src/King.cpp @@ -0,0 +1,19 @@ +#include "King.h" + +King::King(char color) : Chess_piece(color) +{ + //ctor +} + +int King::get_val(){ + return 9999999; +} + +std::string King::get_repr(){ + return "K"+m_color; +} + +King::~King() +{ + //dtor +} diff --git a/src/Knight.cpp b/src/Knight.cpp new file mode 100644 index 0000000..488c667 --- /dev/null +++ b/src/Knight.cpp @@ -0,0 +1,19 @@ +#include "Knight.h" + +Knight::Knight(char color) : Chess_piece(color) +{ + //ctor +} + +int Knight::get_val(){ + return 3; +} + +std::string Knight::get_repr(){ + return "N"+m_color; +} + +Knight::~Knight() +{ + //dtor +} diff --git a/src/Pawn.cpp b/src/Pawn.cpp new file mode 100644 index 0000000..e1b26dd --- /dev/null +++ b/src/Pawn.cpp @@ -0,0 +1,16 @@ +#include "Pawn.h" + +Pawn::Pawn(char color): Chess_piece(color){ + +} + +int Pawn::get_val(){ + return 1; +} + +std::string Pawn::get_repr(){ + return "P"+m_color; +} + +Pawn::~Pawn() +{} diff --git a/src/Queen.cpp b/src/Queen.cpp new file mode 100644 index 0000000..5df80e3 --- /dev/null +++ b/src/Queen.cpp @@ -0,0 +1,19 @@ +#include "Queen.h" + +Queen::Queen(char color) : Chess_piece(color) +{ + //ctor +} + +int Queen::get_val(){ + return 10; +} + +std::string Queen::get_repr(){ + return "Q"+m_color; +} + +Queen::~Queen() +{ + //dtor +} diff --git a/src/Rook.cpp b/src/Rook.cpp new file mode 100644 index 0000000..e28d706 --- /dev/null +++ b/src/Rook.cpp @@ -0,0 +1,19 @@ +#include "Rook.h" + +Rook::Rook(char color) : Chess_piece(color) +{ + //ctor +} + +int Rook::get_val(){ + return 5; +} + +std::string Rook::get_repr(){ + return "R"+m_color; +} + +Rook::~Rook() +{ + //dtor +}