Cell.cpp h - JulianKerignard/ProjetJeuDeLaVie_POO GitHub Wiki

Fichier Cell.h

#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.

Fichier Cell.cpp

Implémentation de la Classe Cell

Constructeur

  • Cell(CellState initialState = CellState::DEAD) :
    • Initialise une cellule avec un état initial spécifié (par défaut, l'état est DEAD).
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.
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;
}