1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
/*
*
* author: Yann Herklotz
* username: ymherklotz
* email: ymherklotz@gmail.com
*
* -----------------------------------------------------------------------------
*
* Chess Piece class with header for all the pieces as well that inherit
* from the Chess Piece class.
*
*/
#ifndef YMH_CHESS_PIECE_HPP
#define YMH_CHESS_PIECE_HPP
namespace ymhChessAI {
class ChessPiece {
public:
ChessPiece();
ChessPiece(const ChessPiece& other) = default;
ChessPiece(const int& x, const int& y);
virtual ~ChessPiece() = default;
virtual void move(const int& x, const int& y) = 0;
protected:
int m_x, m_y;
private:
};
class King : public ChessPiece {
public:
King();
King(const King& other) = default;
King(const int& x, const int& y);
~King() = default;
void move(const int& x, const int& y);
protected:
private:
};
class Queen : public ChessPiece {
public:
Queen();
Queen(const Queen& other) = default;
Queen(const int& x, const int& y);
~Queen() = default;
void move(const int& x, const int& y);
protected:
private:
};
class Rook : public ChessPiece {
public:
Rook();
Rook(const Rook& other) = default;
Rook(const int& x, const int& y);
~Rook() = default;
void move(const int& x, const int& y);
protected:
private:
};
class Bishop : public ChessPiece {
public:
Bishop();
Bishop(const Bishop& other) = default;
Bishop(const int& x, const int& y);
~Bishop() = default;
void move(const int& x, const int& y);
protected:
private:
};
class Knight : public ChessPiece {
public:
Knight();
Knight(const Knight& other) = default;
Knight(const int& x, const int& y);
~Knight() = default;
void move(const int& x, const int& y);
protected:
private:
};
class Pawn : public ChessPiece {
public:
Pawn();
Pawn(const Pawn& other) = default;
Pawn(const int& x, const int& y);
~Pawn() = default;
void move(const int& x, const int& y);
protected:
private:
};
};
#endif
|