GestionnaireEquipements + EquipementStat

This commit is contained in:
Paul Gross
2020-04-22 14:42:21 +02:00
parent 65c7fa3694
commit 558ec79e1f
10 changed files with 53 additions and 80 deletions

View File

@ -1,64 +1,40 @@
package main;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import carte.Equipement;
import carte.EquipementStat;
import condition.Condition;
public class GestionnaireEquipements {
// String est le nom de l'equip, et Equip c'est l'objet, on suppose ici qu'il ne
// peut pas y avoir de doublon d'equipement
private Map<String, Equipement> equipements = new HashMap<>();
private Joueur j;
private List<Equipement> equipements;
public int getNbEquipments() {
return equipements.size();
}
// precondition : verifier que le gestionnaire contient l'equipement avec
// containsEquipement
public Equipement getEquipement(String key) {
return equipements.get(key);
}
public boolean containsEquipement(String key) {
return equipements.containsKey(key);
}
public void addEquipement(String s, Equipement e) {
equipements.put(s, e);
}
// ex : si le joueur se fait voler un equipement, on l'enleve de la liste
// d'equipements
public Equipement removeEquipement(String key) {
return equipements.remove(key);
}
// methode qui renvoit une liste des effets des equipements du joueur qui
// s'activeront dans une certaine phase de la partie par rapport a la condition
// en parametre
public List<Effet> getEffets(Condition c) {
// TODO
return null;
}
// pour methode choisir de joueur
public Equipement[] getArrayEquipements() {
return (Equipement[]) equipements.values().toArray();
public GestionnaireEquipements(Joueur j) {
this.j = j;
this.equipements = new ArrayList<Equipement>();
}
public int getDamageUpdate() {
int res = 0;
Equipement[] e = (Equipement[]) equipements.values().toArray();
for(int i = 0; i<equipements.values().toArray().length;i++) {
if(e[i] instanceof EquipementStat) {
//res+=(EquipementStat)e[i].get
}
public void ajouterEquipement(Equipement e) {
this.equipements.add(e);
e.utiliser(this.j);
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, 1);
}
public void retirerEquipement(Equipement e) {
if(this.equipements.contains(e)) {
e.reverse(j);
this.equipements.remove(e);
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, -1);
}
return res;
}
public void reverseEffect(Equipement e) {
e.reverse(j);
}
}
public List<Equipement> getEquipements() {
return equipements;
}
}