🏁 Game Of Life¶
Bootstrap :
🔗 https://github.com/swkBerlin/kata-bootstraps
Le Jeu de la Vie de Conway est un jeu de simulation de la vie dans lequel l'état d'une cellule à un instant donné dépend de l'état de ses voisines à l'instant précédent.
Le jeu se déroule sur une grille à deux dimensions, théoriquement infinie, dont les cases — appelées « cellules », peuvent prendre deux états distincts : « vivante » ou « morte ».
L'objectif de ce kata est de réaliser un petit moteur de jeu permettant de calculer l'état de la prochaine génération de cellules et de l'afficher dans une grille à deux dimensions.
🌱 Cycle de vie d'une cellule¶
À chaque instant, le prochain état d’une cellule est déterminée par l’état de ses huit cellules voisines au même instant, selon les règles suivantes :
- Toute cellule vivante ayant moins de 2 voisins vivants meurt, par sous-population.
- Toute cellule vivante ayant 2 ou 3 voisins vivants, survit à la génération suivante.
- Toute cellule vivante ayant plus de 3 voisins vivants meurt, par surpopulation.
- Toute cellule morte reste morte.
- Toute cellule morte ayant exactement 3 voisins vivants, naît par reproduction.
🖼️ Affichage¶
Vous êtes libres de choisir l'affichage que vous souhaitez pour représenter votre Jeu de la Vie.
Voici une suggestion pour représenter une grille cartésienne :
Génération 1
........
....*...
...**...
........
Génération 2
........
...**...
...**...
........
🔀 Variantes¶
🧟 Zombies¶
Cette variante du Game of Life ajoute la règle suivante :
- Toute cellule qui meurt, puis revient à la vie, devient un zombie et ne peut plus mourir.
🎨 Couleurs¶
Les cellules vivantes sont colorées. Lorsqu'elles prennent vie, les cellules adoptent la couleur de la majority de leurs voisins. S'il n'y a pas de majorité, alors elles adoptent une "couleur neutre".
⬡ Grille Hexagonale¶
Dans cette variante, les cellules évoluent sur une grille (infinie) hexagonale.
👓 Espace à trois dimensions¶
Dans cette variante, les cellules évoluent dans un espace à trois dimensions. Leurs voisins ne sont plus seulement les cellules situées sur le même plan, mais également les 9 cellules du plan supérieur et les 9 cellules du plan inférieur.
On adapte également les règles du cycle de vie de la cellule de la manière suivantes (B4/S4)
- Toute cellule morte reste morte.
- Toute cellule morte ayant exactement 4 voisins vivants, naît par reproduction (B4)
- Toute cellule vivante ayant 4 voisins vivants, survit à la génération suivante (S4)
- Dans les autres cas, toute cellule vivante meurt, par sous-population ou par surpopulation.