diff --git a/S1.02/Jeu/ressources/ListeQuestion.csv b/S1.02/Jeu/ressources/ListeQuestion.csv
index 0edd7ca568556df1f583e9df2c432f2a819d4989..2e4cca5cd74fa2185e5e036bcc3b11e00f98be54 100644
--- a/S1.02/Jeu/ressources/ListeQuestion.csv
+++ b/S1.02/Jeu/ressources/ListeQuestion.csv
@@ -13,7 +13,7 @@ Ecrire en lettre : 99,quatre-vingt-dix-neuf
 En quelle année l'Amérique à été découverte par les européens ?,1492
 Quel fleuve passe par Paris ?,seine
 Qui est Guillaume Apollinaire ?,poète
-Combien y a-t-il de fautes dans cette phrase : "Si tu réssidive, tu auras une sanktion ?",2
+Combien y a-t-il de fautes dans cette phrase : "Si tu réssidive, tu auras une sanktion ?"
 "On" ou "Ont" : Ils ... un livre neuf.,ont
 "On" ou "Ont" : ... adore notre chat.,on
 "On" ou "Ont" : Ils ... préparé des surprises.,ont
@@ -24,4 +24,4 @@ A quel temps est conjugé cette phrase : "Qu'as tu fais ?",passé composé
 A quel temps est conjugé cette phrase : "Ca été ?",passé
 Convertir 1548 dg en mg.,154800
 Convertir 10599 hg en cg.,105990000
-Convertir 10 cm en m.,0,1
\ No newline at end of file
+Convertir 10 cm en m.,0
\ No newline at end of file
diff --git a/S1.02/Jeu/src/Labyrinthe.java b/S1.02/Jeu/src/Labyrinthe.java
index e2438ec7dc45cc258ec97131a55208c3faf50c5f..e01e6b791472883778ba5486d451df80d0e854f2 100644
--- a/S1.02/Jeu/src/Labyrinthe.java
+++ b/S1.02/Jeu/src/Labyrinthe.java
@@ -200,7 +200,25 @@ class Labyrinthe extends Program{
         readString();
     }
 
-    int[] deplacement(char[][] Lab, char direction, int positionL, int positionC, Joueur j, Question[] liste, Question[] listeBoss){ //vérifie si déplacement possible, si oui l'effectue
+    int[] changeSalle(char[][] Lab, int positionL, int positionC, int iSalle, int jSalle){
+        int newI = iSalle;
+        int newJ = jSalle;
+        if(positionC == 1){
+            newJ -= 1;
+        }
+        if(positionL == 1){
+            newI -= 1;
+        }
+        if(positionC == length(Lab, 2)-2){
+            newJ += 1;
+        }
+        if(positionC == length(Lab, 1)-2){
+            newI += 1;
+        }
+        return new int[]{newI, newJ};
+    }
+
+    int[] deplacement(char[][] Lab, char direction, int positionL, int positionC, Joueur j, Question[] liste, Question[] listeBoss, int[] indiceSalle){ //vérifie si déplacement possible, si oui l'effectue
         if(direction == 'h'){
             afficheHelp();
         }
@@ -228,6 +246,8 @@ class Labyrinthe extends Program{
                 } else {
                     j.vie -= 10;
                 }
+            } else if(Lab[positionL-1][positionC] == 'S'){
+                indiceSalle = changeSalle(Lab, positionL-1, positionC, indiceSalle[0], indiceSalle[1]);
             }
         }
 
@@ -469,8 +489,45 @@ class Labyrinthe extends Program{
         char[][] salle = genererSalle("ressources/Lab/Salle"+nbr);
         afficheLab(salle);
     }
-    void algorithm(){
-        Salle[][] lab = genererLab(3); //genere le Layrinthe
+
+    int[] copy(int[] tab){ //copie un tableau d'entier
+        int[] res = new int[length(tab)];
+        for(int i = 0; i < length(res); i ++){
+            res[i] = tab[i];
+        }
+        return res;
+    }
+
+    void testCopy(){
+        int[] verif = new int[] {2,6,4,8};
+        int[] res = copy(verif);
+        assertArrayEquals(verif, res);
+    }
+
+    boolean equals(int[] tab1, int[] tab2){ //vérifie l'égalité entre 2 tableau d'entier
+        if(length(tab1) == length(tab2)){
+            for(int i = 0; i < length(tab1); i ++){
+                if(tab1[i] != tab2[i]){
+                    return false;
+                }
+            }
+            return true;
+        }
+        return false;
+    }
+
+    void testEqualsTabInt(){
+        int[] tab1 = new int[]{1,2,3};
+        int[] tab2 = new int[]{1,2,3};
+        int[] tab3 = new int[]{1,2,5};
+        int[] tab4 = new int[0];
+        assertTrue(equals(tab1, tab2));
+        assertFalse(equals(tab1, tab3));
+        assertFalse(equals(tab1, tab4));
+    }
+
+    void _algorithm(){
+        Salle[][] lab = genererLab(5); //genere le Layrinthe
         String[][] questionTemp = load("ressources/ListeQuestion.csv");
         print("Voulez vous ajouter des question ? oui (o), non (autre) : ");
         boolean ques = equals(toLowerCase(readString()), "o");
@@ -492,7 +549,7 @@ class Labyrinthe extends Program{
 
         print(readFile("ressources/img/Presentation.txt", true)); //affiche l'écran titre
         String lancer = readString();
-        while(lancer != ""){ //Vérifie que l'utilisateur fasse "Entrée" et si oui lance le jeu
+        while(!equals(lancer, "")){ //Vérifie que l'utilisateur fasse "Entrée" et si oui lance le jeu
             print(readFile("ressources/img/Presentation.txt", true));
             lancer = readString();
         }
@@ -501,9 +558,9 @@ class Labyrinthe extends Program{
 
         print("Rentrez votre pseudo : ");
         String pseudo = readString();
-        Joueur j = newJoueur(pseudo); //Création du joueur
-        
-        char[][] salle = genererSalle("ressources/Lab/Salle"+lab[0][0].numero);
+        Joueur joueur = newJoueur(pseudo); //Création du joueur
+        int[] indiceSalle = new int[]{0,0};
+        char[][] salle = genererSalle("ressources/Lab/Salle"+lab[indiceSalle[0]][indiceSalle[1]].numero);
         Question q = newQuestion("Quelle est la capital de la France", "paris");
         afficherSalle(lab[1][0].numero);
         int[] indiceM = indiceDe('P', salle);
@@ -511,14 +568,18 @@ class Labyrinthe extends Program{
         salle[indiceM[0]-3][indiceM[1]] = 'B';
         afficheStringTab(load("ressources/score.csv"));
         
-        while(j.vie > 0 && !j.bossVaincu){
+        while(joueur.vie > 0 && !joueur.bossVaincu){
+            int[] indiceSalleActu = copy(indiceSalle);
             afficheLab(salle);
-            println("" + j.pseudo + " / Score : " + j.score + " / PV : " + j.vie );
+            println("" + joueur.pseudo + " / Score : " + joueur.score + " / PV : " + joueur.vie );
             int[] indiceP = indiceDe('P', salle);
             char choix = controleSaisie();
-            indiceP = deplacement(salle, choix, indiceP[0], indiceP[1], j, lQuestion, lQuestionBoss);
+            indiceP = deplacement(salle, choix, indiceP[0], indiceP[1], joueur, lQuestion, lQuestionBoss, indiceSalle);
+            if(!equals())
+
+
         }
-        if(j.bossVaincu){
+        if(joueur.bossVaincu){
             print(readFile("ressources/img/Win.txt", true));
         } else {
             print(readFile("ressources/img/Lose.txt", true));