Cette semaine, c'est Thomas qui vous propose un #KataOfTheWeek : The Conway's game of life

Briefing du Kata : Si vous ne le connaissez pas, le jeu de la vie prend la forme d'un tableau bidimentionnel théoriquement infini, dans lequel chaque case est une cellule. Une cellule est soit morte, soit vivante et a donc exactement 8 voisines. Ce qui rend le jeu intéressant ce sont les règles de naissance et de mort des cellules. À chaque tour les cellules naissent ou meurent suivant ces règles :

  • Une cellule morte qui a exactement 3 voisines en vie naît
  • Une cellule vivante qui a 2 ou 3 voisines reste en vie
  • Dans tous les autres cas elle meurt d'isolement ou d'étouffement.

Pour tester si votre jeu marche pour la configuration tour n suivante :

  *
*  *
*  *
 * 

Une *représente une cellule en vie. Au tour suivant vous aurez cette configuration :

 ***
***

Et au tour suivant vous retrouverez la configuration du tour n.

Puisque ce Kata est un grand classique de programmation, il n'est pas improbable que vous l'ayez déjà fait. Si tel été le cas, il pourrait être intéressant que vous le fassiez dans un langage de programmation que vous auriez envie d'apprendre. Ou bien encore faire une version web en utilisant un framework comme React ou en essayant de mettre en place le pattern MVC avec du webassembly ! Et pour tout ceux qui le finisse une première fois, n'hésitez pas à expérimenter les variantes de programmation ou bien encore à changer les règles de naissance / décès des cellules.

Saurez-vous résoudre le problème ?

Bon courage ! Retrouvez la solution dans cet article 😉