Jeu d'échec
 
Loading...
Searching...
No Matches
Echiquier Class Reference

Représente l'échiquier du jeu d'échec. More...

#include <echiquier.hpp>

Public Member Functions

 Echiquier ()
 
 ~Echiquier ()
 
void set_pos (Piece *piece, Square pos)
 Place une pièce à un endroit sur le plateau.
 
std::string canonical_position () const
 Retourne la position canonique de l'échiquier.
 
void print_board () const
 Affiche l'échiquier.
 
bool move (Square from, Square to, Color player)
 Permet d'effectuer un mouvement de pièce.
 
void setup ()
 Place les pions et pièces à leur emplacement de départ.
 
const std::list< Move > & get_moves () const
 Récupère la liste des coups effectués lors de la partie.
 
Pieceget_piece (Square pos) const
 Récupère une pièce se trouvant à la position donnée.
 
Pieceget_piece_from_id (int id, Color player) const
 Récupère une pièce d'un joueur à partir de son id.
 
bool check_check (Color player, Square pos, Piece *exclude=nullptr) const
 Vérifie si une case est menacée par un joueur.
 
void set_is_check (bool is_check)
 Définit s'il y a un échec ou non.
 
bool get_is_check () const
 Vérifie s'il y a un échec.
 
bool check_move (Square from, Square to, Color player)
 Vérifie si le coup entre from et to est légal pour le joueur player.
 
bool check_check_mate (Color player)
 Vérifie si le joueur est en situation d'échec et mat.
 
bool check_stalemate (Color player)
 Vérifie si le joueur est en situation de pat.
 
bool check_castling (Color player, bool big) const
 Vérifie si un joueur peut roquer ou non.
 
bool castling (Color player, bool big)
 Effectue le roque d'un joueur.
 
bool promote (Pion *pion, const std::string &type)
 Permet de promouvoir un pion en une autre pièce.
 

Detailed Description

Représente l'échiquier du jeu d'échec.

Definition at line 14 of file echiquier.hpp.

Constructor & Destructor Documentation

◆ Echiquier()

Echiquier::Echiquier ( )

Definition at line 13 of file echiquier.cpp.

◆ ~Echiquier()

Echiquier::~Echiquier ( )

Definition at line 269 of file echiquier.cpp.

Member Function Documentation

◆ canonical_position()

std::string Echiquier::canonical_position ( ) const

Retourne la position canonique de l'échiquier.

Returns
Position canonique

Definition at line 121 of file echiquier.cpp.

◆ castling()

bool Echiquier::castling ( Color player,
bool big )

Effectue le roque d'un joueur.

Parameters
playerJoueur voulant roquer
bigtrue si c'est un grand roque, false sinon
Returns
true si le roque a eu lieu, false sinon

Definition at line 52 of file echiquier.cpp.

◆ check_castling()

bool Echiquier::check_castling ( Color player,
bool big ) const

Vérifie si un joueur peut roquer ou non.

Parameters
playerJoueur voulant roquer
bigtrue si c'est un grand roque, false sinon
Returns
true si le roque est possible, false sinon

Definition at line 72 of file echiquier.cpp.

◆ check_check()

bool Echiquier::check_check ( Color player,
Square pos,
Piece * exclude = nullptr ) const

Vérifie si une case est menacée par un joueur.

Parameters
playerJoueur pour qui la case peut être une menace
posPosition de la case
excludePièce à exclure dans la détection de la menace
Returns
true si la case est une menace pour le joueur, false sinon

Definition at line 106 of file echiquier.cpp.

◆ check_check_mate()

bool Echiquier::check_check_mate ( Color player)

Vérifie si le joueur est en situation d'échec et mat.

Parameters
playerJoueur
Returns
true si échec et mat, false sinon.

Definition at line 192 of file echiquier.cpp.

◆ check_move()

bool Echiquier::check_move ( Square from,
Square to,
Color player )

Vérifie si le coup entre from et to est légal pour le joueur player.

Parameters
fromCase d'origine
toCase de destination
playerJoueur à l'origine du coup
Returns
true si origine, false sinon

Definition at line 155 of file echiquier.cpp.

◆ check_stalemate()

bool Echiquier::check_stalemate ( Color player)

Vérifie si le joueur est en situation de pat.

Parameters
playerJoueur
Returns
true si échec et mat, false sinon.

Definition at line 196 of file echiquier.cpp.

◆ get_is_check()

bool Echiquier::get_is_check ( ) const
inline

Vérifie s'il y a un échec.

Returns
true s'il y a un échec, false sinon

Definition at line 79 of file echiquier.hpp.

◆ get_moves()

const std::list< Move > & Echiquier::get_moves ( ) const

Récupère la liste des coups effectués lors de la partie.

Returns
Liste des coups

Definition at line 336 of file echiquier.cpp.

◆ get_piece()

Piece * Echiquier::get_piece ( Square pos) const

Récupère une pièce se trouvant à la position donnée.

Parameters
posPosition de la pièce
Returns
Pointeur vers la pièce si elle a été trouvée, nullptr sinon.

Definition at line 253 of file echiquier.cpp.

◆ get_piece_from_id()

Piece * Echiquier::get_piece_from_id ( int id,
Color player ) const

Récupère une pièce d'un joueur à partir de son id.

Parameters
idid de la pièce
playerJoueur a qui appartient la pièce
Returns
Pointeur vers la pièce si elle a été trouvée, nullptr sinon.

Definition at line 97 of file echiquier.cpp.

◆ move()

bool Echiquier::move ( Square from,
Square to,
Color player )

Permet d'effectuer un mouvement de pièce.

Parameters
fromPièce à déplacer
toDestination
Returns
true si le mouvement a été effectué, false sinon

Definition at line 213 of file echiquier.cpp.

◆ print_board()

void Echiquier::print_board ( ) const

Affiche l'échiquier.

Definition at line 135 of file echiquier.cpp.

◆ promote()

bool Echiquier::promote ( Pion * pion,
const std::string & type )

Permet de promouvoir un pion en une autre pièce.

Parameters
pionPion à promouvoir
typeType de la pièce dont le pion sera promu. ("Q" pour une reine, "R" pour une tour, "B" pour un fou, "K" pour un cavalier)
Returns
true si la promotion a eu lieu, false sinon

Definition at line 275 of file echiquier.cpp.

◆ set_is_check()

void Echiquier::set_is_check ( bool is_check)
inline

Définit s'il y a un échec ou non.

Parameters
is_checktrue s'il y a un échec, false sinon

Definition at line 75 of file echiquier.hpp.

◆ set_pos()

void Echiquier::set_pos ( Piece * piece,
Square pos )

Place une pièce à un endroit sur le plateau.

Parameters
piece
Warning
Attention : pas de retrait de la position précédente !

Definition at line 260 of file echiquier.cpp.

◆ setup()

void Echiquier::setup ( )

Place les pions et pièces à leur emplacement de départ.

Definition at line 247 of file echiquier.cpp.


The documentation for this class was generated from the following files: