Skip to content

TP10. Tout éteint

Énoncé

L’objectif de cet exercice est d’implémenter une interface en mode texte pour le jeu lights out page Wikipedia du jeu.

Le principe du jeu est le suivant. On se place sur un plateau de jeu rectangulaire de longueur L et de hauteur H, possédant N = L x H cases. Ces cases peuvent être soit éteintes, soit allumées. On a la règle d’évolution suivante : lorsqu'on choisit une case, celle-ci change d’état ainsi que ses quatre voisines dans les directions sud, est, nord, ouest, du moins celles qui existent dans les limites du plateau. Les cellules du coin n'ont que deux voisines, et celles de la bordure sauf les coins en ont trois. Le jeu consiste à trouver sur quelles cases appuyer pour finir en ayant toutes les cases éteintes, étant donnée une situation de départ inscrite dans un fichier texte. Vous trouverez sur cette vidéo un exemple de jeu une capture d'écran du jeu ci-dessous :

capture écran jeu

Votre programme devra lire l'état initial du jeu depuis un fichier texte. Ce fichier contient H lignes de L caractères. Un caractère est soit . pour indiquer une case allumée, soit _ pour indiquer une case éteinte. Vous pouvez télécharger des états initiaux de différents niveaux ici.

Difficulté

star star star star

Exercices associés