DisplayManager.cpp h - JulianKerignard/ProjetJeuDeLaVie_POO GitHub Wiki
DisplayManager.h
Fichier #ifndef DISPLAY_MANAGER_H
#define DISPLAY_MANAGER_H
#include "Grid.h"
// Classe abstraite DisplayManager
class DisplayManager {
public:
// Destructeur virtuel
virtual ~DisplayManager() = default;
// Méthode virtuelle pure pour initialiser l'affichage
virtual void initialize() = 0;
// Méthode virtuelle pure pour mettre à jour l'affichage
virtual void update(const Grid& grid) = 0;
// Méthode virtuelle pure pour fermer l'affichage
virtual void close() = 0;
};
#endif // DISPLAY_MANAGER_H
Documentation des Membres
- Classe
DisplayManager
:- Une classe abstraite servant de base pour les différents gestionnaires d'affichage du Jeu de la Vie.
- Méthodes virtuelles pures :
- virtual void initialize() = 0 :
- Méthode pure virtuelle pour initialiser l'affichage, à implémenter dans les classes dérivées.
- virtual void update(const Grid& grid) = 0 :
- Méthode pure virtuelle pour mettre à jour l'affichage en fonction de l'état de la grille, à implémenter dans les classes dérivées.
- virtual void close() = 0 :
- Méthode pure virtuelle pour fermer l'affichage, à implémenter dans les classes dérivées.
- virtual void initialize() = 0 :
test_ConsoleDisplay
Fichier de Test test_ConsoleDisplay
Implémentation de la Classe Classe
- class test_ConsoleDisplay : public DisplayManager :
- Une classe de test dérivée de
DisplayManager
pour simuler un affichage en console.
- Une classe de test dérivée de
class test_ConsoleDisplay : public DisplayManager {
public:
// Initialisation de l'affichage console
void initialize() override {
std::cout << "Initialisation de l'affichage console" << std::endl;
}
// Mise à jour de l'affichage console
void update(const Grid& grid) override {
system("cls"); // Effacer la console (utiliser "clear" pour Linux)
for (int y = 0; y < grid.getHeight(); y++) {
for (int x = 0; x < grid.getWidth(); x++) {
if (grid.getCellAt(x, y).getCurrentState() == CellState::ALIVE) {
std::cout << "1";
} else {
std::cout << "2 ";
}
}
std::cout << std::endl;
}
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
// Fermeture de l'affichage console
void close() override {
std::cout << "Fermeture de l'affichage" << std::endl;
}
};
Documentation des Membres
- Classe
test_ConsoleDisplay
:-
Une classe de test qui dérive de
DisplayManager
pour simuler un affichage en console. Utile pour les tests et la validation des fonctionnalités d'affichage du Jeu de la Vie. -
Méthodes publiques :
- void initialize() override :
- Implemente la méthode pour initialiser l'affichage console.
- void update(const Grid& grid) override :
- Implemente la méthode pour mettre à jour l'affichage console. Efface la console et affiche l'état actuel de la grille.
- void close() override :
- Implemente la méthode pour fermer l'affichage console et afficher un message de fermeture.
- void initialize() override :
-