diff --git a/S1.02/Jeu/README.md b/README.md
similarity index 51%
rename from S1.02/Jeu/README.md
rename to README.md
index 11d942dc0e9ea5288eb12eb2936722efa71fa935..17b0dd8fed3d85ac69de8b7f31d2e21502d4ad08 100644
--- a/S1.02/Jeu/README.md
+++ b/README.md
@@ -1,17 +1,16 @@
-Labyrinthe
+Labyrinthe Perdu
 ===========
 
 Développé par Alexandre Dehaine et Florian Gambirasio
 Contacts : alexandre.dehaine.etu@univ-lille.fr , florian.gambirasio.etu@univ-lille.fr
 
-# Présentation de Labyrinthe
+# Présentation de Labyrinthe Perdu
 
-Labyrinthe est un jeu d'exploration dans lequel vous pouvez croiser des monstres (M) ainsi qu'un boss (B).
-Chaque monstre vaincu rapporte 1 point, battre le boss met fin au jeu et rapporte 3 points.
+Labyrinthe Perdu est un jeu d’aventure se déroulant dans un labyrinthe généré aléatoirement dans lequel vous vous déplacez, battez des monstres en répondant a des question éducatives. Chaque mauvaise questions vous fait perdre de la vie, lorsque vous tombez à zéro, vous perdez. Pour gagner le jeu, il faut vaincre le boss, il a des question spécifique et plus ardu.
 
 Des captures d'écran illustrant le fonctionnement du logiciel sont proposées dans le répertoire shots.
 
-# Utilisation de Labyrinthe
+# Utilisation de Labyrinthe Perdu
 
 Afin d'utiliser le projet, il suffit de taper les commandes suivantes dans un terminal :
 
diff --git a/S1.02/Jeu/ressources/Lab/Salle0 b/S1.02/Jeu/ressources/Lab/Salle0
index 6a0f07b971d3cb880f102d7a79e85793c415ba06..353cde8838a7375c1677dd995aeef0fb9422c91a 100644
--- a/S1.02/Jeu/ressources/Lab/Salle0
+++ b/S1.02/Jeu/ressources/Lab/Salle0
@@ -1,6 +1,6 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @......................................................................@
-@...................................M..................................@
+@......................................................................@
 @......................................................................@
 @......................................................................@
 @......................................................................@
diff --git a/S1.02/Jeu/ressources/Lab/Salle2 b/S1.02/Jeu/ressources/Lab/Salle2
index 96d005d7b130f7b4eea7480db9eb5aa8c9fc4bfd..b0bb38195c103616da0aa8162aadd7434a604e40 100644
--- a/S1.02/Jeu/ressources/Lab/Salle2
+++ b/S1.02/Jeu/ressources/Lab/Salle2
@@ -7,7 +7,7 @@
 @......................................................................@
 @......................................................................@
 @S....................................................................S@
-@S..................................M.................................S@
+@S....................................................................S@
 @......................................................................@
 @......................................................................@
 @......................................................................@
diff --git a/S1.02/Jeu/ressources/ListeQuestion.csv b/S1.02/Jeu/ressources/ListeQuestion.csv
index fe0816a4c73de2b3ae3cfb51a24ebf7e0c0dfc6d..72132bb175befc7a6651ff9fc776d46323d4c4f1 100644
--- a/S1.02/Jeu/ressources/ListeQuestion.csv
+++ b/S1.02/Jeu/ressources/ListeQuestion.csv
@@ -24,4 +24,4 @@ A quel temps est conjugé cette phrase : "Qu'as tu fais ?",passé composé
 A quel temps est conjugé cette phrase : "Ça a été ?",passé composé
 Convertir 1548 dg en mg.,154800
 Convertir 10599 hg en cg.,105990000
-Convertir 10 cm en m.,0
\ No newline at end of file
+Convertir 10 cm en m.,0.1
\ No newline at end of file
diff --git a/S1.02/Jeu/ressources/score.csv b/S1.02/Jeu/ressources/score.csv
index 6db77a32076981a3d2b58225786b7eb7fe0a87dd..4354fce6719a3d2a72f1272540ad0670af06e43f 100644
--- a/S1.02/Jeu/ressources/score.csv
+++ b/S1.02/Jeu/ressources/score.csv
@@ -1,7 +1,7 @@
 Pseudo,Score
-Hydro,150
-Alex,300
-Bob,10
-Testeur,100
-Popolipo,200
-Margoulin,50
\ No newline at end of file
+Hydro,38
+Alex,37
+Bob,37
+Testeur,34
+Popolipo,31
+Margoulin,30
\ No newline at end of file
diff --git a/S1.02/Jeu/src/Labyrinthe.java b/S1.02/Jeu/src/Labyrinthe.java
index ece66655eeb71094b9997b9d937e76f930e1f701..ebf32bbec5c15f5b2a216f59e50e67d445b6c0e0 100644
--- a/S1.02/Jeu/src/Labyrinthe.java
+++ b/S1.02/Jeu/src/Labyrinthe.java
@@ -433,12 +433,28 @@ class Labyrinthe extends Program{
             newFile[i][0]= intitu;
             newFile[i][1]= rep;
         }
-        saveCSV(newFile, "ressources/ListeQuestion.csv", '|');
+        saveCSV(newFile, "ressources/ListeQuestion.csv");
 
     }
 
     void ajoutScore(String[][] file, String pseudo, int score){ //ajout de Score (optionnel à faire plus tard)
+        if(score > file[length(file,1)-1][1]){
+            int i = 0; //permet de compter d'ajouter les fichier de file dans newFile après ajout de ligne
+            String[][] newFile = new String[length(file, 1)][length(file, 2)];
+            for(int i1 = 0; i1 < length(file, 1); i1 ++){ //copie le fichier de base
+                if(score >= file[i1][1]){ //ajoute le score du joueur a la place qu'il mérite (en cas d'égalité remplace l'ancien ;) )
+                    newFile[i1][0] = pseudo;
+                    newFile[i1][1] = score;
+                } else{ //sinon remet les ancienne ligne
+                    for(int j1 = 0; j1 < length(file, 2); j1 ++){
+                        newFile[i][j1] = file[i][j1];
+                    }
+                    i = i + 1; //incrémente i pour savoir quelle ligne de l'ancien fichier ont été mise dans le nouveau
+                }
 
+            }
+            saveCSV(newFile, "ressources/score.csv");
+        }
     }
 
     void afficheStringTab(String[][] tab){ //Affiche un tableau de String a 2 dimension
@@ -567,14 +583,57 @@ class Labyrinthe extends Program{
         assertFalse(equals(tab1, tab4));
     }
 
+    boolean estInt(String verif){
+        if(length(verif) == 0){
+            return false;
+        }
+        for(int i = 0; i < length(verif); i ++){
+            if(charAt(verif, i) < '0' || '9' < charAt(verif, i)){
+                return false;
+            }
+        }
+        return true;
+    }
+
+    void testEstInt(){
+        String mot1 = "0t6";
+        String mot2 = "54";
+        String mot3 = "Lolilol";
+        String mot4 = "";
+        assertFalse(estInt(mot1));
+        assertTrue(estInt(mot2));
+        assertFalse(estInt(mot3));
+        assertFalse(estInt(mot4));
+    }
+
+    int nbFromString(int minimum){ //Demande un nombre à l'utilisateur tant qu'il rentre autre chose qu'un nombre ou un nombre inférieur à la limite
+        int nbAjout = 0;
+        while(nbAjout < minimum){
+            String nb = readString();
+            while(!estInt(nb)){
+                print("Veuillez entrer un nombre valide : ");
+                nb = readString();
+            }
+            nbAjout = stringToInt(nb);
+            if(nbAjout < minimum ){
+                print("Veuillez choisir un nombre supérieur ou égale à "+ minimum +" : ");
+            }
+            
+        }
+        return nbAjout;
+    }
+
     void algorithm(){
-        Salle[][] lab = genererLab(13); //genere le Layrinthe
+        println("Quel taille voulez vous pour le labyrinthe (la taille sera en : N x N ) ?");
+        int tailleLab = nbFromString(3);
+        Salle[][] lab = genererLab(tailleLab); //genere le Layrinthe
         String[][] questionTemp = load("ressources/ListeQuestion.csv");
+        String[][] tabScore = load("ressources/score.csv");
         print("Voulez vous ajouter des question ? oui (o), non (autre) : ");
         boolean ques = equals(toLowerCase(readString()), "o");
         if(ques){
             print("Combien voulez vous en ajouter ? : ");
-            int nbAjout = readInt();
+            int nbAjout = nbFromString(1);
             ajoutQuestion(questionTemp, nbAjout);
             questionTemp = load("ressources/ListeQuestion.csv");
             afficheStringTab(questionTemp);
@@ -602,7 +661,7 @@ class Labyrinthe extends Program{
         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");
+        int rando = (int) (random() * 3)+1;
         afficherSalle(lab[1][0].numero);
         salle[length(salle,1)/2][length(salle,2)/2] = 'P';
         afficheStringTab(load("ressources/score.csv"));
@@ -617,9 +676,14 @@ class Labyrinthe extends Program{
             if(!equals(indiceSalleActu, indiceSalle)){
                 salle = genererSalle("ressources/Lab/Salle"+lab[indiceSalle[0]][indiceSalle[1]].numero);
                 salle[indiceP[0]][indiceP[1]] = 'P';
-            }
-            if(indiceSalle[0] == length(lab)/2 && indiceSalle[1] == length(lab)/2){
-                salle[length(salle, 1)][length(salle,2)] = 'B';
+                if(indiceSalle[0] == length(lab)/2 && indiceSalle[1] == length(lab)/2){
+                    salle[length(salle, 1)/2][length(salle,2)/2] = 'B';
+                } else {
+                    if (rando == 1){
+                        salle[length(salle, 1)/2][length(salle,2)/2] = 'M';
+                    }
+                    rando = (int) (random() * 3) + 1;
+                }
             }
 
 
@@ -629,5 +693,6 @@ class Labyrinthe extends Program{
         } else {
             print(readFile("ressources/img/Lose.txt", true));
         }  
+        ajoutScore(tabScore, joueur.pseudo, joueur.score);
     }
 }
\ No newline at end of file