dernières corrections : pour la sauvegarde entrer le bon chemin du fichier json
This commit is contained in:
parent
bc8652d0ff
commit
ba87310916
@ -7,94 +7,13 @@ import java.io.IOException;
|
||||
import java.util.Random;
|
||||
public class Menu {
|
||||
|
||||
|
||||
public void menuJeu() {
|
||||
Labyrinthe lab=menuStartGame();
|
||||
Marche marche= (Marche) lab.getListePorte().get(0).getSalle1();
|
||||
Personnage perso = menuSelection(lab);
|
||||
boolean jeu=true;
|
||||
perso.setSalle(lab.getListePorte().get(0).getSalle1());
|
||||
try {
|
||||
do {
|
||||
jeu=Menudeplacement(perso, perso.getSalle(),lab);
|
||||
if (perso.getSalle().getType().contentEquals("Marche") && perso.isVivant()) {
|
||||
lab.restore();
|
||||
MenuMarche(perso, lab);
|
||||
}
|
||||
}while(perso.isVivant() && !perso.getSalle().estSortie() && jeu);
|
||||
}catch (Exception e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
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 presente devant vous et il est tres en colere \nIl lui reste : "+mons.getpVie()+"\nIl vous reste : "+perso.getpVie()+"\nVous avez "+perso.getPotion().size()+" potion.");
|
||||
while (true){
|
||||
System.out.println("\t - 1 attaquer\n\t - 2 Potion \n\t- 3 Fuir");
|
||||
try{
|
||||
reponse=Clavier.entrerClavierInt();
|
||||
}catch (Exception e) {
|
||||
System.in.read();
|
||||
}
|
||||
switch (reponse) {
|
||||
case 1:
|
||||
degat = perso.attaquer(mons, lab);
|
||||
System.out.println("Vous infligez "+degat+" a votre adversaire.");
|
||||
if (!mons.isVivant()) {
|
||||
perso.setpVieMax(perso.getpVieMax()+1);
|
||||
perso.soin();
|
||||
mons.soin();
|
||||
System.out.println(perso.remplirBourse());
|
||||
return "Votre ennemie trepasse.";
|
||||
} else {
|
||||
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 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.getpVie()+"\nVous avez "+perso.getPotion().size()+" potion.");
|
||||
}
|
||||
break;
|
||||
|
||||
case 2 :
|
||||
if (!perso.getPotion().isEmpty()) {
|
||||
perso.utiliser(perso.getPotion().remove(0));
|
||||
System.out.println("Vous utilisez une potion. Votre vie est maintenant au maximum.");
|
||||
} else {
|
||||
System.out.println("Il ne vous reste plus de potion.");
|
||||
}
|
||||
break;
|
||||
|
||||
case 3 :
|
||||
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 echec !");
|
||||
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 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.getpVie()+"\nVous avez "+perso.getPotion().size()+" potion.");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Labyrinthe menuStartGame() {
|
||||
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();
|
||||
return new Labyrinthe(20);
|
||||
case 2:
|
||||
Generateur ge = new Generateur();
|
||||
Sauvegarde ge = new Sauvegarde();
|
||||
return ge.labyrinthe();
|
||||
default :
|
||||
return null;
|
||||
@ -120,8 +39,9 @@ public class Menu {
|
||||
return pers;
|
||||
}
|
||||
|
||||
|
||||
public boolean Menudeplacement(Personnage perso, Salle salle,Labyrinthe lab) throws IOException {
|
||||
Generateur gene =new Generateur();
|
||||
Sauvegarde gene =new Sauvegarde();
|
||||
System.out.println("Choisissez une direction:\n Z) Haut\n S) Bas\n D) Droite\n Q) Gauche\n X) sauvegarder et quitter");
|
||||
Salle s;
|
||||
Monstre mons;
|
||||
@ -132,7 +52,7 @@ public class Menu {
|
||||
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);
|
||||
return true;
|
||||
}
|
||||
while (!s.estVide() && perso.isVivant() && !csb.contentEquals("Vous avez fuit.")) {
|
||||
mons=lab.getListeMonstre().get(s.getListeEnnemie().get(0));
|
||||
@ -150,12 +70,12 @@ public class Menu {
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case "S":
|
||||
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;
|
||||
return true;
|
||||
}
|
||||
while (!s.estVide() && perso.isVivant() && !csb.contentEquals("Vous avez fuit.")) {
|
||||
mons =lab.getListeMonstre().get(s.getListeEnnemie().get(0));
|
||||
@ -170,14 +90,14 @@ public class Menu {
|
||||
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;
|
||||
case "D":
|
||||
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;
|
||||
return true;
|
||||
}
|
||||
while (!s.estVide() && perso.isVivant() && !csb.contentEquals("Vous avez fuit.")) {
|
||||
mons =lab.getListeMonstre().get(s.getListeEnnemie().get(0));
|
||||
@ -198,8 +118,7 @@ public class Menu {
|
||||
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;
|
||||
return true;
|
||||
}
|
||||
while (!s.estVide() && perso.isVivant() && !csb.contentEquals("Vous avez fuit.")) {
|
||||
mons =lab.getListeMonstre().get(s.getListeEnnemie().get(0));
|
||||
@ -232,6 +151,7 @@ public class Menu {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
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()) {
|
||||
@ -256,4 +176,100 @@ public class Menu {
|
||||
System.out.println("Vous sortez du marche.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void menuJeu() {
|
||||
Labyrinthe lab=menuStartGame();
|
||||
Marche marche= (Marche) lab.getListePorte().get(0).getSalle1();
|
||||
Personnage perso = menuSelection(lab);
|
||||
boolean jeu=true;
|
||||
perso.setSalle(lab.getListePorte().get(0).getSalle1());
|
||||
try {
|
||||
do {
|
||||
jeu=Menudeplacement(perso, perso.getSalle(),lab);
|
||||
if (perso.getSalle().getType().contentEquals("Marche") && perso.isVivant()) {
|
||||
lab.restore();
|
||||
MenuMarche(perso, lab);
|
||||
}
|
||||
}while(perso.isVivant() && !perso.getSalle().estSortie() && jeu);
|
||||
}catch (Exception e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
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;
|
||||
Random rd =new Random();
|
||||
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.getpVie()+"\nVous avez "+perso.getPotion().size()+" potion.");
|
||||
while (true){
|
||||
System.out.println("\t - 1 attaquer\n\t - 2 Potion \n\t- 3 Fuir");
|
||||
try{
|
||||
reponse=Clavier.entrerClavierInt();
|
||||
}catch (Exception e) {
|
||||
System.in.read();
|
||||
}
|
||||
switch (reponse) {
|
||||
case 1:
|
||||
degat = perso.attaquer(mons, lab);
|
||||
System.out.println("Vous infligez "+degat+" a votre adversaire.");
|
||||
if (!mons.isVivant()) {
|
||||
perso.setpVieMax(perso.getpVieMax()+1);
|
||||
perso.soin();
|
||||
mons.soin();
|
||||
mons.setVivant(true);
|
||||
if (rd.nextInt(100)<=30) {
|
||||
perso.gagnerUnePotion();
|
||||
}
|
||||
System.out.println(perso.remplirBourse());
|
||||
return "Votre ennemie trepasse.";
|
||||
} else {
|
||||
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 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.getpVie()+"\nVous avez "+perso.getPotion().size()+" potion.");
|
||||
}
|
||||
break;
|
||||
|
||||
case 2 :
|
||||
if (!perso.getPotion().isEmpty()) {
|
||||
perso.utiliser(perso.getPotion().remove(0));
|
||||
System.out.println("Vous utilisez une potion. Votre vie est maintenant au maximum.");
|
||||
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 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.getpVie()+"\nVous avez "+perso.getPotion().size()+" potion.");
|
||||
} else {
|
||||
System.out.println("Il ne vous reste plus de potion.");
|
||||
}
|
||||
break;
|
||||
|
||||
case 3 :
|
||||
System.out.println("Vous tentez de fuir.");
|
||||
if (rd.nextInt(100)<50) {
|
||||
perso.soin();
|
||||
return "Vous avez fuit.";
|
||||
} else {
|
||||
System.out.println("Ce fut un echec !");
|
||||
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 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.getpVie()+"\nVous avez "+perso.getPotion().size()+" potion.");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -12,132 +12,26 @@ public class Labyrinthe {
|
||||
protected List<Porte> listePorte=new ArrayList<Porte>();
|
||||
protected List<Monstre> listeMonstre=new ArrayList<Monstre>();
|
||||
|
||||
public Labyrinthe() {
|
||||
test(17);
|
||||
}
|
||||
public List<Monstre> getListeMonstre() {
|
||||
return listeMonstre;
|
||||
}
|
||||
public List<Personnage> getListePersonnage() {
|
||||
return listePersonnage;
|
||||
}
|
||||
public List<Arme> getListeArme() {
|
||||
return listeArme;
|
||||
}
|
||||
public List<Armure> getListeArmure() {
|
||||
return listeArmure;
|
||||
}
|
||||
public List<Porte> getListePorte() {
|
||||
return listePorte;
|
||||
}
|
||||
public void labyrinthe1() {
|
||||
public Labyrinthe(int nb){
|
||||
int nbSalle =nb;
|
||||
Arme arme=new Arme("Epee en bois",25,10,2);
|
||||
listeArme.add(arme);
|
||||
Arme arme1=new Arme("Epee en acier",100,10,4);
|
||||
Arme arme1=new Arme("Epee en acier",50,10,4);
|
||||
listeArme.add(arme1);
|
||||
Arme arme2=new Arme("Epee en acier solide",200,20,4);
|
||||
Arme arme2=new Arme("Epee en acier solide",75,20,4);
|
||||
listeArme.add(arme2);
|
||||
Arme arme3=new Arme("Epee de cristal",150,5,7);
|
||||
Arme arme3=new Arme("Epee de cristal",80,5,7);
|
||||
listeArme.add(arme3);
|
||||
Arme arme4=new Arme("Lame Blanche",500,30,10);
|
||||
Arme arme4=new Arme("Lame Blanche",300,30,14);
|
||||
listeArme.add(arme4);
|
||||
|
||||
Armure armure1=new Armure("armure de cuir",70,10,5);
|
||||
Armure armure1=new Armure("armure de cuir",40,10,5);
|
||||
listeArmure.add(armure1);
|
||||
Armure armure=new Armure("armure en papier",30,5,2);
|
||||
Armure armure=new Armure("armure en papier",20,5,2);
|
||||
listeArmure.add(armure);
|
||||
Armure armure2=new Armure("armure de fer",100,10,5);
|
||||
Armure armure2=new Armure("armure de fer",70,15,7);
|
||||
listeArmure.add(armure2);
|
||||
Armure armure3=new Armure("Le kevlar",300,15,8);
|
||||
listeArmure.add(armure3);
|
||||
|
||||
Personnage perso=new Personnage("Aramis",10,1);
|
||||
listePersonnage.add(perso);
|
||||
Personnage perso2=new Personnage("Boromis",8,2);
|
||||
listePersonnage.add(perso2);
|
||||
|
||||
Monstre mons = new Monstre("pantin en bois",5, 1);
|
||||
Monstre mons2= new Monstre("araignee geante agressive", 7, 5);
|
||||
Monstre mons3=new Monstre("pantin de fer",40,1);
|
||||
Monstre mons4 = new Monstre("Golem de Jade",40, 3);
|
||||
Monstre mons5 = new Monstre("Neltharion le Gardeterre",100,10);
|
||||
Monstre mons6 = new Monstre("Neltharion, le Destructeur", 80,20);
|
||||
|
||||
this.listeMonstre.add(mons);
|
||||
this.listeMonstre.add(mons2);
|
||||
this.listeMonstre.add(mons3);
|
||||
this.listeMonstre.add(mons4);
|
||||
this.listeMonstre.add(mons5);
|
||||
this.listeMonstre.add(mons6);
|
||||
|
||||
Marche marche = new Marche();
|
||||
|
||||
List<Integer>table=new ArrayList<Integer>();
|
||||
Random rd= new Random();
|
||||
for (int i = 0; i<rd.nextInt(this.listeMonstre.size());i++) {
|
||||
table.add(rd.nextInt(this.listeMonstre.size()-3));
|
||||
}
|
||||
Salle salle1 = new Salle(1,0,false,table);
|
||||
Porte po = new Porte(true,marche,salle1);
|
||||
listePorte.add(po);
|
||||
|
||||
List<Integer>table2=new ArrayList<Integer>();
|
||||
for (int i = 0; i<rd.nextInt(this.listeMonstre.size());i++) {
|
||||
table2.add(rd.nextInt(this.listeMonstre.size()-3));
|
||||
}
|
||||
Salle salle2 = new Salle(0,1,false, table2);
|
||||
Porte po2= new Porte(true,marche,salle2);
|
||||
listePorte.add(po2);
|
||||
|
||||
List<Integer>table3=new ArrayList<Integer>();
|
||||
for (int i = 0; i<rd.nextInt(this.listeMonstre.size());i++) {
|
||||
table3.add(rd.nextInt(this.listeMonstre.size()-3));
|
||||
}
|
||||
Salle salle3 = new Salle(1,1,false, table3);
|
||||
Porte po3= new Porte(true,salle3,salle2);
|
||||
|
||||
listePorte.add(po3);
|
||||
List<Integer>table4=new ArrayList<Integer>();
|
||||
for (int i = 0; i<rd.nextInt(this.listeMonstre.size());i++) {
|
||||
table4.add(rd.nextInt(this.listeMonstre.size()-3));
|
||||
}
|
||||
Salle salle4 = new Salle(2,0,false, table4);
|
||||
Porte po4= new Porte(true,salle4,salle1);
|
||||
listePorte.add(po4);
|
||||
|
||||
List<Integer>table5=new ArrayList<Integer>();
|
||||
for (int i = 0; i<2;i++) {
|
||||
table5.add(listeMonstre.size()-2+i);
|
||||
}
|
||||
Salle salle5 = new Salle(2,1,true, table5);
|
||||
Porte po5= new Porte(true,salle4,salle5);
|
||||
listePorte.add(po5);
|
||||
|
||||
|
||||
Porte po6= new Porte(true,salle5,salle3);
|
||||
listePorte.add(po6);
|
||||
|
||||
}
|
||||
public void test(int nb){
|
||||
int nbSalle =nb;
|
||||
Arme arme=new Arme("Epee en bois",5,10,2);
|
||||
listeArme.add(arme);
|
||||
Arme arme1=new Arme("Epee en acier",15,10,4);
|
||||
listeArme.add(arme1);
|
||||
Arme arme2=new Arme("Epee en acier solide",25,20,4);
|
||||
listeArme.add(arme2);
|
||||
Arme arme3=new Arme("Epee de cristal",30,5,7);
|
||||
listeArme.add(arme3);
|
||||
Arme arme4=new Arme("Lame Blanche",200,30,10);
|
||||
listeArme.add(arme4);
|
||||
|
||||
Armure armure1=new Armure("armure de cuir",10,10,5);
|
||||
listeArmure.add(armure1);
|
||||
Armure armure=new Armure("armure en papier",5,5,2);
|
||||
listeArmure.add(armure);
|
||||
Armure armure2=new Armure("armure de fer",30,10,5);
|
||||
listeArmure.add(armure2);
|
||||
Armure armure3=new Armure("Le kevlar",150,15,8);
|
||||
Armure armure3=new Armure("Le kevlar",230,15,8);
|
||||
listeArmure.add(armure3);
|
||||
|
||||
Personnage perso=new Personnage("Aramis",10,1);
|
||||
@ -176,22 +70,31 @@ public class Labyrinthe {
|
||||
Salle deRelais;
|
||||
Porte porte;
|
||||
boolean ok=true;
|
||||
|
||||
Random rd= new Random();
|
||||
|
||||
table= new ArrayList<Integer>();
|
||||
table.add(0);
|
||||
table.add(1);
|
||||
Salle salle1=new Salle(0,1,false,table);
|
||||
ListSalle.add(salle1);
|
||||
table= new ArrayList<Integer>();
|
||||
table.add(0);
|
||||
table.add(1);
|
||||
Porte porte1=new Porte(true,marche,salle1);
|
||||
listePorte.add(porte1);
|
||||
salle=new Salle(0,-1,false,table);
|
||||
ListSalle.add(salle);
|
||||
porte= new Porte(true, marche, salle);
|
||||
listePorte.add(porte);
|
||||
table= new ArrayList<Integer>();
|
||||
table.add(0);
|
||||
table.add(1);
|
||||
Salle salle2=new Salle(1,0,false,table);
|
||||
ListSalle.add(salle2);
|
||||
Porte port2=new Porte(true,marche,salle2);
|
||||
listePorte.add(port2);
|
||||
|
||||
for (int i = 0; i < nbSalle-4;i++) {
|
||||
table= new ArrayList<Integer>();
|
||||
for (int j = 0; j<rd.nextInt(4);j++) {
|
||||
@ -203,7 +106,7 @@ public class Labyrinthe {
|
||||
} else {
|
||||
salle=new Salle( deRelais.getCoordonnes().getKey(),deRelais.getCoordonnes().getValue()+puissance(-1, rd.nextInt(1)) ,false,table);
|
||||
}
|
||||
if (ListSalle.contains(salle)) {
|
||||
if (contents(salle,ListSalle)) {
|
||||
nbSalle++;
|
||||
break;
|
||||
}
|
||||
@ -224,7 +127,7 @@ public class Labyrinthe {
|
||||
} else {
|
||||
salle=new Salle( deRelais.getCoordonnes().getKey(),deRelais.getCoordonnes().getValue()+puissance(-1, rd.nextInt(1)) ,false,table);
|
||||
}
|
||||
if (ListSalle.contains(salle)) ok = true;
|
||||
if (contents(salle,ListSalle)) ok = true;
|
||||
else {
|
||||
porte=new Porte(false, deRelais, salle);
|
||||
listePorte.add(porte);
|
||||
@ -234,6 +137,26 @@ public class Labyrinthe {
|
||||
|
||||
}
|
||||
|
||||
public List<Monstre> getListeMonstre() {
|
||||
return listeMonstre;
|
||||
}
|
||||
|
||||
public List<Personnage> getListePersonnage() {
|
||||
return listePersonnage;
|
||||
}
|
||||
|
||||
public List<Arme> getListeArme() {
|
||||
return listeArme;
|
||||
}
|
||||
|
||||
public List<Armure> getListeArmure() {
|
||||
return listeArmure;
|
||||
}
|
||||
|
||||
public List<Porte> getListePorte() {
|
||||
return listePorte;
|
||||
}
|
||||
|
||||
public static int puissance(int a, int p)
|
||||
{
|
||||
int result = 1;
|
||||
@ -245,19 +168,33 @@ public class Labyrinthe {
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
public void restore() {
|
||||
Random rd =new Random();
|
||||
for (Porte p : listePorte) {
|
||||
|
||||
if (p.getSalle1().estVide() && !p.getSalle1().getType().contentEquals("Marche")) {
|
||||
|
||||
for (int i =0; i<rd.nextInt(4);i++) {
|
||||
p.getSalle1().getListeEnnemie().add(rd.nextInt(listeMonstre.size()-3));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (p.getSalle1().estVide() && !p.getSalle1().getType().contentEquals("Marche")) {
|
||||
|
||||
for (int i =0; i<rd.nextInt(4);i++) {
|
||||
|
||||
p.getSalle1().getListeEnnemie().add(rd.nextInt(listeMonstre.size()-3));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public boolean contents(Salle s, List<Salle> ls) {
|
||||
for (Salle p : ls) {
|
||||
if(s.equals(p)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -4,37 +4,41 @@ package labyrinthe;
|
||||
*/
|
||||
|
||||
public class Porte {
|
||||
private static int id =0;
|
||||
private boolean ouvert;
|
||||
private Salle salle1;
|
||||
private Salle salle2;
|
||||
private static int id =0;
|
||||
private boolean ouvert;
|
||||
private Salle salle1;
|
||||
private Salle salle2;
|
||||
|
||||
|
||||
public Porte(boolean ouvert, Salle salle,Salle salle2) {
|
||||
super();
|
||||
this.ouvert = ouvert;
|
||||
this.salle1 = salle;
|
||||
this.salle1.getListePorte().add(id);
|
||||
this.salle2 = salle2;
|
||||
this.salle2.getListePorte().add(id);
|
||||
id++;
|
||||
}
|
||||
|
||||
|
||||
public Porte(boolean ouvert, Salle salle,Salle salle2) {
|
||||
super();
|
||||
this.ouvert = ouvert;
|
||||
this.salle1 = salle;
|
||||
this.salle1.getListePorte().add(id);
|
||||
this.salle2 = salle2;
|
||||
this.salle2.getListePorte().add(id);
|
||||
id++;
|
||||
}
|
||||
|
||||
|
||||
public Salle getSalle1() {
|
||||
return salle1;
|
||||
}
|
||||
return salle1;
|
||||
}
|
||||
|
||||
|
||||
public Salle getSalle2() {
|
||||
return salle2;
|
||||
}
|
||||
public Salle getSalle2() {
|
||||
return salle2;
|
||||
}
|
||||
|
||||
|
||||
public boolean estOuverte() {
|
||||
return ouvert;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
public void ouverture() {
|
||||
this.ouvert= true;
|
||||
}
|
||||
@ -44,10 +48,7 @@ public class Porte {
|
||||
return salle2;
|
||||
} else return salle1;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -17,20 +17,13 @@ public class Salle {
|
||||
this.coordonnees=new Pair<Integer,Integer>(x,y);
|
||||
this.sortie=out;
|
||||
}
|
||||
|
||||
public boolean equals(Object o) {
|
||||
return (this.coordonnees.getKey()==((Salle)o).getCoordonnes().getKey() && this.coordonnees.getValue() ==((Salle)o).getCoordonnes().getValue());
|
||||
}
|
||||
public List<Integer> getListeEnnemie() {
|
||||
return listeEnnemie;
|
||||
}
|
||||
|
||||
|
||||
public Salle(int positionX, int positionY, boolean sortie, List<Integer> listeEnnemie) {
|
||||
this.coordonnees=new Pair<Integer,Integer>(positionX,positionY);
|
||||
this.sortie = sortie;
|
||||
this.listeEnnemie = listeEnnemie;
|
||||
}
|
||||
|
||||
|
||||
public String getType(){
|
||||
return "salle";
|
||||
}
|
||||
@ -42,20 +35,29 @@ public class Salle {
|
||||
public boolean estSortie() {
|
||||
return sortie;
|
||||
}
|
||||
|
||||
public List<Integer> getListePorte() {
|
||||
return this.listePorte;
|
||||
}
|
||||
|
||||
|
||||
public List<Integer> getListeEnnemie() {
|
||||
return listeEnnemie;
|
||||
}
|
||||
|
||||
public boolean equals(Object o) {
|
||||
return (this.coordonnees.getKey()==((Salle)o).getCoordonnes().getKey() && this.coordonnees.getValue() ==((Salle)o).getCoordonnes().getValue());
|
||||
}
|
||||
|
||||
|
||||
public void cle(Labyrinthe lab) {
|
||||
//if (listeEnnemie.isEmpty()=null) {
|
||||
for (int i : listePorte ) lab.listePorte.get(i).ouverture();
|
||||
//}
|
||||
}
|
||||
|
||||
public boolean estVide() {
|
||||
return (listeEnnemie.size()==0);
|
||||
}
|
||||
|
||||
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);
|
||||
|
@ -12,7 +12,7 @@ import java.io.PrintWriter;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
public class Generateur {
|
||||
public class Sauvegarde {
|
||||
|
||||
public Labyrinthe labyrinthe() {
|
||||
BufferedReader bfr= null;
|
||||
@ -22,12 +22,13 @@ public class Generateur {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
//FileReader file = new FileReader(json);
|
||||
|
||||
Gson gson = new Gson();
|
||||
//String str="{\"positionX\":0,\"positionY\":0,\"sortie\":false,\"monstre\":[{\"nom\":\"premier monstre\",\"pAttaque\":5}],\"porte\":[{\"ouvert\":true, \"position\":\"H\"}]}";
|
||||
Labyrinthe labyrithe = gson.fromJson(bfr, Labyrinthe.class);
|
||||
return labyrithe;
|
||||
}
|
||||
|
||||
|
||||
public void save(Labyrinthe lab) throws IOException{
|
||||
Gson gson =new Gson();
|
||||
|
@ -24,7 +24,7 @@ public class Bourse extends Objet {
|
||||
return "Bourse";
|
||||
}
|
||||
|
||||
public int Achat(Objet o) { //commande pour v<EFBFBD>rifier si la personne peut acheter un objet et pour faire le d<EFBFBD>compte de la thunasse
|
||||
public int Achat(Objet o) { //verifie que l'on peut acheter l'objet
|
||||
if (o.getPrix() <= this.valeur) return (this.valeur=this.valeur-o.getPrix());
|
||||
else {
|
||||
int manque =o.getPrix()-this.valeur;
|
||||
@ -32,10 +32,4 @@ public class Bourse extends Objet {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
/*
|
||||
public int fusionBourse(Bourse sacPiece) {
|
||||
this.valeur += sacPiece.valeur;
|
||||
return this.valeur;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
@ -33,90 +33,94 @@ public class EtreVivant {
|
||||
this.pAttaque = pAttaque;
|
||||
this.vivant = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the nom
|
||||
*/
|
||||
public String getNom() {
|
||||
return nom;
|
||||
}
|
||||
/**
|
||||
* @param nom the nom to set
|
||||
*/
|
||||
public void setNom(String nom) {
|
||||
this.nom = nom;
|
||||
}
|
||||
/**
|
||||
* @return the pVieMax
|
||||
*/
|
||||
public int getpVieMax() {
|
||||
return pVieMax;
|
||||
}
|
||||
/**
|
||||
* @param pVieMax the pVieMax to set
|
||||
*/
|
||||
public void setpVieMax(int pVieMax) {
|
||||
this.pVieMax = pVieMax;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the pVie
|
||||
*/
|
||||
public int getpVie() {
|
||||
return pVie;
|
||||
}
|
||||
/**
|
||||
* @param pVie the pVie to set
|
||||
*/
|
||||
public void setpVie(int pVie) {
|
||||
this.pVie = pVie;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the pAttaque
|
||||
*/
|
||||
public int getpAttaque() {
|
||||
return pAttaque;
|
||||
}
|
||||
/**
|
||||
* @param pAttaque the pAttaque to set
|
||||
*/
|
||||
public void setpAttaque(int pAttaque) {
|
||||
this.pAttaque = pAttaque;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the salle
|
||||
*/
|
||||
public Salle getSalle() {
|
||||
return salle;
|
||||
}
|
||||
/**
|
||||
* @param salle the salle to set
|
||||
*/
|
||||
public void setSalle(Salle salle) {
|
||||
this.salle = salle;
|
||||
|
||||
public int getPvMax() {
|
||||
return this.pVieMax;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return the pVieMax
|
||||
*/
|
||||
public int getpVieMax() {
|
||||
return pVieMax;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the vivant
|
||||
*/
|
||||
public boolean isVivant() {
|
||||
return vivant;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param nom the nom to set
|
||||
*/
|
||||
public void setNom(String nom) {
|
||||
this.nom = nom;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pVieMax the pVieMax to set
|
||||
*/
|
||||
public void setpVieMax(int pVieMax) {
|
||||
this.pVieMax = pVieMax;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pVie the pVie to set
|
||||
*/
|
||||
public void setpVie(int pVie) {
|
||||
this.pVie = pVie;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pAttaque the pAttaque to set
|
||||
*/
|
||||
public void setpAttaque(int pAttaque) {
|
||||
this.pAttaque = pAttaque;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param salle the salle to set
|
||||
*/
|
||||
public void setSalle(Salle salle) {
|
||||
this.salle = salle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param vivant the vivant to set
|
||||
*/
|
||||
public void setVivant(boolean vivant) {
|
||||
this.vivant = vivant;
|
||||
}
|
||||
|
||||
public int getPvMax() {
|
||||
return this.pVieMax;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,33 @@ public class Personnage extends EtreVivant {
|
||||
this.bourse=new Bourse(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the armure
|
||||
*/
|
||||
public int getArmure() {
|
||||
return armure;
|
||||
}
|
||||
|
||||
public Bourse getBourse() {
|
||||
return this.bourse;
|
||||
}
|
||||
|
||||
public List<Potion> getPotion() {
|
||||
return this.listepotion;
|
||||
}
|
||||
|
||||
public int getValeurBourse() {
|
||||
return this.getBourse().getValeur();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the arme
|
||||
*/
|
||||
public int getArme() {
|
||||
return arme;
|
||||
}
|
||||
|
||||
|
||||
public void equiper(Arme arme,Labyrinthe lab) {
|
||||
this.arme=lab.getListeArme().indexOf(arme);
|
||||
}
|
||||
@ -32,14 +59,6 @@ public class Personnage extends EtreVivant {
|
||||
this.salle=salle;
|
||||
}
|
||||
|
||||
public void allerMarche(Salle marche){
|
||||
this.salle=marche;
|
||||
}
|
||||
|
||||
public List<Potion> getPotion() {
|
||||
return this.listepotion;
|
||||
}
|
||||
|
||||
public void gagnerUnePotion() {
|
||||
Potion potion=new Potion(100);
|
||||
listepotion.add(potion);
|
||||
@ -58,37 +77,15 @@ public class Personnage extends EtreVivant {
|
||||
}
|
||||
}
|
||||
|
||||
public Bourse getBourse() {
|
||||
return this.bourse;
|
||||
}
|
||||
|
||||
public int getValeurBourse() {
|
||||
return this.getBourse().getValeur();
|
||||
}
|
||||
/**
|
||||
* @return the arme
|
||||
*/
|
||||
public int getArme() {
|
||||
return arme;
|
||||
}
|
||||
|
||||
public String remplirBourse() {
|
||||
Random rd = new Random();
|
||||
int piece = rd.nextInt(20);
|
||||
//this.bourse.fusionBourse(new Bourse(rd.nextInt(20)));
|
||||
this.bourse.setValeur(this.bourse.getValeur()+piece);
|
||||
this.bourse.setValeur(this.bourse.getValeur()+rd.nextInt(20));
|
||||
String str="Vous avez gagnez une bourse. Vous comptez vos pieces... Genial !! Vous avez desormais "+this.getValeurBourse()+" pieces d'argent !";
|
||||
return str;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the armure
|
||||
*/
|
||||
public int getArmure() {
|
||||
return armure;
|
||||
}
|
||||
|
||||
|
||||
public void soin(int heal) {
|
||||
if (pVie+heal > pVieMax)pVie=pVieMax;
|
||||
else pVie+=heal;
|
||||
|
Loading…
Reference in New Issue
Block a user