Jeu d'echec
Creation d'un jeu d'echec
Chargement...
Recherche...
Aucune correspondance
piece.hh
Aller à la documentation de ce fichier.
1#pragma once
2#include "chess.hh"
3class Game;
4
9class Piece {
10 public:
25 int posX;
30 int posY;
49 Piece(PieceType type, Color color, int X, int Y)
50 : color(color), id(type), posX(X), posY(Y), EnPassant(0), hasMoved(false) {}
55 virtual ~Piece() {}
64 virtual int isMoveLegal(int x2, int y2, Game *g) = 0;
70 virtual string toUtf() = 0;
71};
76class Pawn : public Piece {
77 public:
78 Pawn(Color color, int X, int Y) : Piece(Pawn_, color, X, Y) {}
79 string toUtf();
80 int isMoveLegal(int x2, int y2, Game *g);
81};
86class Rook : public Piece {
87 public:
88 Rook(Color color, int X, int Y) : Piece(Rook_, color, X, Y) {}
89 string toUtf();
90 int isMoveLegal(int x2, int y2, Game *g);
91};
96class Bishop : public Piece {
97 public:
98 Bishop(Color color, int X, int Y) : Piece(Bishop_, color, X, Y) {}
99 string toUtf();
100 int isMoveLegal(int x2, int y2, Game *g);
101};
106class Knight : public Piece {
107 public:
108 Knight(Color color, int X, int Y) : Piece(Knight_, color, X, Y) {}
109 string toUtf();
110 int isMoveLegal(int x2, int y2, Game *g);
111};
116class King : public Piece {
117 public:
118 King(Color color, int X, int Y) : Piece(King_, color, X, Y) {}
119 string toUtf();
120 int isMoveLegal(int x2, int y2, Game *g);
121};
126class Queen : public Piece {
127 public:
128 Queen(Color color, int X, int Y) : Piece(Queen_, color, X, Y) {}
129 string toUtf();
130 int isMoveLegal(int x2, int y2, Game *g);
131};
132
PieceType
Definition chess.hh:9
@ King_
Definition chess.hh:13
@ Queen_
Definition chess.hh:14
@ Knight_
Definition chess.hh:12
@ Pawn_
Definition chess.hh:15
@ Bishop_
Definition chess.hh:11
@ Rook_
Definition chess.hh:10
Color
Definition chess.hh:7
sous classe Bishop qui contient le code utf de la piece et son mouvement
Definition piece.hh:96
int isMoveLegal(int x2, int y2, Game *g)
vérifie si le mouvement est légal jusqu'à la case (x2, y2)
Definition piece.cc:60
Bishop(Color color, int X, int Y)
Definition piece.hh:98
string toUtf()
retourne le caractère unicode de la pièce
Definition piece.cc:40
Classe Game contenant les informations sur la partie.
Definition game.hh:9
sous classe King qui contient le code utf de la piece et son mouvement
Definition piece.hh:116
int isMoveLegal(int x2, int y2, Game *g)
vérifie si le mouvement est légal jusqu'à la case (x2, y2)
Definition piece.cc:88
string toUtf()
retourne le caractère unicode de la pièce
Definition piece.cc:5
King(Color color, int X, int Y)
Definition piece.hh:118
sous classe Knight qui contient le code utf de la piece et son mouvement
Definition piece.hh:106
string toUtf()
retourne le caractère unicode de la pièce
Definition piece.cc:26
Knight(Color color, int X, int Y)
Definition piece.hh:108
int isMoveLegal(int x2, int y2, Game *g)
vérifie si le mouvement est légal jusqu'à la case (x2, y2)
Definition piece.cc:80
sous classe Pawn qui contient le code utf de la piece et son mouvement
Definition piece.hh:76
int isMoveLegal(int x2, int y2, Game *g)
vérifie si le mouvement est légal jusqu'à la case (x2, y2)
Definition piece.cc:95
Pawn(Color color, int X, int Y)
Definition piece.hh:78
string toUtf()
retourne le caractère unicode de la pièce
Definition piece.cc:12
Classe Piece contenant les informations sur une pièce.
Definition piece.hh:9
bool hasMoved
true si la pièce a bougé
Definition piece.hh:40
virtual ~Piece()
Destructeur de la classe Piece.
Definition piece.hh:55
virtual int isMoveLegal(int x2, int y2, Game *g)=0
vérifie si le mouvement est légal jusqu'à la case (x2, y2)
Color color
couleur de la pièce
Definition piece.hh:15
PieceType id
type de la pièce
Definition piece.hh:20
Piece(PieceType type, Color color, int X, int Y)
Constructeur de la classe Piece.
Definition piece.hh:49
int posX
position en X de la pièce
Definition piece.hh:25
bool EnPassant
true si la pièce peut être prise en passant
Definition piece.hh:35
int posY
position en Y de la pièce
Definition piece.hh:30
virtual string toUtf()=0
retourne le caractère unicode de la pièce
sous classe Queen qui contient le code utf de la piece et son mouvement
Definition piece.hh:126
string toUtf()
retourne le caractère unicode de la pièce
Definition piece.cc:33
int isMoveLegal(int x2, int y2, Game *g)
vérifie si le mouvement est légal jusqu'à la case (x2, y2)
Definition piece.cc:70
Queen(Color color, int X, int Y)
Definition piece.hh:128
sous classe Rook qui contient le code utf de la piece et son mouvement
Definition piece.hh:86
string toUtf()
retourne le caractère unicode de la pièce
Definition piece.cc:19
Rook(Color color, int X, int Y)
Definition piece.hh:88
int isMoveLegal(int x2, int y2, Game *g)
vérifie si le mouvement est légal jusqu'à la case (x2, y2)
Definition piece.cc:50