GestionnaireEquipements + EquipementStat
This commit is contained in:
parent
65c7fa3694
commit
558ec79e1f
@ -4,7 +4,7 @@ import main.Joueur;
|
||||
import main.Type;
|
||||
|
||||
|
||||
public class Equipement extends CartePiochable<Type>{
|
||||
public abstract class Equipement extends CartePiochable<Type>{
|
||||
|
||||
|
||||
public Equipement(String nom, String description) {
|
||||
@ -15,4 +15,6 @@ public class Equipement extends CartePiochable<Type>{
|
||||
public void utiliser(Joueur j) {
|
||||
|
||||
}
|
||||
|
||||
public abstract void reverse(Joueur j);
|
||||
}
|
||||
|
@ -1,13 +1,17 @@
|
||||
package carte;
|
||||
|
||||
import effet.action.ActionAltererStatistiquesJoueur;
|
||||
import main.Joueur;
|
||||
|
||||
public class EquipementStat extends Equipement{
|
||||
int blessures;
|
||||
|
||||
public EquipementStat(String nom, String description, int b) {
|
||||
super(nom, description);
|
||||
blessures = b;
|
||||
}
|
||||
|
||||
public int getBlessures() {
|
||||
return blessures;
|
||||
|
||||
@Override
|
||||
public void reverse(Joueur j) {
|
||||
ActionAltererStatistiquesJoueur action = ((ActionAltererStatistiquesJoueur) this.getEffet().getAction()).getReverseAction();
|
||||
action.affecte(j, j);
|
||||
}
|
||||
}
|
||||
|
@ -45,4 +45,8 @@ public class ActionAltererStatistiquesJoueur extends Action{
|
||||
j2.setStat(key, valeur);
|
||||
}
|
||||
}
|
||||
|
||||
public ActionAltererStatistiquesJoueur getReverseAction() {
|
||||
return new ActionAltererStatistiquesJoueur(key, -valeur, true);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package effet.action;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import carte.Equipement;
|
||||
import main.Joueur;
|
||||
|
||||
@ -15,7 +17,7 @@ public class ActionVoler extends Action{
|
||||
@Override
|
||||
public void affecte(Joueur j1, Joueur j2) {
|
||||
|
||||
Equipement[] equipements = j2.getEquipements();
|
||||
List<Equipement> equipements = j2.getEquipements();
|
||||
|
||||
// J1 choisit quel équipement voler
|
||||
Equipement equipement = j1.choisir(equipements);
|
||||
|
@ -147,7 +147,7 @@ public class ControleurIA {
|
||||
|
||||
// bob : si attaque joueur possedant equipement 70?% devoilement
|
||||
public boolean devoilerIABob(JoueurVirtuel jIA, Joueur jAttaquee) {
|
||||
if (jAttaquee.getNbEquipments() > 0 && getRandomPercentage() < 70)
|
||||
if (jAttaquee.getStat(Joueur.PLAYER_NB_EQUIPEMENTS) > 0 && getRandomPercentage() < 70)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
@ -1,5 +0,0 @@
|
||||
package main;
|
||||
|
||||
public class Effet {
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
@ -75,11 +75,7 @@ public class Joueur {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public int getNbEquipments() {
|
||||
return gestionnaireEquipements.getNbEquipments();
|
||||
}
|
||||
|
||||
|
||||
public List<Joueur> getJoueursAdjacents() {
|
||||
|
||||
@ -88,17 +84,16 @@ public class Joueur {
|
||||
return joueurs;
|
||||
}
|
||||
|
||||
public Equipement[] getEquipements() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
public List<Equipement> getEquipements() {
|
||||
return this.gestionnaireEquipements.getEquipements();
|
||||
}
|
||||
|
||||
public void voler(Joueur j2, Equipement equipement) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
j2.gestionnaireEquipements.retirerEquipement(equipement);
|
||||
this.gestionnaireEquipements.ajouterEquipement(equipement); }
|
||||
|
||||
public Equipement choisir(Equipement[] equipements) {
|
||||
public Equipement choisir(List<Equipement> equipements) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
@ -16,8 +16,6 @@ import personnage.Daniel;
|
||||
|
||||
class ConditionClassPersonnageTest {
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void conditionClass_RenvoieAppartenancePersonnage() throws Exception {
|
||||
|
||||
|
@ -34,8 +34,6 @@ class ActionAltererStatistiquesJoueurTest {
|
||||
|
||||
j1.setPlateau(p);
|
||||
j2.setPlateau(p);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -52,7 +50,6 @@ class ActionAltererStatistiquesJoueurTest {
|
||||
void affecte_StatsAddedUp() {
|
||||
|
||||
int entier = rand.nextInt();
|
||||
|
||||
int pvBaseJoueur = j2.getStat(Joueur.PLAYER_HP);
|
||||
ActionAltererStatistiquesJoueur aasj = new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, entier, true);
|
||||
aasj.affecte(j1, j2);
|
||||
|
Loading…
x
Reference in New Issue
Block a user