Méthodes choisir pour l'ihm
This commit is contained in:
parent
3e1637c525
commit
216d12408a
@ -13,7 +13,10 @@ public abstract class Equipement extends CartePiochable<Type>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void utiliser(Joueur j) {
|
public void utiliser(Joueur j) {
|
||||||
|
if(!j.getEquipements().contains(this)) {
|
||||||
|
j.ajouterEquipement(this);
|
||||||
|
}
|
||||||
|
super.utiliser(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void reverse(Joueur j);
|
public abstract void reverse(Joueur j);
|
||||||
|
@ -5,7 +5,7 @@ import main.Joueur;
|
|||||||
|
|
||||||
public class EquipementStat extends Equipement{
|
public class EquipementStat extends Equipement{
|
||||||
|
|
||||||
public EquipementStat(String nom, String description, int b) {
|
public EquipementStat(String nom, String description) {
|
||||||
super(nom, description);
|
super(nom, description);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,8 @@ package condition;
|
|||||||
|
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
|
||||||
public abstract class Condition {
|
public class Condition {
|
||||||
public abstract boolean isTrue(Joueur joueur);
|
public boolean isTrue(Joueur joueur) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ public class EffetChoisirCible extends Effet{
|
|||||||
@Override
|
@Override
|
||||||
public void utiliser(Joueur joueur) {
|
public void utiliser(Joueur joueur) {
|
||||||
|
|
||||||
Joueur j2 = joueur.choisirTous();
|
Joueur j2 = joueur.choisiParmisTous();
|
||||||
Action action = this.getAction();
|
Action action = this.getAction();
|
||||||
|
|
||||||
action.affecte(joueur, j2);
|
action.affecte(joueur, j2);
|
||||||
|
@ -15,13 +15,13 @@ public class GestionnaireEquipements {
|
|||||||
this.equipements = new ArrayList<Equipement>();
|
this.equipements = new ArrayList<Equipement>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ajouterEquipement(Equipement e) {
|
public void ajouter(Equipement e) {
|
||||||
this.equipements.add(e);
|
this.equipements.add(e);
|
||||||
e.utiliser(this.j);
|
e.utiliser(this.j);
|
||||||
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, 1);
|
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void retirerEquipement(Equipement e) {
|
public void retirer(Equipement e) {
|
||||||
if(this.equipements.contains(e)) {
|
if(this.equipements.contains(e)) {
|
||||||
e.reverse(j);
|
e.reverse(j);
|
||||||
this.equipements.remove(e);
|
this.equipements.remove(e);
|
||||||
@ -29,10 +29,6 @@ public class GestionnaireEquipements {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void reverseEffect(Equipement e) {
|
|
||||||
e.reverse(j);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Equipement> getEquipements() {
|
public List<Equipement> getEquipements() {
|
||||||
return equipements;
|
return equipements;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
package main;
|
package main;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import effet.Effet;
|
||||||
|
|
||||||
public class GestionnaireJeu {
|
public class GestionnaireJeu {
|
||||||
private Plateau plateau;
|
private Plateau plateau;
|
||||||
|
private View view;
|
||||||
|
|
||||||
public GestionnaireJeu (Plateau p) {
|
public GestionnaireJeu (Plateau p) {
|
||||||
plateau = p;
|
plateau = p;
|
||||||
@ -24,4 +29,27 @@ public class GestionnaireJeu {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Joueur choisirParmisTous(Joueur joueur, List<Joueur> joueurs) {
|
||||||
|
return joueur;
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Effet choisirEffet(Joueur joueur, Effet[] effets) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Joueur choisirAdjacents(Joueur joueur, List<Joueur> joueurs) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean choisir(Joueur joueur) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
import carte.CarteLieu;
|
import carte.CarteLieu;
|
||||||
import carte.Equipement;
|
import carte.Equipement;
|
||||||
|
import carte.EquipementStat;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
|
|
||||||
@ -40,7 +41,7 @@ public class Joueur {
|
|||||||
public Joueur(String nom) {
|
public Joueur(String nom) {
|
||||||
this.nom = nom;
|
this.nom = nom;
|
||||||
this.revele = false;
|
this.revele = false;
|
||||||
|
this.gestionnaireEquipements = new GestionnaireEquipements(this);
|
||||||
|
|
||||||
stats = new HashMap<>();
|
stats = new HashMap<>();
|
||||||
|
|
||||||
@ -49,7 +50,8 @@ public class Joueur {
|
|||||||
|
|
||||||
//stats.put(PLAYER_HP, char.getHP());
|
//stats.put(PLAYER_HP, char.getHP());
|
||||||
//stats.put(PLAYER_TURN, 1);
|
//stats.put(PLAYER_TURN, 1);
|
||||||
//stats.put(PLAYER_DAMAGE, 0); - dégats en +
|
stats.put(PLAYER_DAMAGE, 0);
|
||||||
|
stats.put(PLAYER_NB_EQUIPEMENTS, 0);
|
||||||
//stats.put(PLAYER_RESISTANCE, 0);
|
//stats.put(PLAYER_RESISTANCE, 0);
|
||||||
//stats.put(PLAYER_REVEAL, 0);
|
//stats.put(PLAYER_REVEAL, 0);
|
||||||
//stats.put(PLAYER_IMMUNITY, 0);
|
//stats.put(PLAYER_IMMUNITY, 0);
|
||||||
@ -72,6 +74,7 @@ public class Joueur {
|
|||||||
if(stats.containsKey(key)) {
|
if(stats.containsKey(key)) {
|
||||||
return stats.get(key);
|
return stats.get(key);
|
||||||
}else {
|
}else {
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -90,8 +93,8 @@ public class Joueur {
|
|||||||
|
|
||||||
public void voler(Joueur j2, Equipement equipement) {
|
public void voler(Joueur j2, Equipement equipement) {
|
||||||
|
|
||||||
j2.gestionnaireEquipements.retirerEquipement(equipement);
|
j2.gestionnaireEquipements.retirer(equipement);
|
||||||
this.gestionnaireEquipements.ajouterEquipement(equipement); }
|
this.gestionnaireEquipements.ajouter(equipement); }
|
||||||
|
|
||||||
public Equipement choisir(List<Equipement> equipements) {
|
public Equipement choisir(List<Equipement> equipements) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
@ -123,7 +126,7 @@ public class Joueur {
|
|||||||
public void addToStat(String key, int valeur)
|
public void addToStat(String key, int valeur)
|
||||||
{
|
{
|
||||||
int valeurBase = this.getStat(key);
|
int valeurBase = this.getStat(key);
|
||||||
this.setStat(Joueur.PLAYER_HP,valeurBase+valeur);
|
this.setStat(key,valeurBase+valeur);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -131,14 +134,20 @@ public class Joueur {
|
|||||||
return this.plateau;
|
return this.plateau;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean choisir() {
|
||||||
|
return this.plateau.choisir(this);
|
||||||
|
}
|
||||||
|
|
||||||
public Joueur choisirAdjacents() {
|
public Joueur choisirAdjacents() {
|
||||||
// TODO Auto-generated method stub
|
return this.plateau.choisirAdjacents(this);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Effet choisir(Effet[] effets) {
|
public Effet choisir(Effet[] effets) {
|
||||||
// TODO Auto-generated method stub
|
return this.plateau.choisirEffet(this,effets);
|
||||||
return null;
|
}
|
||||||
|
|
||||||
|
public Joueur choisiParmisTous() {
|
||||||
|
return this.plateau.choisirParmisTous(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getRevele() {
|
public boolean getRevele() {
|
||||||
@ -162,10 +171,7 @@ public class Joueur {
|
|||||||
this.plateau = plateau2;
|
this.plateau = plateau2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean choisir() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void utiliserEffetLieu() {
|
public void utiliserEffetLieu() {
|
||||||
this.carteLieu.utiliser(this);
|
this.carteLieu.utiliser(this);
|
||||||
@ -181,10 +187,7 @@ public class Joueur {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Joueur choisirTous() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public CarteLieu getCarteLieu() {
|
public CarteLieu getCarteLieu() {
|
||||||
return this.carteLieu;
|
return this.carteLieu;
|
||||||
@ -202,4 +205,12 @@ public class Joueur {
|
|||||||
this.revele = b;
|
this.revele = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ajouterEquipement(Equipement equipement) {
|
||||||
|
this.gestionnaireEquipements.ajouter(equipement);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void retirerEquipement(Equipement equipement) {
|
||||||
|
this.gestionnaireEquipements.retirer(equipement);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,11 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import carte.CarteLieu;
|
import carte.CarteLieu;
|
||||||
|
import effet.Effet;
|
||||||
|
|
||||||
public class Plateau {
|
public class Plateau {
|
||||||
|
|
||||||
|
private GestionnaireJeu gj;
|
||||||
private List<Joueur> joueurs;
|
private List<Joueur> joueurs;
|
||||||
private List<CarteLieu> lieux;
|
private List<CarteLieu> lieux;
|
||||||
|
|
||||||
@ -169,4 +171,30 @@ public class Plateau {
|
|||||||
this.lieux = lieux;
|
this.lieux = lieux;
|
||||||
shuffleLieux();
|
shuffleLieux();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean choisir(Joueur joueur) {
|
||||||
|
return gj.choisir(joueur);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Joueur choisirAdjacents(Joueur joueur) {
|
||||||
|
List<Joueur> joueurs = new ArrayList<Joueur>();
|
||||||
|
CarteLieu cl = joueur.getCarteLieu();
|
||||||
|
|
||||||
|
joueurs.addAll(cl.getJoueurs());
|
||||||
|
joueurs.remove(joueur);
|
||||||
|
joueurs.addAll(cl.getJoueursAdjacents());
|
||||||
|
|
||||||
|
return gj.choisirAdjacents(joueur, joueurs);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Effet choisirEffet(Joueur joueur, Effet[] effets) {
|
||||||
|
return gj.choisirEffet(joueur,effets);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Joueur choisirParmisTous(Joueur joueur) {
|
||||||
|
List<Joueur> joueurs = this.getJoueurs();
|
||||||
|
return gj.choisirParmisTous(joueur,joueurs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
5
src/main/View.java
Normal file
5
src/main/View.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package main;
|
||||||
|
|
||||||
|
public class View {
|
||||||
|
|
||||||
|
}
|
@ -25,7 +25,7 @@ public class Franklin extends Unique{
|
|||||||
Plateau p = joueur.getPlateau();
|
Plateau p = joueur.getPlateau();
|
||||||
int roll = p.roll6();
|
int roll = p.roll6();
|
||||||
|
|
||||||
Joueur joueur2 = joueur.choisirTous();
|
Joueur joueur2 = joueur.choisiParmisTous();
|
||||||
super.attaquer(joueur2, roll);
|
super.attaquer(joueur2, roll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ public class Georges extends Unique{
|
|||||||
Plateau p = joueur.getPlateau();
|
Plateau p = joueur.getPlateau();
|
||||||
int roll = p.roll4();
|
int roll = p.roll4();
|
||||||
|
|
||||||
Joueur joueur2 = joueur.choisirTous();
|
Joueur joueur2 = joueur.choisiParmisTous();
|
||||||
super.attaquer(joueur2, roll);
|
super.attaquer(joueur2, roll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
100
tests/main/GestionnaireEquipementsTest.java
Normal file
100
tests/main/GestionnaireEquipementsTest.java
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
package main;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import carte.EquipementStat;
|
||||||
|
import condition.Condition;
|
||||||
|
import effet.EffetSelf;
|
||||||
|
import effet.action.ActionAltererStatistiquesJoueur;
|
||||||
|
import personnage.Allie;
|
||||||
|
|
||||||
|
class GestionnaireEquipementsTest {
|
||||||
|
|
||||||
|
Joueur j1;
|
||||||
|
Joueur j2;
|
||||||
|
Plateau p;
|
||||||
|
Random rand;
|
||||||
|
Allie a1;
|
||||||
|
Allie a2;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void init()
|
||||||
|
{
|
||||||
|
rand = new Random();
|
||||||
|
List<Joueur> joueurs = new ArrayList<Joueur>();
|
||||||
|
j1 = new Joueur("Michel");
|
||||||
|
j2 = new Joueur("Antoine");
|
||||||
|
|
||||||
|
joueurs.add(j1);
|
||||||
|
joueurs.add(j2);
|
||||||
|
|
||||||
|
p = new Plateau(joueurs);
|
||||||
|
|
||||||
|
a1 = new Allie(j1);
|
||||||
|
a2 = new Allie(j2);
|
||||||
|
j1.setCartePersonnage(a1);
|
||||||
|
j2.setCartePersonnage(a2);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void ajouterEquipement_NbEquipements() {
|
||||||
|
|
||||||
|
int nbEffets = 20;
|
||||||
|
|
||||||
|
for(int i = 0; i < 20; i++) {
|
||||||
|
|
||||||
|
EquipementStat es = new EquipementStat("AddDamage", "desc");
|
||||||
|
es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true)));
|
||||||
|
es.setCondition(new Condition());
|
||||||
|
j1.ajouterEquipement(es);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEquals(nbEffets, j1.getStat(Joueur.PLAYER_NB_EQUIPEMENTS));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void ajouterEquipement_StackingStats() {
|
||||||
|
|
||||||
|
int nbEffets = 20;
|
||||||
|
int valeurEffet = 3;
|
||||||
|
|
||||||
|
for(int i = 0; i < 20; i++) {
|
||||||
|
|
||||||
|
EquipementStat es = new EquipementStat("AddDamage", "desc");
|
||||||
|
es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, valeurEffet, true)));
|
||||||
|
es.setCondition(new Condition());
|
||||||
|
j1.ajouterEquipement(es);
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEquals(nbEffets*valeurEffet, j1.getStat(Joueur.PLAYER_DAMAGE));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void ajouterEquipement_RetirerEffet() {
|
||||||
|
|
||||||
|
int valeurEffet = 3;
|
||||||
|
|
||||||
|
EquipementStat es = new EquipementStat("AddDamage", "desc");
|
||||||
|
es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, valeurEffet, true)));
|
||||||
|
es.setCondition(new Condition());
|
||||||
|
j1.ajouterEquipement(es);
|
||||||
|
|
||||||
|
assertEquals(valeurEffet, j1.getStat(Joueur.PLAYER_DAMAGE));
|
||||||
|
|
||||||
|
j1.retirerEquipement(es);
|
||||||
|
|
||||||
|
assertEquals(0, j1.getStat(Joueur.PLAYER_DAMAGE));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user