GOL
Game Of Life
Loading...
Searching...
No Matches

Fichier de présentation du projet de simulation d'automate cellulaire.

Author
GPA675

Ce projet met en œuvre une simulation d'automate cellulaire à 2 dimensions basée sur la classe GOL. Cette classe représente une interface abstraite pour une implémentation d'un automate cellulaire. Elle définit des types utilitaires et plusieurs fonctions abstraites.

Ce projet vise le développement de structures de données et d'algorithmes. De plus, il illustre un exemple de développement modulaire pertinent utilisant le polymorphisme.

Fonctionnalités principales

  • Implémentation complète d'un moteur de simulation d'automate cellulaire.
  • Gestion d'une grille 2D avec des dimensions finies et diverses stratégies de gestion des bords.
  • Capacité à gérer n'importe quelle règle définie dans le format B###.../S###....
  • Possibilité d'initialiser la grille de multiples façons (uniforme, damier, aléatoire, avec un patron, ou manuellement).
  • Représentation visuelle de la simulation à l'écran.

Utilisation

Ce projet est destiné à être étendu et personnalisé. Pour créer votre propre simulateur, vous devez hériter de la classe GOL et implémenter toutes les fonctions virtuelles pures. Vous pouvez également ajuster les paramètres de simulation, tels que les règles de naissance/survie des cellules, la gestion des bords, et la représentation graphique.

Exemple d'implémentation

class MySimulator : public GOL {
// Implémentation des fonctions virtuelles pures...
};
Moteur de simulation d'un automate cellulaire à 2 dimensions.
Definition GOL.h:124

Pour plus de détails sur l'utilisation et l'implémentation, veuillez consulter la documentation complète de chaque classe et fonction.

Dépendances

  • C++20
  • La solution Visual Studio donné en exemple permet d'intégrer votre travail dans un logiciel existant utilisant une interface graphique utilisateur.
  • Visual Studio 2022
Note
Ce projet est un exemple éducatif qui vise la fonctionnalité mais aussi les compromis nécessaire à la production d'un logiciel de qualité et performant.
Cette documentation est complémentaire à l'énoncé donné.
Cette documentation a été générée automatiquement à l'aide de Doxygen.