GestionnaireEquipements + EquipementStat
This commit is contained in:
parent
65c7fa3694
commit
558ec79e1f
@ -4,7 +4,7 @@ import main.Joueur;
|
|||||||
import main.Type;
|
import main.Type;
|
||||||
|
|
||||||
|
|
||||||
public class Equipement extends CartePiochable<Type>{
|
public abstract class Equipement extends CartePiochable<Type>{
|
||||||
|
|
||||||
|
|
||||||
public Equipement(String nom, String description) {
|
public Equipement(String nom, String description) {
|
||||||
@ -15,4 +15,6 @@ public class Equipement extends CartePiochable<Type>{
|
|||||||
public void utiliser(Joueur j) {
|
public void utiliser(Joueur j) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public abstract void reverse(Joueur j);
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
package carte;
|
package carte;
|
||||||
|
|
||||||
|
import effet.action.ActionAltererStatistiquesJoueur;
|
||||||
|
import main.Joueur;
|
||||||
|
|
||||||
public class EquipementStat extends Equipement{
|
public class EquipementStat extends Equipement{
|
||||||
int blessures;
|
|
||||||
public EquipementStat(String nom, String description, int b) {
|
public EquipementStat(String nom, String description, int b) {
|
||||||
super(nom, description);
|
super(nom, description);
|
||||||
blessures = b;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getBlessures() {
|
@Override
|
||||||
return blessures;
|
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);
|
j2.setStat(key, valeur);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ActionAltererStatistiquesJoueur getReverseAction() {
|
||||||
|
return new ActionAltererStatistiquesJoueur(key, -valeur, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package effet.action;
|
package effet.action;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import carte.Equipement;
|
import carte.Equipement;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
|
||||||
@ -15,7 +17,7 @@ public class ActionVoler extends Action{
|
|||||||
@Override
|
@Override
|
||||||
public void affecte(Joueur j1, Joueur j2) {
|
public void affecte(Joueur j1, Joueur j2) {
|
||||||
|
|
||||||
Equipement[] equipements = j2.getEquipements();
|
List<Equipement> equipements = j2.getEquipements();
|
||||||
|
|
||||||
// J1 choisit quel équipement voler
|
// J1 choisit quel équipement voler
|
||||||
Equipement equipement = j1.choisir(equipements);
|
Equipement equipement = j1.choisir(equipements);
|
||||||
|
@ -147,7 +147,7 @@ public class ControleurIA {
|
|||||||
|
|
||||||
// bob : si attaque joueur possedant equipement 70?% devoilement
|
// bob : si attaque joueur possedant equipement 70?% devoilement
|
||||||
public boolean devoilerIABob(JoueurVirtuel jIA, Joueur jAttaquee) {
|
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 true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
package main;
|
|
||||||
|
|
||||||
public class Effet {
|
|
||||||
|
|
||||||
}
|
|
@ -1,64 +1,40 @@
|
|||||||
package main;
|
package main;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import carte.Equipement;
|
import carte.Equipement;
|
||||||
import carte.EquipementStat;
|
|
||||||
import condition.Condition;
|
|
||||||
|
|
||||||
public class GestionnaireEquipements {
|
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<>();
|
|
||||||
|
|
||||||
public int getNbEquipments() {
|
private Joueur j;
|
||||||
return equipements.size();
|
private List<Equipement> equipements;
|
||||||
|
|
||||||
|
public GestionnaireEquipements(Joueur j) {
|
||||||
|
this.j = j;
|
||||||
|
this.equipements = new ArrayList<Equipement>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// precondition : verifier que le gestionnaire contient l'equipement avec
|
public void ajouterEquipement(Equipement e) {
|
||||||
// containsEquipement
|
this.equipements.add(e);
|
||||||
public Equipement getEquipement(String key) {
|
e.utiliser(this.j);
|
||||||
return equipements.get(key);
|
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean containsEquipement(String key) {
|
public void retirerEquipement(Equipement e) {
|
||||||
return equipements.containsKey(key);
|
if(this.equipements.contains(e)) {
|
||||||
|
e.reverse(j);
|
||||||
|
this.equipements.remove(e);
|
||||||
|
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, -1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addEquipement(String s, Equipement e) {
|
public void reverseEffect(Equipement e) {
|
||||||
equipements.put(s, e);
|
e.reverse(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ex : si le joueur se fait voler un equipement, on l'enleve de la liste
|
public List<Equipement> getEquipements() {
|
||||||
// d'equipements
|
return 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 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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -77,10 +77,6 @@ public class Joueur {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int getNbEquipments() {
|
|
||||||
return gestionnaireEquipements.getNbEquipments();
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Joueur> getJoueursAdjacents() {
|
public List<Joueur> getJoueursAdjacents() {
|
||||||
|
|
||||||
List<Joueur> joueurs = this.carteLieu.getJoueursAdjacents();
|
List<Joueur> joueurs = this.carteLieu.getJoueursAdjacents();
|
||||||
@ -88,17 +84,16 @@ public class Joueur {
|
|||||||
return joueurs;
|
return joueurs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Equipement[] getEquipements() {
|
public List<Equipement> getEquipements() {
|
||||||
// TODO Auto-generated method stub
|
return this.gestionnaireEquipements.getEquipements();
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void voler(Joueur j2, Equipement equipement) {
|
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
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,6 @@ import personnage.Daniel;
|
|||||||
|
|
||||||
class ConditionClassPersonnageTest {
|
class ConditionClassPersonnageTest {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void conditionClass_RenvoieAppartenancePersonnage() throws Exception {
|
public void conditionClass_RenvoieAppartenancePersonnage() throws Exception {
|
||||||
|
|
||||||
|
@ -34,8 +34,6 @@ class ActionAltererStatistiquesJoueurTest {
|
|||||||
|
|
||||||
j1.setPlateau(p);
|
j1.setPlateau(p);
|
||||||
j2.setPlateau(p);
|
j2.setPlateau(p);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -52,7 +50,6 @@ class ActionAltererStatistiquesJoueurTest {
|
|||||||
void affecte_StatsAddedUp() {
|
void affecte_StatsAddedUp() {
|
||||||
|
|
||||||
int entier = rand.nextInt();
|
int entier = rand.nextInt();
|
||||||
|
|
||||||
int pvBaseJoueur = j2.getStat(Joueur.PLAYER_HP);
|
int pvBaseJoueur = j2.getStat(Joueur.PLAYER_HP);
|
||||||
ActionAltererStatistiquesJoueur aasj = new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, entier, true);
|
ActionAltererStatistiquesJoueur aasj = new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, entier, true);
|
||||||
aasj.affecte(j1, j2);
|
aasj.affecte(j1, j2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user