Modif structure

This commit is contained in:
Nicolas 2019-05-07 15:35:10 +02:00
parent 51722ab44e
commit ec34ad47b8
10 changed files with 237 additions and 106 deletions

View File

@ -6,22 +6,25 @@
"pVieMax":10,
"pVie":10,
"pAttaque":20,
"arme":"",
"armure":"",
"bourse":100
"arme":null,
"armure":null,
"bourse":null
}
],
"listeSalle":[
{"positionX":0,
{
"positionX":0,
"positionY":0,
"sortie":false,
"monstre":[{"nom":"premiermonstre",
"listeEnnemie":[{"nom":"premiermonstre",
"pAttaque":5}
],
"porte":[{"ouvert":true,
"position":"H"}]
}
"listePorte":[{"ouvert":true,
"orientation":"H"}]
}
],
"listeArme":[
{"nom":"arme1",
@ -31,6 +34,16 @@
"listeArmure":[ {"nom":"armure1",
"prix":10,
"resistance":10,
"pArmure":10}]
"pArmure":10}],
"listePorte":[
{
"id":1,
"ouvert":false,
"orientation":"Z",
}
],
"listeMonstre":[{"nom":"premiermonstre",
"pAttaque":5}]
}

View File

@ -13,7 +13,7 @@ public class main {
Generateur gene = new Generateur();
Labyrinthe lab = gene.labyrithe();
//lab.getListeSalle();
Monstre monstre =new Monstre("test",5);
Arme arme = new Arme("arme1", 10, 10, 10);
System.out.println("");

View File

@ -14,7 +14,7 @@ public class EtreVivant {
protected int pVieMax;
protected int pVie;
private int pAttaque;
//protected Salle salle;
protected Salle salle;
private boolean vivant;
/**
* @param nom
@ -27,13 +27,13 @@ public class EtreVivant {
public EtreVivant() {
}
public EtreVivant(String nom, int pVieMax, int pAttaque) {
public EtreVivant(String nom, int pVieMax, int pAttaque,Salle salle) {
super();
this.nom = nom;
this.pVieMax = pVieMax;
this.pVie = pVieMax;
this.pAttaque = pAttaque;
this.salle=salle;
this.vivant = true;
}
/**

View File

@ -11,13 +11,50 @@ import java.util.*;
*/
public class Labyrinthe {
protected List<Personnage> listePersonnage=new ArrayList<Personnage>();
protected List<Salle>listeSalle= new ArrayList<Salle>();
protected List<Arme> listeArme= new ArrayList<Arme>();
protected List<Armure> listeArmure=new ArrayList<Armure>();
public void generateLabyrinthe() {
}
protected List<Porte> listePorte=new ArrayList<Porte>();
protected List<Monstre> listeMonstre=new ArrayList<Monstre>();
public void generateLabyrinthe(int nInstance) {
/*switch (nInstance)
case 1 :
return Labyrinthe1();
break;
}*/
labyrinthe1();
}
public void labyrinthe1() {
Arme arme=new Arme("épée en bois",5,10,2);
listeArme.add(arme);
Arme arme1=new Arme("épée en acier",15,10,4);
listeArme.add(arme1);
Arme arme2=new Arme("épée en acier solide",25,20,4);
listeArme.add(arme2);
Arme arme3=new Arme("épée 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);
listeArmure.add(armure3);
Personnage perso=new Personnage("Aramis",10,1,null);
listePersonnage.add(perso);
Personnage perso2=new Personnage("Boromis",8,2,null);
listePersonnage.add(perso2);
Marche marche = new Marche();
}
}

View File

@ -0,0 +1,56 @@
/**
*
*/
package modeles;
/**
* @author nicolas
*
*/
public class Menu {
public String menuCombat(Monstre mons, Personnage perso) {
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 :");
while (true){
System.out.println("\t - 1° attaquer\n\t - 2° Potion \n\t- 3° Fuir");
reponse=Clavier.entrerClavierInt();
switch (reponse) {
case 1:
degat = perso.attaquer(mons);
System.out.println("Vous avez infligé "+degat+" à votre adversaire.");
if (!mons.isVivant()) {
perso.salle.cle();
return "Votre ennemie trépasse et vous obtenez la clé des portes de la salle.";
} else {
System.out.println("Au tour de votre adversaire. Il attaque préparez vous ! ");
System.out.println("il vous inflige "+ mons.attaquer(perso)+".");
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'éternité.";
}
else System.out.println("votre ennemie n'est pas encore à bout achever 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.");
} else {
System.out.println("Il ne vous reste plus de potion. Désolé.");
}
break;
case 3 :
System.out.println("Vous tentez de fuir.");
Random rd = new Random();
if (rd.nextInt(100)<50) {
return "Vous avez fuit.";
} else {
System.out.println("Ce fut un échec !");
}
}
}
}s
}

View File

@ -21,13 +21,14 @@ public class Monstre extends EtreVivant {
public Monstre() {
}
/*
public int attaquer(Personnage def) {
int pAttaqueLoc;
pAttaqueLoc=this.getpAttaque()-(def.getArmure().getpArmure());
def.pVie=pAttaqueLoc;
return pAttaqueLoc;
}
}*/

View File

@ -10,7 +10,7 @@ public abstract class Objet {
private int usure;
private Personnage proprietaire;
public Objet() {}
public Objet(String nm, int valeur, int resistance) {
this.nom=nm;
this.prix=valeur;
@ -29,9 +29,9 @@ public abstract class Objet {
return this.usure;
}
public void utilisation() { // diminue la résistance de l'objet
public void utilisation() { // diminue la r<EFBFBD>sistance de l'objet
this.usure--;
if (this.usure == 0) System.out.println(this.nom+"s'est cassée !");
if (this.usure == 0) System.out.println(this.nom+"s'est cass<EFBFBD>e !");
}
public abstract String getType();

View File

@ -1,75 +1,85 @@
package modeles;
/**
* @author Nicolas
*
*/
public class Personnage extends EtreVivant {
private Arme arme;
private Armure armure;
private Bourse bourse;
public Personnage(){}
public Personnage(String nom, int pVieMax,int pAttaque) {
super(nom, pVieMax, pAttaque);
}
public void equiper(Arme arme) {
arme.setProprietaire(this);
this.arme=arme;
}
public void equiper(Armure armure) {
armure.setProprietaire(this);
this.armure=armure;
}
public void utiliser(Potion potion) {
System.out.println("Pv au maximum");
potion.utilisation();
}
/*
public void seDeplacer(Salle salle) {
this.salle=salle;
}
*/
public int attaquer(Monstre monstre) {
int pAttaqueLoc;
if(arme!=null) {
pAttaqueLoc=monstre.pVie-(arme.getpArme()+this.getpAttaque());
monstre.pVie=pAttaqueLoc;
}
else {
pAttaqueLoc=this.getpAttaque();
monstre.pVie=pAttaqueLoc;
}
return pAttaqueLoc;
}
public Bourse getBourse() {
return this.bourse;
}
public void getValeurBourse() {
System.out.println(this.getBourse().getValeur());
}
/**
* @return the arme
*/
public Arme getArme() {
return arme;
}
/**
* @return the armure
*/
public Armure getArmure() {
return armure;
}
public void soin(int heal) {
if (pVie+heal > pVieMax)pVie=pVieMax;
else pVie+=heal;
}
}
package modeles;
import java.util.ArrayList;
import java.util.List;
public class Personnage extends EtreVivant {
private Arme arme;
private Armure armure;
private Bourse bourse;
private List<Potion> listepotion= new ArrayList<Potion>();
public Personnage(String nom, int pVieMax,int pAttaque, Salle salle) {
super(nom, pVieMax, pAttaque, salle);
}
public void equiper(Arme arme) {
arme.setProprietaire(this);
this.arme=arme;
}
public void equiper(Armure armure) {
armure.setProprietaire(this);
this.armure=armure;
}
public void utiliser(Potion potion) {
soin();
}
public void seDeplacer(Salle salle) {
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);
}
public void soin() {
this.pVie=this.pVieMax;
}
public int attaquer(Monstre monstre) {
if(arme!=null) {
monstre.pVie=monstre.pVie-(arme.getpArme()+getpAttaque());
return arme.getpArme()+getpAttaque();
}
else {
monstre.pVie=monstre.pVie=getpAttaque();
return getpAttaque();
}
}
public Bourse getBourse() {
return this.bourse;
}
public void getValeurBourse() {
System.out.println(this.getBourse().getValeur());
}
/* @return the arme
*/
public Arme getArme() {
return arme;
}
/* @return the armure
*/
public Armure getArmure() {
return armure;
}
public void soin(int heal) {
if (pVie+heal > pVieMax)pVie=pVieMax;
else pVie+=heal;
}
}

View File

@ -3,32 +3,38 @@
*/
package modeles;
import java.util.ArrayList;
/**
* @author flavien
*
*/
public class Porte {
private int id;
private boolean ouvert;
private char orientation;
private Salle salle1;
private Salle salle2;
public Porte() {
}
public Porte(boolean ouvert, char orientation) {
public Porte(int id,boolean ouvert, Salle salle,Salle salle2) {
super();
this.ouvert = ouvert;
this.orientation = orientation;
this.salle1 = salle;
this.salle2 = salle2;
this.id=id;
}
public boolean estOuverte() {
return ouvert;
}
public char getOrientation() {
return orientation;
public int getId(){
return this.id;
}
/**
* @param ouvert
* @param orientation

View File

@ -18,21 +18,29 @@ public class Salle {
* @param listePorte
*/
public Salle(int positionX, int positionY, boolean sortie, List listeEnnemie, List<Porte> listePorte) {
public Salle(int positionX, int positionY, boolean sortie, List<Integer> listeEnnemie) {
this.positionX=positionX;
this.positionY = positionY;
this.sortie = sortie;
this.listeEnnemie = listeEnnemie;
}
public Salle(int positionX, int positionY, boolean sortie, List<Integer> listeEnnemie, Porte sal) {
this.positionX = positionX;
this.positionY = positionY;
this.sortie = sortie;
this.listeEnnemie = listeEnnemie;
this.listePorte = listePorte;
this.listePorte.add(sal.getId());
}
public Salle() {
}
private static int positionY;
private static boolean sortie;
private static List<Monstre> listeEnnemie= new ArrayList<Monstre>();
private static List<Porte> listePorte = new ArrayList<Porte>();
private static List<Integer> listeEnnemie= new ArrayList<Integer>();
private static List<Integer> listePorte = new ArrayList<Integer>();
public String getType(){
return "salle";