Suite du correctif

Etape 1 : Refactor de mark()

Fichiers concernés : init.php

La partie de code répétée est déplacée dans une fonction à part.

la fonction mark() est renommée en markall() et la nouvelle fonction s'appelle mark()

Etape 2 : Ajout des chauve-souris

Fichiers concernés : init.php, display.php, styles.css

Dans init, tirer au hasard les positions des chauve-souris et les sauver dans bat[] et dans la session

Dans display, si l'utilisateur n'est pas dans la case en train d'être tracé, vérifier s'il y a une chauve-souris

Dans CSS, une règle permet de positionner la chauve-souris correctement

Etape 3 : Déplacement

Fichiers concernés : init.php, display.php, move.php

Reforge de mark() pour qu'il prenne les coordonnées et la direction. Cette étape est un préparatif au code de suivi de chemins et le code calculant la position sera réutilisé ailleurs.

Dans l'affichage, ajout de la checkbox tir (on ne se déplace pas dans le cas d'un tir)

Dans le déplacement, on copie le code pour le déplacement dans une direction, on sauve la position comme nouvelle position et on teste si on tombe sur le wumpus ou sur un puit.

Etape 4 : Visibilité des cases

Fichiers concernés : init.php, display.php, move.php

Dans init, on prépare le tableau view (initialisé en même temps que le labyrinthe), on marque la case du joueur et sauve dans la session

Dans l'affichage, on n'affiche la case que si elle est visible

Dans le déplacement, on marque la destination comme visible et on sauve le tableau view dans la session.

Etape 5 : Chauve-Souris dérangées

Fichiers concernés : move.php

Après déplacement, on teste si on est sur la case d'une chauve-souris. Si c'est le cas, on tire une nouvelle position au hasard, marque cette nouvelle case “vue” et on positionne la chauve-souris hors de la carte (-1,-1) pour la faire disparaître.

Etape 6 : Tir

Fichiers concernés : move.php

On calcule la destination (même code que le déplacement POUR LE MOMENT, ce sera changé plus tard). Si c'est la case du Wumpus, on a gagné. Sinon, on a perdu.

Etape 7 : Tournants ½

Fichiers concernés : init.php, display.php, move.php, styles.css

Dans l'initialisation, on remplace certaines cases par des chemins au hasard. Pas encore de suivi de chemin pour les marquages verts et wumpus

Dans l'affichage, on affichera le personnage décalé vers he haut ou vers le bas si c'est un chemin

Dans le déplacement, le déplacement sera restreint si on est sur un chemin à 3 des 4 directions selon le côté où on se trouve (haut/bas). La valeur haut/bas sera calculée lors des déplacements.

Note : En début de partie, on commence sur une case normale donc pas besoin de haut/bas. Cette info ne sera nécessaire qu'après un déplacement vers un chemin.

Fix : le CSS pour les cases de type 5 avaient un nom de fichier incorrect (Path2.png.png)

Etape 8 : Tournants 2/2

Fichiers concernés : init.php, move.php

Lors du marquage des cases et lors du tir, on suit les routes jusqu'à arriver à une case différente (puit, wumpus ou case normale). Quand on arrive sur une case 4 ou 5, on change la direction et on continue à se déplacer. Le même code est copié/collé dans les deux fichiers.

Etape 9 : Bonus

Fichiers concernés : init.php, display.php, move.php

Message “flash” indiquant qu'on a été déplacé par une chauve-souris.

Amélioration visuelle de gagner/perdu et texte plus explicite pour perdu.