Labo - Jeu

Labo - Jeu#

Introduction#

Pendant ce labo, vous allez développer la version "Lights In", du jeu "Light Out" dont le but est d'allumer toutes les cellules.

Règle du jeu:
Lorsqu'on clique sur une cellule, celle-ci change d'état ainsi que ses quatre voisines (au sud, à l'est, au nord et à l'ouest), si elles existent.

Programmation#

En vous aidant de l'exemple 1, programmez les étapes ci-dessous dans l'ordre.

En utilisant les éléments HTML appropriés, commencez par créer la page statique de votre jeu avec un titre, les règles du jeu, ainsi que le but. Ajoutez un tableau de dimension 3x3.

Ajoutez du style à votre page pour que:

  1. le tableau ait des bordures,

  2. la hauteur et la largeur des cellules soient de 50px,

  3. la couleur de fond des cellules soit d'une autre couleur,

  4. le tableau soit centré.

Dans la partie script, ajoutez la fonctionnalité suivante en définissant la fonction changeEtat(event):

Lorsque vous cliquez sur une cellule du tableau, le texte "clic" doit s'afficher dans celle-ci. Cela permettra de vérifier que les clics dans les cellules sont correctement détectés.

Modifiez la fonction changeEtat(event) pour que lorsque vous cliquez sur une cellule, celle-ci change d'état. Si elle est allumée (colorée), elle s'éteint (sans couleur de fond) et vice-versa.

Ajoutez la fonctionnalité suivante:

Au début du jeu, l'état des cellules doit être déterminé de manière aléatoire.

Programmez la fin de la partie, c'est-à-dire le moment où toutes les cellules sont allumées:

  1. Définissez une fonction gagne(liste) qui teste si toutes les cellules sont allumées.

  2. Après avoir changé l'état des cellules, vérifiez si la partie est gagnée.

  3. Si c'est le cas, affichez le message de victoire.

Modifiez la fonction changeEtat(event) pour qu'elle suive la règle du jeu, c'est-à-dire qu'elle modifie aussi les 4 cellules voisines (au nord, sud, est et ouest).

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Création d'un jeu</title>
<style>
/* Ajout des styles CSS */

</style>
</head>
<body>
<!-- Ajout des éléments HTML -->

<script>
/* Ajout du JavaScript */

</script>
</body>
</html>