diff --git a/S1.02/Jeu/classes/Labyrinthe.class b/S1.02/Jeu/classes/Labyrinthe.class
index cdb319d73fa7bd1e3cde9166678d97169a1ba4b7..73b4cadfdf8043673c08afc9e54e44349be99011 100644
Binary files a/S1.02/Jeu/classes/Labyrinthe.class and b/S1.02/Jeu/classes/Labyrinthe.class differ
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 63646b44a4a7a57906d493ee6f15a6e31a23143a..0709d79c9ac05386324fc79dbc668da31943780d 100644
--- a/S1.02/Jeu/src/Labyrinthe.java
+++ b/S1.02/Jeu/src/Labyrinthe.java
@@ -175,7 +175,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();
}
@@ -203,6 +221,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]);
}
}
@@ -444,7 +464,44 @@ class Labyrinthe extends Program{
char[][] salle = genererSalle("ressources/Lab/Salle"+nbr);
afficheLab(salle);
}
- void algorithm(){
+
+ 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) : ");
@@ -467,7 +524,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();
}
@@ -476,9 +533,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);
@@ -486,14 +543,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));