5 int row_org, col_org, row_dest, col_dest;
12 if (row_org == row_dest) {
14 int direction = (col_dest - col_org) > 0 ? 1 : -1;
15 for (
int col = col_org + direction; col != col_dest; col += direction) {
21 }
else if (col_org == col_dest) {
23 int direction = (row_dest - row_org) > 0 ? 1 : -1;
24 for (
int row = row_org + direction; row != row_dest; row += direction) {
Piece * get_piece(Square pos) const
Récupère une pièce se trouvant à la position donnée.
Classe décrivant une pièce.
Echiquier * echiquier
Echiquier possédant la pièce.
virtual bool est_mouvement_legal(Square origine, Square destination) const
Vérifie si un mouvement de la case origine à la case destination est valide.
Décrit une case de l'échiquier.
void get_row_col(int &row, int &col) const
Récupère la ligne et la colonne décrite par l'objet.
bool est_mouvement_legal(Square org, Square dest) const override
Vérifie si un mouvement de la case origine à la case destination est valide.
bool est_menace(Square org, Square dest) const override
Vérifie si la pièce est une menace pour l'adversaire.