Cell.cpp h - JulianKerignard/ProjetJeuDeLaVie_POO GitHub Wiki
Cell.h
Fichier #ifndef CELL_H
#define CELL_H
// État de la cellule : Morte, Vivante, ou Obstacle
enum class CellState {
DEAD, // Cellule morte
ALIVE, // Cellule vivante
OBSTACLE // Cellule servant d'obstacle
};
// Classe représentant une cellule dans le Jeu de la Vie
class Cell {
private:
CellState currentState; // État actuel de la cellule
CellState nextState; // Prochain état de la cellule après mise à jour
bool isObstacle; // Indicateur si la cellule est un obstacle
public:
// Constructeur avec état initial (par défaut: DEAD)
Cell(CellState initialState = CellState::DEAD);
// Met à jour l'état actuel avec le prochain état
void updateState();
// Retourne l'état actuel de la cellule
CellState getCurrentState() const;
// Définit le prochain état de la cellule
void setNextState(CellState state);
// Définit la cellule comme obstacle ou non
void setObstacle(bool obstacle);
// Vérifie si la cellule est un obstacle
bool isObstacleCell() const;
};
#endif // CELL_H
Documentation des Membres
-
Enumération
CellState
:- Définit les différents états possibles pour une cellule.
DEAD
: La cellule est morte.ALIVE
: La cellule est vivante.OBSTACLE
: La cellule est un obstacle.
-
Classe
Cell
:- Représente une cellule individuelle dans la grille du Jeu de la Vie.
- Membres privés :
CellState currentState
: L'état actuel de la cellule.CellState nextState
: Le prochain état de la cellule après mise à jour.bool isObstacle
: Indique si la cellule est un obstacle.
- Membres publics :
- Cell(CellState initialState = CellState::DEAD) :
- Constructeur de la classe Cell, initialisant l'état de la cellule.
- void updateState() :
- Met à jour l'état actuel de la cellule avec le prochain état.
- CellState getCurrentState() const :
- Retourne l'état actuel de la cellule.
- void setNextState(CellState state) :
- Définit le prochain état de la cellule.
- void setObstacle(bool obstacle) :
- Définit la cellule comme obstacle ou non.
- bool isObstacleCell() const :
- Vérifie si la cellule est un obstacle.
- Cell(CellState initialState = CellState::DEAD) :
Cell.cpp
Fichier Cell
Implémentation de la Classe Constructeur
- Cell(CellState initialState = CellState::DEAD) :
- Initialise une cellule avec un état initial spécifié (par défaut, l'état est
DEAD
).
- Initialise une cellule avec un état initial spécifié (par défaut, l'état est
Cell::Cell(CellState initialState)
: currentState(initialState), nextState(initialState), isObstacle(false) {}
Méthodes
- void updateState() :
- Met à jour l'état actuel de la cellule avec le prochain état, sauf si la cellule est un obstacle.
void Cell::updateState() {
if (!isObstacle) {
currentState = nextState;
}
}
- CellState getCurrentState() const :
- Retourne l'état actuel de la cellule.
CellState Cell::getCurrentState() const {
return currentState;
}
- void setNextState(CellState state) :
- Définit le prochain état de la cellule, sauf si la cellule est un obstacle.
void Cell::setNextState(CellState state) {
if (!isObstacle) {
nextState = state;
}
}
- void setObstacle(bool obstacle) :
- Définit la cellule comme obstacle ou non. Si elle est définie comme obstacle, son état actuel et son prochain état sont définis sur
CellState::OBSTACLE
.
- Définit la cellule comme obstacle ou non. Si elle est définie comme obstacle, son état actuel et son prochain état sont définis sur
void Cell::setObstacle(bool obstacle) {
isObstacle = obstacle;
if (obstacle) {
currentState = CellState::OBSTACLE;
nextState = CellState::OBSTACLE;
}
}
- bool isObstacleCell() const :
- Vérifie si la cellule est un obstacle.
bool Cell::isObstacleCell() const {
return isObstacle;
}