# Game of Life

Une implémentation simple du célèbre **Jeu de la Vie** de Conway en C.

## Description

Le Jeu de la Vie est un automate cellulaire créé par John Horton Conway.
Le programme simule l’évolution d’une grille de cellules selon les règles suivantes :

1. Une cellule vivante avec moins de deux voisins vivants meurt (sous-population).
2. Une cellule vivante avec deux ou trois voisins vivants survit.
3. Une cellule vivante avec plus de trois voisins vivants meurt (surpopulation).
4. Une cellule morte avec exactement trois voisins vivants devient vivante (reproduction).

---

## Installation

Cloner le projet :

```bash
git clone https://git.vainsta.fr/NicolasLespinasse/game-of-life
cd game-of-life
```

Compiler le programme (version terminale) :

```bash
cmake .
make
```

Compiler le programme (version web) :

```bash
cd web
make
```

---

## Usage

Lancer le programme (version terminale) :

```bash
./game_of_life <fichier_a_charger>
```

Le programme affichera la grille et mettra à jour les générations automatiquement.

Lancer le programme (version web) :

* Ouvrir `web/gol.html`

### Commandes de la version Web

| Bouton / Action           | Fonctionnalité                                                             |
| ------------------------- | ------------------------------------------------------------------------   |
| Save                      | Télécharge la grille actuelle sur le PC                                    |
| Load                      | Charge la grille depuis un fichier donné                                   |
| Pause/Play                | Met le jeu en pause ou reprend le jeu                                      |
| New Game                  | Crée une nouvelle grille basée sur les paramètres donnés par l'utilisateur |
| Modify Speed              | Modifie le rythme de mise à jour de la grille en seconde                   |
| Click gauche sur une case | Change la case en statut alive                                             |
| Click droit sur une case  | Change la case en statut dead                                              |

---

## Auteur

Nicolas Lespinasse
