@ -1,17 +1,19 @@
package modeles ;
package fonctionnement ;
import labyrinthe.* ;
import modeles.* ;
import javafx.util.* ;
import javafx.util.* ;
import java.io.IOException ;
import java.io.IOException ;
import java.util.Random ;
import java.util.Random ;
public class Menu {
public class Menu {
public void menuJeu ( ) {
public void menuJeu ( ) {
Labyrinthe lab = menuStartGame ( ) ;
Labyrinthe lab = menuStartGame ( ) ;
Marche marche = ( Marche ) lab . listePorte . get ( 0 ) . getSalle1 ( ) ;
Marche marche = ( Marche ) lab . getListePorte( ) . get ( 0 ) . getSalle1 ( ) ;
Personnage perso = menuSelection ( lab ) ;
Personnage perso = menuSelection ( lab ) ;
boolean jeu = true ;
boolean jeu = true ;
perso . setSalle ( lab . listePorte . get ( 0 ) . getSalle1 ( ) ) ;
perso . setSalle ( lab . getListePorte( ) . get ( 0 ) . getSalle1 ( ) ) ;
try {
try {
do {
do {
jeu = Menudeplacement ( perso , perso . getSalle ( ) , lab ) ;
jeu = Menudeplacement ( perso , perso . getSalle ( ) , lab ) ;
@ -29,7 +31,7 @@ public class Menu {
public String menuCombat ( Monstre mons , Personnage perso , Labyrinthe lab ) throws IOException {
public String menuCombat ( Monstre mons , Personnage perso , Labyrinthe lab ) throws IOException {
int degat ;
int degat ;
int reponse = 0 ;
int reponse = 0 ;
System . out . println ( "Un monstre du nom de " + mons . getNom ( ) + " se presente devant vous et il est tres en colere \nIl lui reste : " + mons . getpVie ( ) + "\nIl vous reste : " + perso . pVie+ "\nVous avez " + perso . getPotion ( ) . size ( ) + " potion." ) ;
System . out . println ( "Un monstre du nom de " + mons . getNom ( ) + " se presente devant vous et il est tres en colere \nIl lui reste : " + mons . getpVie ( ) + "\nIl vous reste : " + perso . get pVie( ) + "\nVous avez " + perso . getPotion ( ) . size ( ) + " potion." ) ;
while ( true ) {
while ( true ) {
System . out . println ( "\t - 1 attaquer\n\t - 2 Potion \n\t- 3 Fuir" ) ;
System . out . println ( "\t - 1 attaquer\n\t - 2 Potion \n\t- 3 Fuir" ) ;
try {
try {
@ -44,16 +46,16 @@ public class Menu {
if ( ! mons . isVivant ( ) ) {
if ( ! mons . isVivant ( ) ) {
perso . setpVieMax ( perso . getpVieMax ( ) + 1 ) ;
perso . setpVieMax ( perso . getpVieMax ( ) + 1 ) ;
perso . soin ( ) ;
perso . soin ( ) ;
perso. getSalle ( ) . cle ( lab ) ;
mons. soin ( ) ;
System . out . println ( perso . remplirBourse ( ) ) ;
System . out . println ( perso . remplirBourse ( ) ) ;
return "Votre ennemie trepasse et vous obtenez la cle des portes de la salle .";
return "Votre ennemie trepasse .";
} else {
} else {
System . out . println ( "Au tour de votre adversaire. Il attaque preparez vous ! " ) ;
System . out . println ( "Au tour de votre adversaire. Il attaque preparez vous ! " ) ;
System . out . println ( "il vous inflige " + mons . attaquer ( perso , lab ) + "." ) ;
System . out . println ( "il vous inflige " + mons . attaquer ( perso , lab ) + "." ) ;
if ( ! perso . isVivant ( ) ) {
if ( ! perso . isVivant ( ) ) {
return "C'est ainsi que vous trepassez sous les coups des tenebres. Reposez vous heros... Vous avez l'eternite." ;
return "C'est ainsi que vous trepassez sous les coups des tenebres. Reposez vous heros... Vous avez l'eternite." ;
}
}
else System . out . println ( "votre ennemie n'est pas encore a bout, achevez le ! \nIl lui reste :" + mons . getpVie ( ) + "\nIl vous reste :" + perso . pVie+ "\nVous avez " + perso . getPotion ( ) . size ( ) + " potion." ) ;
else System . out . println ( "votre ennemie n'est pas encore a bout, achevez le ! \nIl lui reste :" + mons . getpVie ( ) + "\nIl vous reste :" + perso . get pVie( ) + "\nVous avez " + perso . getPotion ( ) . size ( ) + " potion." ) ;
}
}
break ;
break ;
@ -79,7 +81,7 @@ public class Menu {
if ( ! perso . isVivant ( ) ) {
if ( ! perso . isVivant ( ) ) {
return "C'est ainsi que vous trepassez sous les coups des tenebres. Reposez vous heros... Vous avez l'eternite." ;
return "C'est ainsi que vous trepassez sous les coups des tenebres. Reposez vous heros... Vous avez l'eternite." ;
}
}
else System . out . println ( "votre ennemie n'est pas encore a bout, achevez le ! \nIl lui reste :" + mons . getpVie ( ) + "\nIl vous reste :" + perso . pVie+ "\nVous avez " + perso . getPotion ( ) . size ( ) + " potion." ) ;
else System . out . println ( "votre ennemie n'est pas encore a bout, achevez le ! \nIl lui reste :" + mons . getpVie ( ) + "\nIl vous reste :" + perso . get pVie( ) + "\nVous avez " + perso . getPotion ( ) . size ( ) + " potion." ) ;
}
}
}
}
@ -102,13 +104,13 @@ public class Menu {
public Personnage menuSelection ( Labyrinthe lab ) {
public Personnage menuSelection ( Labyrinthe lab ) {
System . out . println ( "Bonjour Etranger, je suis le narrateur de votre histoire. Comment dois-je vous appeler ? " ) ;
System . out . println ( "Bonjour Etranger, je suis le narrateur de votre histoire. Comment dois-je vous appeler ? " ) ;
int i = 0 ;
int i = 0 ;
for ( Personnage per : lab . listePersonnage ) {
for ( Personnage per : lab . getListePersonnage( ) ) {
System . out . println ( i + + + ") " + per . getNom ( ) ) ;
System . out . println ( i + + + ") " + per . getNom ( ) ) ;
}
}
Personnage pers ;
Personnage pers ;
try {
try {
pers = lab . listePersonnage . get ( Clavier . entrerClavierInt ( ) ) ;
pers = lab . getListePersonnage( ) . get ( Clavier . entrerClavierInt ( ) ) ;
}
}
catch ( Exception e ) {
catch ( Exception e ) {
System . out . println ( "Le personnage dont vous me parlez n'existe pas." ) ;
System . out . println ( "Le personnage dont vous me parlez n'existe pas." ) ;
@ -133,16 +135,19 @@ public class Menu {
Menudeplacement ( perso , salle , lab ) ;
Menudeplacement ( perso , salle , lab ) ;
}
}
while ( ! s . estVide ( ) & & perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
while ( ! s . estVide ( ) & & perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
mons = lab . listeMonstre . get ( s . getListeEnnemie ( ) . get ( 0 ) ) ;
mons = lab . getListeMonstre( ) . get ( s . getListeEnnemie ( ) . get ( 0 ) ) ;
csb = menuCombat ( mons , perso , lab ) ;
csb = menuCombat ( mons , perso , lab ) ;
if ( csb . contentEquals ( "Votre ennemie trepasse et vous obtenez la cle des portes de la salle .") ) {
if ( csb . contentEquals ( "Votre ennemie trepasse .") ) {
s . getListeEnnemie ( ) . remove ( 0 ) ;
s . getListeEnnemie ( ) . remove ( 0 ) ;
}
}
System . out . println ( csb ) ;
System . out . println ( csb ) ;
}
}
if ( perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
if ( perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
System . out . println ( "vous vous deplacez" ) ;
perso . seDeplacer ( s ) ;
perso . seDeplacer ( s ) ;
if ( ! csb . isEmpty ( ) ) {
System . out . println ( "Un objet traine sur le sol... c'est la cle de la salle ! Desormais vous pouvez vous deplacer dans les salles alentours." ) ;
perso . getSalle ( ) . cle ( lab ) ;
}
}
}
break ;
break ;
case "S" :
case "S" :
@ -153,17 +158,19 @@ public class Menu {
break ;
break ;
}
}
while ( ! s . estVide ( ) & & perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
while ( ! s . estVide ( ) & & perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
mons = lab . listeMonstre . get ( s . getListeEnnemie ( ) . get ( 0 ) ) ;
mons = lab . getListeMonstre( ) . get ( s . getListeEnnemie ( ) . get ( 0 ) ) ;
csb = menuCombat ( mons , perso , lab ) ;
csb = menuCombat ( mons , perso , lab ) ;
if ( csb . contentEquals ( "Votre ennemie trepasse et vous obtenez la cle des portes de la salle .") ) {
if ( csb . contentEquals ( "Votre ennemie trepasse .") ) {
s . getListeEnnemie ( ) . remove ( 0 ) ;
s . getListeEnnemie ( ) . remove ( 0 ) ;
}
}
System . out . println ( csb ) ;
System . out . println ( csb ) ;
}
}
if ( perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
if ( perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
System . out . println ( "vous vous deplacez" ) ;
perso . seDeplacer ( s ) ;
perso . seDeplacer ( s ) ;
}
if ( ! csb . isEmpty ( ) ) {
System . out . println ( "Un objet traine sur le sol... c'est la cle de la salle ! Desormais vous pouvez vous deplacer dans les salles alentours." ) ;
perso . getSalle ( ) . cle ( lab ) ;
} }
break ;
break ;
case "D" :
case "D" :
next = new Pair ( salle . getCoordonnes ( ) . getKey ( ) + 1 , salle . getCoordonnes ( ) . getValue ( ) ) ;
next = new Pair ( salle . getCoordonnes ( ) . getKey ( ) + 1 , salle . getCoordonnes ( ) . getValue ( ) ) ;
@ -173,17 +180,19 @@ public class Menu {
break ;
break ;
}
}
while ( ! s . estVide ( ) & & perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
while ( ! s . estVide ( ) & & perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
mons = lab . listeMonstre . get ( s . getListeEnnemie ( ) . get ( 0 ) ) ;
mons = lab . getListeMonstre( ) . get ( s . getListeEnnemie ( ) . get ( 0 ) ) ;
csb = menuCombat ( mons , perso , lab ) ;
csb = menuCombat ( mons , perso , lab ) ;
if ( csb . contentEquals ( "Votre ennemie trepasse et vous obtenez la cle des portes de la salle .") ) {
if ( csb . contentEquals ( "Votre ennemie trepasse .") ) {
s . getListeEnnemie ( ) . remove ( 0 ) ;
s . getListeEnnemie ( ) . remove ( 0 ) ;
}
}
System . out . println ( csb ) ;
System . out . println ( csb ) ;
}
}
if ( perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
if ( perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
System . out . println ( "vous vous deplacez" ) ;
perso . seDeplacer ( s ) ;
perso . seDeplacer ( s ) ;
}
if ( ! csb . isEmpty ( ) ) {
System . out . println ( "Un objet traine sur le sol... c'est la cle de la salle ! Desormais vous pouvez vous deplacer dans les salles alentours." ) ;
perso . getSalle ( ) . cle ( lab ) ;
} }
break ;
break ;
case "Q" :
case "Q" :
next = new Pair ( salle . getCoordonnes ( ) . getKey ( ) - 1 , salle . getCoordonnes ( ) . getValue ( ) ) ;
next = new Pair ( salle . getCoordonnes ( ) . getKey ( ) - 1 , salle . getCoordonnes ( ) . getValue ( ) ) ;
@ -193,24 +202,28 @@ public class Menu {
break ;
break ;
}
}
while ( ! s . estVide ( ) & & perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
while ( ! s . estVide ( ) & & perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
mons = lab . listeMonstre . get ( s . getListeEnnemie ( ) . get ( 0 ) ) ;
mons = lab . getListeMonstre( ) . get ( s . getListeEnnemie ( ) . get ( 0 ) ) ;
csb = menuCombat ( mons , perso , lab ) ;
csb = menuCombat ( mons , perso , lab ) ;
if ( csb . contentEquals ( "Votre ennemie trepasse et vous obtenez la cle des portes de la salle .") ) {
if ( csb . contentEquals ( "Votre ennemie trepasse .") ) {
s . getListeEnnemie ( ) . remove ( 0 ) ;
s . getListeEnnemie ( ) . remove ( 0 ) ;
}
}
System . out . println ( csb ) ;
System . out . println ( csb ) ;
}
}
if ( perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
if ( perso . isVivant ( ) & & ! csb . contentEquals ( "Vous avez fuit." ) ) {
System . out . println ( "vous vous deplacez" ) ;
perso . seDeplacer ( s ) ;
perso . seDeplacer ( s ) ;
if ( ! csb . isEmpty ( ) ) {
System . out . println ( "Un objet traine sur le sol... c'est la cle de la salle ! Desormais vous pouvez vous deplacer dans les salles alentours." ) ;
perso . getSalle ( ) . cle ( lab ) ;
}
}
}
break ;
break ;
case "X" :
case "X" :
try {
try {
gene . save ( lab ) ;
gene . save ( lab ) ;
} catch ( Exception e ) {
} catch ( Exception e ) {
System . out . println ( e ) ;
System . out . println ( e ) ;
}
}
return false ;
return false ;
default :
default :
System . out . println ( "erreur de lecture" ) ;
System . out . println ( "erreur de lecture" ) ;
@ -228,14 +241,14 @@ public class Menu {
if ( selection . contentEquals ( "oui" ) ) {
if ( selection . contentEquals ( "oui" ) ) {
System . out . println ( "Quel numero pour l'arme ?" ) ;
System . out . println ( "Quel numero pour l'arme ?" ) ;
int valeur = Clavier . entrerClavierInt ( ) ;
int valeur = Clavier . entrerClavierInt ( ) ;
if ( perso . getBourse ( ) . Achat ( lab . listeArme . get ( valeur ) ) > = 0 ) perso . equiper ( lab . listeArme . get ( valeur ) , lab ) ;
if ( perso . getBourse ( ) . Achat ( lab . getListeArme( ) . get ( valeur ) ) > = 0 ) perso . equiper ( lab . getListeArme( ) . get ( valeur ) , lab ) ;
} else {
} else {
System . out . println ( "Pourquoi Pas une armure alors ? (oui/non)" ) ;
System . out . println ( "Pourquoi Pas une armure alors ? (oui/non)" ) ;
selection = Clavier . entrerClavierString ( ) ;
selection = Clavier . entrerClavierString ( ) ;
if ( selection . contentEquals ( "oui" ) ) {
if ( selection . contentEquals ( "oui" ) ) {
System . out . println ( "Quel numero pour l'armure ?" ) ;
System . out . println ( "Quel numero pour l'armure ?" ) ;
int valeur = Clavier . entrerClavierInt ( ) ;
int valeur = Clavier . entrerClavierInt ( ) ;
if ( perso . getBourse ( ) . Achat ( lab . listeArmure . get ( valeur ) ) > = 0 ) perso . equiper ( lab . listeArmure . get ( valeur ) , lab ) ;
if ( perso . getBourse ( ) . Achat ( lab . getListeArmure( ) . get ( valeur ) ) > = 0 ) perso . equiper ( lab . getListeArmure( ) . get ( valeur ) , lab ) ;
}
}
}
}
break ;
break ;