modification des menus, ajout du menu jeu, mise en place d'une méthode main, corrections mineures, affichages des déplacements
This commit is contained in:
parent
12b8b22fd6
commit
9e9f77c544
@ -17,7 +17,7 @@ public class Clavier {
|
||||
return chaine;
|
||||
}
|
||||
|
||||
public static int entrerClavierInt() {
|
||||
static int entrerClavierInt() {
|
||||
int entier=0;
|
||||
try {
|
||||
entier = scanner.nextInt();
|
||||
|
||||
@ -16,7 +16,11 @@ public class Marche extends Salle {
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
public String creerObjetsAVendre(Labyrinthe lab) {
|
||||
public String getType() {
|
||||
return "Marche";
|
||||
}
|
||||
|
||||
public static String creerObjetsAVendre(Labyrinthe lab) {
|
||||
String listeSarme="";
|
||||
String listeSarmure="";
|
||||
String listeobjet="";
|
||||
@ -27,7 +31,6 @@ public class Marche extends Salle {
|
||||
|
||||
for (Armure armure : lab.listeArmure) listeSarmure +=j++ +") "+ armure.getNom()+ " au prix de : " + armure.getPrix()+"\n";
|
||||
|
||||
|
||||
listeobjet = "Armes :\n" + listeSarme + "\nArmures :\n" + listeSarmure;
|
||||
|
||||
return listeobjet;
|
||||
|
||||
@ -1,13 +1,34 @@
|
||||
package modeles;
|
||||
|
||||
import javafx.util.*;
|
||||
import java.io.IOException;
|
||||
import java.util.Random;
|
||||
public class Menu {
|
||||
|
||||
|
||||
public void menuJeu() {
|
||||
Labyrinthe lab=menuStartGame();
|
||||
Marche marche= (Marche) lab.listePorte.get(0).getSalle1();
|
||||
Personnage perso = menuSelection(lab);
|
||||
perso.setSalle(lab.listePorte.get(0).getSalle1());
|
||||
try {
|
||||
do {
|
||||
Menudeplacement(perso, perso.getSalle(),lab);
|
||||
if (perso.getSalle().getType().contentEquals("Marche")) {
|
||||
MenuMarche(perso, lab);
|
||||
}
|
||||
}while(perso.isVivant() && !perso.getSalle().estSortie());
|
||||
}catch (Exception e) {
|
||||
System.out.println(e);
|
||||
menuJeu();
|
||||
}
|
||||
if (perso.isVivant()) System.out.println("Felicitation vous avez vaincu le grand Neltharion ! Vous avez sauver Azeroth");
|
||||
}
|
||||
|
||||
public String menuCombat(Monstre mons, Personnage perso, Labyrinthe lab) throws IOException {
|
||||
int degat;
|
||||
int reponse = 0;
|
||||
System.out.println("Un monstre du nom de "+mons.getNom()+" se présente devant vous et il est trés en colère :");
|
||||
System.out.println("Un monstre du nom de "+mons.getNom()+" se presente devant vous et il est tres en colere :");
|
||||
while (true){
|
||||
System.out.println("\t - 1 attaquer\n\t - 2 Potion \n\t- 3 Fuir");
|
||||
try{
|
||||
@ -18,27 +39,29 @@ public class Menu {
|
||||
switch (reponse) {
|
||||
case 1:
|
||||
degat = perso.attaquer(mons, lab);
|
||||
System.out.println("Vous avez infligé "+degat+" à votre adversaire.");
|
||||
System.out.println("Vous infligez "+degat+" a votre adversaire.");
|
||||
if (!mons.isVivant()) {
|
||||
perso.salle.cle(lab);
|
||||
perso.setpVie(perso.getpVieMax()+1);
|
||||
perso.soin();
|
||||
perso.getSalle().cle(lab);
|
||||
System.out.println(perso.remplirBourse());
|
||||
return "Votre ennemie trépasse et vous obtenez la clé des portes de la salle.";
|
||||
return "Votre ennemie trepasse et vous obtenez la cle des portes de la salle.";
|
||||
} else {
|
||||
System.out.println("Au tour de votre adversaire. Il attaque préparez vous ! ");
|
||||
System.out.println("Au tour de votre adversaire. Il attaque preparez vous ! ");
|
||||
System.out.println("il vous inflige "+ mons.attaquer(perso,lab)+".");
|
||||
if (!perso.isVivant()) {
|
||||
return "C'est ainsi que vous trépassez sous les coups des ténèbres. Reposez vous héros... Vous avez l'<27>ternit<69>.";
|
||||
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 à bout achever le !");
|
||||
else System.out.println("votre ennemie n'est pas encore a bout, achevez le !");
|
||||
}
|
||||
break;
|
||||
|
||||
case 2 :
|
||||
if (!perso.getPotion().isEmpty()) {
|
||||
perso.utiliser(perso.getPotion().remove(0));
|
||||
System.out.println("Vous avez utilisé une potion. Votre vie est maintenant au maximum.");
|
||||
System.out.println("Vous utilisez une potion. Votre vie est maintenant au maximum.");
|
||||
} else {
|
||||
System.out.println("Il ne vous reste plus de potion. Désolé.");
|
||||
System.out.println("Il ne vous reste plus de potion.");
|
||||
}
|
||||
break;
|
||||
|
||||
@ -46,9 +69,10 @@ public class Menu {
|
||||
System.out.println("Vous tentez de fuir.");
|
||||
Random rd = new Random();
|
||||
if (rd.nextInt(100)<50) {
|
||||
perso.soin();
|
||||
return "Vous avez fuit.";
|
||||
} else {
|
||||
System.out.println("Ce fut un échec !");
|
||||
System.out.println("Ce fut un echec !");
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,7 +80,7 @@ public class Menu {
|
||||
}
|
||||
|
||||
public Labyrinthe menuStartGame() {
|
||||
System.out.println("L'Aventure vous appelle ! Le choix s'offre à vous, une histoire peut s'écrire une autre peut continuer :\n1) Nouvelle Partie\n2) Continuer votre progression");
|
||||
System.out.println("L'Aventure vous appelle ! Le choix s'offre a vous, une histoire peut s'ecrire une autre peut continuer :\n1) Nouvelle Partie\n2) Continuer votre progression");
|
||||
switch(Clavier.entrerClavierInt()) {
|
||||
case 1:
|
||||
return new Labyrinthe();
|
||||
@ -87,36 +111,87 @@ public class Menu {
|
||||
return pers;
|
||||
}
|
||||
|
||||
public void deplacement(Personnage perso, Salle salle) {
|
||||
public void Menudeplacement(Personnage perso, Salle salle,Labyrinthe lab) throws IOException {
|
||||
System.out.println("Choisissez une direction:\n Z) Haut\n S) Bas\n D) Droite\n Q) Gauche");
|
||||
Salle s;
|
||||
Pair<Integer,Integer>next;
|
||||
String csb="";
|
||||
switch(Clavier.entrerClavierString()) {
|
||||
case "Z":
|
||||
System.out.println("Vous allez vers le haut");
|
||||
perso.seDeplacer(salle);
|
||||
next=new Pair(salle.getCoordonnes().getKey(),salle.getCoordonnes().getValue()+1);
|
||||
if((s=salle.findNextSalle(next, lab))==null){
|
||||
System.out.println("Je ne connais pas cette salle");
|
||||
Menudeplacement(perso, salle, lab);
|
||||
break;
|
||||
}
|
||||
while (!s.estVide() && perso.isVivant() && csb.contentEquals("Vous avez fuit.")) {
|
||||
Monstre mons =lab.listeMonstre.get(s.getListeEnnemie().remove(0));
|
||||
csb=menuCombat(mons, perso, lab);
|
||||
}
|
||||
if (perso.isVivant()) {
|
||||
System.out.println("vous vous déplacez");
|
||||
perso.seDeplacer(s);
|
||||
}
|
||||
break;
|
||||
case "S":
|
||||
System.out.println("Vous allez vers le bas");
|
||||
perso.seDeplacer(salle);
|
||||
next=new Pair(salle.getCoordonnes().getKey(),salle.getCoordonnes().getValue()-1);
|
||||
if((s=salle.findNextSalle(next, lab))==null){
|
||||
System.out.println("Je ne connais pas cette salle");
|
||||
Menudeplacement(perso, salle, lab);
|
||||
break;
|
||||
}
|
||||
while (!s.estVide() && perso.isVivant() && csb.contentEquals("Vous avez fuit.")) {
|
||||
Monstre mons =lab.listeMonstre.get(s.getListeEnnemie().remove(0));
|
||||
csb=menuCombat(mons, perso, lab);
|
||||
}
|
||||
if (perso.isVivant()) {
|
||||
System.out.println("vous vous déplacez");
|
||||
perso.seDeplacer(s);
|
||||
}
|
||||
break;
|
||||
case "D":
|
||||
System.out.println("Vous allez vers le droite");
|
||||
perso.seDeplacer(salle);
|
||||
next=new Pair(salle.getCoordonnes().getKey()+1,salle.getCoordonnes().getValue());
|
||||
if((s=salle.findNextSalle(next, lab))==null){
|
||||
System.out.println("Je ne connais pas cette salle");
|
||||
Menudeplacement(perso, salle, lab);
|
||||
break;
|
||||
}
|
||||
while (!s.estVide() && perso.isVivant() && csb.contentEquals("Vous avez fuit.")) {
|
||||
Monstre mons =lab.listeMonstre.get(s.getListeEnnemie().remove(0));
|
||||
csb=menuCombat(mons, perso, lab);
|
||||
}
|
||||
if (perso.isVivant()) {
|
||||
System.out.println("vous vous déplacez");
|
||||
perso.seDeplacer(s);
|
||||
}
|
||||
break;
|
||||
case "Q":
|
||||
System.out.println("Vous allez vers le gauche");
|
||||
perso.seDeplacer(salle);
|
||||
next=new Pair(salle.getCoordonnes().getKey()-1,salle.getCoordonnes().getValue());
|
||||
if((s=salle.findNextSalle(next, lab))==null){
|
||||
System.out.println("Je ne connais pas cette salle");
|
||||
Menudeplacement(perso, salle, lab);
|
||||
break;
|
||||
}
|
||||
while (!s.estVide() && perso.isVivant() && csb.contentEquals("Vous avez fuit.")) {
|
||||
Monstre mons =lab.listeMonstre.get(s.getListeEnnemie().remove(0));
|
||||
csb=menuCombat(mons, perso, lab);
|
||||
}
|
||||
if (perso.isVivant()) {
|
||||
System.out.println("vous vous déplacez");
|
||||
perso.seDeplacer(s);
|
||||
}
|
||||
break;
|
||||
default :
|
||||
System.out.println("erreur de lecture");
|
||||
}
|
||||
System.out.println("Vous etes à la salle de coordonnes "+perso.getSalle().getCoordonnes().getKey()+" "+perso.getSalle().getCoordonnes().getValue()+".");
|
||||
}
|
||||
|
||||
public void Menu_Marche(Marche marche,Personnage perso, Labyrinthe lab) {
|
||||
public void MenuMarche(Personnage perso, Labyrinthe lab) {
|
||||
System.out.println("Voulez-vous acheter un objet:(votre bourse :"+perso.getValeurBourse() +")\n1) Oui\n2) Non");
|
||||
switch(Clavier.entrerClavierString()) {
|
||||
case "a":
|
||||
System.out.println("Choisissez un objet:");
|
||||
switch(Clavier.entrerClavierString()) {
|
||||
case "1":
|
||||
System.out.println(marche.creerObjetsAVendre(lab)+"\nVoulez-vous acheter une arme ? (oui/non)");
|
||||
System.out.println(Marche.creerObjetsAVendre(lab)+"\nVoulez-vous acheter une arme ? (oui/non)");
|
||||
String selection=Clavier.entrerClavierString();
|
||||
if(selection.compareTo("oui")>0) {
|
||||
System.out.println("Quel numéro pour l'arme ?");
|
||||
@ -138,4 +213,4 @@ public class Menu {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ public class Monstre extends EtreVivant {
|
||||
|
||||
public int attaquer(Personnage def,Labyrinthe lab) {
|
||||
int pAttaqueLoc;
|
||||
if (lab.listeArmure.get(def.getArmure())!=null) pAttaqueLoc=this.getpAttaque()-(lab.listeArmure.get(def.getArmure()).getpArmure());
|
||||
if (def.getArmure()>=0) pAttaqueLoc=this.getpAttaque()-(lab.listeArmure.get(def.getArmure()).getpArmure());
|
||||
else pAttaqueLoc=this.getpAttaque();
|
||||
def.pVie-=pAttaqueLoc;
|
||||
if (def.pVie<=0)def.setVivant(false);
|
||||
|
||||
@ -14,10 +14,10 @@ public class Porte {
|
||||
super();
|
||||
this.ouvert = ouvert;
|
||||
this.salle1 = salle;
|
||||
this.salle1.getListePorte().add(this.id);
|
||||
this.salle1.getListePorte().add(id);
|
||||
this.salle2 = salle2;
|
||||
this.salle2.getListePorte().add(this.id);
|
||||
this.id++;
|
||||
this.salle2.getListePorte().add(id);
|
||||
id++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,8 +2,9 @@ package modeles;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
//import javafx.util.Pair;
|
||||
import org.javatuples.*;
|
||||
|
||||
import javafx.util.Pair;
|
||||
|
||||
|
||||
public class Salle {
|
||||
private Pair<Integer,Integer> coordonnees;
|
||||
@ -17,6 +18,7 @@ public class Salle {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public List<Integer> getListeEnnemie() {
|
||||
return listeEnnemie;
|
||||
}
|
||||
@ -52,4 +54,10 @@ public class Salle {
|
||||
public List<Integer> getListePorte() {
|
||||
return this.listePorte;
|
||||
}
|
||||
public Salle findNextSalle(Pair<Integer,Integer> coordonnes,Labyrinthe lab) {
|
||||
for (int porte : listePorte) {
|
||||
if (lab.listePorte.get(porte).prochainSaut(this).coordonnees.equals(coordonnes)) return lab.listePorte.get(porte).prochainSaut(this);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,24 +7,7 @@ public class main {
|
||||
public static void main(String[] args) throws IOException {
|
||||
|
||||
Menu menu = new Menu();
|
||||
Labyrinthe lab=menu.menuStartGame();
|
||||
|
||||
|
||||
Marche marche= (Marche) lab.listePorte.get(0).getSalle1();
|
||||
System.out.println(marche.creerObjetsAVendre(lab));
|
||||
|
||||
Personnage perso = menu.menuSelection(lab);
|
||||
perso.setSalle(lab.listePorte.get(0).getSalle1());
|
||||
Salle next =lab.listePorte.get(perso.getSalle().getListePorte().get(0)).prochainSaut(perso.getSalle());
|
||||
|
||||
System.out.println(menu.menuCombat(lab.listeMonstre.get(next.getListeEnnemie().get(0)), perso, lab));
|
||||
perso.setSalle(next);
|
||||
menu.deplacement(perso,next);
|
||||
System.out.println("le personnage à bouger");
|
||||
|
||||
//Clavier.entrerClavierInt();
|
||||
//menu.menuCombat(lab.listeMonstre.get(0), lab.listePersonnage.get(0), lab);
|
||||
//menu.menuSelection(lab);
|
||||
menu.menuJeu();
|
||||
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user