Projet_JAVA_PMT_STRI1A/JAVA/PROJET-PMT_STRI1A/src/modeles/Personnage.java

96 lines
2.0 KiB
Java

package modeles;
import labyrinthe.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Personnage extends EtreVivant {
private int arme =-1;
private int armure=-1;
private Bourse bourse;
private List<Potion> listepotion= new ArrayList<Potion>();
public Personnage(String nom, int pVieMax,int pAttaque) {
super(nom, pVieMax, pAttaque);
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);
}
public void equiper(Armure armure,Labyrinthe lab) {
this.armure=lab.getListeArmure().indexOf(armure);
}
public void utiliser(Potion potion) {
soin();
}
public void seDeplacer(Salle salle) {
this.salle=salle;
}
public void gagnerUnePotion() {
Potion potion=new Potion(100);
listepotion.add(potion);
}
public int attaquer(Monstre monstre,Labyrinthe lab) {
if(arme>=0) {
lab.getListeArme().get(arme).utilisation();
monstre.pVie=monstre.pVie-(lab.getListeArme().get(arme).getpArme()+getpAttaque());
if (monstre.pVie<=0)monstre.setVivant(false);
return lab.getListeArme().get(arme).getpArme()+getpAttaque();
}
else {
monstre.pVie=monstre.pVie-getpAttaque();
if (monstre.pVie<=0)monstre.setVivant(false);
return getpAttaque();
}
}
public String remplirBourse() {
Random rd = new Random();
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;
}
public void soin(int heal) {
if (pVie+heal > pVieMax)pVie=pVieMax;
else pVie+=heal;
}
}