modification des menus, ajout du menu jeu, mise en place d'une méthode main, corrections mineures, affichages des déplacements

correction
Theo_Dubo 6 years ago
parent 12b8b22fd6
commit 9e9f77c544

@ -17,7 +17,7 @@ public class Clavier {
return chaine; return chaine;
} }
public static int entrerClavierInt() { static int entrerClavierInt() {
int entier=0; int entier=0;
try { try {
entier = scanner.nextInt(); entier = scanner.nextInt();

@ -16,7 +16,11 @@ public class Marche extends Salle {
// TODO Auto-generated constructor stub // TODO Auto-generated constructor stub
} }
public String creerObjetsAVendre(Labyrinthe lab) { public String getType() {
return "Marche";
}
public static String creerObjetsAVendre(Labyrinthe lab) {
String listeSarme=""; String listeSarme="";
String listeSarmure=""; String listeSarmure="";
String listeobjet=""; 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"; for (Armure armure : lab.listeArmure) listeSarmure +=j++ +") "+ armure.getNom()+ " au prix de : " + armure.getPrix()+"\n";
listeobjet = "Armes :\n" + listeSarme + "\nArmures :\n" + listeSarmure; listeobjet = "Armes :\n" + listeSarme + "\nArmures :\n" + listeSarmure;
return listeobjet; return listeobjet;

@ -1,13 +1,34 @@
package modeles; package modeles;
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() {
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 { 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 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){ 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{
@ -18,27 +39,29 @@ public class Menu {
switch (reponse) { switch (reponse) {
case 1: case 1:
degat = perso.attaquer(mons, lab); 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()) { if (!mons.isVivant()) {
perso.salle.cle(lab); perso.setpVie(perso.getpVieMax()+1);
perso.soin();
perso.getSalle().cle(lab);
System.out.println(perso.remplirBourse()); 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 { } 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)+"."); System.out.println("il vous inflige "+ mons.attaquer(perso,lab)+".");
if (!perso.isVivant()) { 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; break;
case 2 : case 2 :
if (!perso.getPotion().isEmpty()) { if (!perso.getPotion().isEmpty()) {
perso.utiliser(perso.getPotion().remove(0)); 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 { } else {
System.out.println("Il ne vous reste plus de potion. Désolé."); System.out.println("Il ne vous reste plus de potion.");
} }
break; break;
@ -46,9 +69,10 @@ public class Menu {
System.out.println("Vous tentez de fuir."); System.out.println("Vous tentez de fuir.");
Random rd = new Random(); Random rd = new Random();
if (rd.nextInt(100)<50) { if (rd.nextInt(100)<50) {
perso.soin();
return "Vous avez fuit."; return "Vous avez fuit.";
} else { } 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() { 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()) { switch(Clavier.entrerClavierInt()) {
case 1: case 1:
return new Labyrinthe(); return new Labyrinthe();
@ -87,36 +111,87 @@ public class Menu {
return pers; 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"); 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()) { switch(Clavier.entrerClavierString()) {
case "Z": case "Z":
System.out.println("Vous allez vers le haut"); next=new Pair(salle.getCoordonnes().getKey(),salle.getCoordonnes().getValue()+1);
perso.seDeplacer(salle); 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; break;
case "S": case "S":
System.out.println("Vous allez vers le bas"); next=new Pair(salle.getCoordonnes().getKey(),salle.getCoordonnes().getValue()-1);
perso.seDeplacer(salle); 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; break;
case "D": case "D":
System.out.println("Vous allez vers le droite"); next=new Pair(salle.getCoordonnes().getKey()+1,salle.getCoordonnes().getValue());
perso.seDeplacer(salle); 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; break;
case "Q": case "Q":
System.out.println("Vous allez vers le gauche"); next=new Pair(salle.getCoordonnes().getKey()-1,salle.getCoordonnes().getValue());
perso.seDeplacer(salle); if((s=salle.findNextSalle(next, lab))==null){
System.out.println("Je ne connais pas cette salle");
Menudeplacement(perso, salle, lab);
break; 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"); System.out.println("Voulez-vous acheter un objet:(votre bourse :"+perso.getValeurBourse() +")\n1) Oui\n2) Non");
switch(Clavier.entrerClavierString()) { switch(Clavier.entrerClavierString()) {
case "a":
System.out.println("Choisissez un objet:");
switch(Clavier.entrerClavierString()) {
case "1": 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(); String selection=Clavier.entrerClavierString();
if(selection.compareTo("oui")>0) { if(selection.compareTo("oui")>0) {
System.out.println("Quel numéro pour l'arme ?"); 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) { public int attaquer(Personnage def,Labyrinthe lab) {
int pAttaqueLoc; 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(); else pAttaqueLoc=this.getpAttaque();
def.pVie-=pAttaqueLoc; def.pVie-=pAttaqueLoc;
if (def.pVie<=0)def.setVivant(false); if (def.pVie<=0)def.setVivant(false);

@ -14,10 +14,10 @@ public class Porte {
super(); super();
this.ouvert = ouvert; this.ouvert = ouvert;
this.salle1 = salle; this.salle1 = salle;
this.salle1.getListePorte().add(this.id); this.salle1.getListePorte().add(id);
this.salle2 = salle2; this.salle2 = salle2;
this.salle2.getListePorte().add(this.id); this.salle2.getListePorte().add(id);
this.id++; id++;
} }

@ -2,8 +2,9 @@ package modeles;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
//import javafx.util.Pair;
import org.javatuples.*; import javafx.util.Pair;
public class Salle { public class Salle {
private Pair<Integer,Integer> coordonnees; private Pair<Integer,Integer> coordonnees;
@ -17,6 +18,7 @@ public class Salle {
} }
public List<Integer> getListeEnnemie() { public List<Integer> getListeEnnemie() {
return listeEnnemie; return listeEnnemie;
} }
@ -52,4 +54,10 @@ public class Salle {
public List<Integer> getListePorte() { public List<Integer> getListePorte() {
return this.listePorte; 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 { public static void main(String[] args) throws IOException {
Menu menu = new Menu(); Menu menu = new Menu();
Labyrinthe lab=menu.menuStartGame(); menu.menuJeu();
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);
} }

Loading…
Cancel
Save