Ajout de fonctionnalités main, pioche

This commit is contained in:
Paul Gross 2020-04-18 19:39:59 +02:00
parent 1d1519bb17
commit 7d1090bf8b
17 changed files with 81 additions and 90 deletions

View File

@ -3,14 +3,11 @@ package carte;
import main.Joueur;
import main.Type;
public class CartePiochable<T> extends CarteCondition implements Type{
public class CartePiochable<T extends Type> extends CarteCondition{
public void utiliser(Joueur j) {
super.utiliser(j);
}
}

View File

@ -0,0 +1,16 @@
package condition;
import main.Joueur;
import main.Plateau;
public class WinConditionHunter extends Condition{
@Override
public boolean isTrue(Joueur j)
{
int nbShadow = j.getPlateau().getStat(Plateau.NB_SHADOWS);
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE);
return winCondition.isTrue(j);
}
}

View File

@ -0,0 +1,16 @@
package condition;
import main.Joueur;
import main.Plateau;
public class WinConditionShadow extends Condition{
@Override
public boolean isTrue(Joueur j)
{
int nbHunter = j.getPlateau().getStat(Plateau.NB_HUNTERS);
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE);
return winCondition.isTrue(j);
}
}

View File

@ -1,7 +0,0 @@
package main;
import carte.Carte;
public class CartePiochable<Type> extends Carte<Type> {
}

View File

@ -3,7 +3,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import carte.CarteLieu;
import effet.Effet;
@ -18,10 +17,11 @@ public class Joueur {
// map keys
public static final String PLAYER_HP = "hp";
public static final String PLAYER_TURN = "turn";
public static final String PLYAYER_DAMAGE = "damage";
public static final String PLAYER_DAMAGE = "damage";
public static final String PLAYER_RESISTANCE = "resistance";
public static final String PLAYER_REVEAL = "reveal";
public static final String PLAYER_IMMUNITY = "immunity";
public static final String PLAYER_NB_EQUIPEMENTS = "nb_equipements";
private Map<String, Integer> stats;
@ -67,7 +67,7 @@ public class Joueur {
return null;
}
public List<Equipement> getEquipements() {
public Equipement[] getEquipements() {
// TODO Auto-generated method stub
return null;
}

View File

@ -1,13 +1,22 @@
package main;
import java.util.Collections;
import java.util.List;
import java.util.Stack;
public class Pioche<Carte> {
private List<CartePiochable> cartesPiochables;
import carte.CartePiochable;
public class Pioche<T extends Type> {
public CartePiochable piocher() {
private Stack<CartePiochable<T>> cartesPiochables;
public void melanger()
{
Collections.shuffle(cartesPiochables);
return cartesPiochables.get(0);
}
public CartePiochable<?> piocher() {
return cartesPiochables.pop();
}
}

View File

@ -1,5 +1,5 @@
package main;
public class TypeTenebre {
public class TypeTenebre implements Type{
}

View File

@ -12,8 +12,8 @@ import main.Plateau;
public class Allie extends Unique{
public Allie(String nom, int hp, Joueur joueur,boolean capaciteUsed) {
super(nom, hp, joueur, capaciteUsed);
public Allie(String nom, int hp, Joueur joueur) {
super(nom, hp, joueur);
Action action = new ActionAltererStatistiquesJoueur("HP",this.getPv(),false);
Effet effet = new EffetSelf(action);

View File

@ -1,14 +1,21 @@
package personnage;
import condition.Condition;
import condition.ConditionStatistiques;
import main.Joueur;
public class Bob extends CartePersonnage{
public Bob(String nom, int hp, Joueur joueur, Condition condition,boolean capaciteUsed) {
super(nom, hp, joueur, condition);
public Bob(String nom, int hp, Joueur joueur) {
super(nom, hp, joueur);
Condition condition = new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_NB_EQUIPEMENTS, 5, ConditionStatistiques.MORE);
this.setCondition(condition);
}
@Override
public void utiliser(Joueur j){
}
public void attaquer(Joueur j) {

View File

@ -1,19 +1,15 @@
package personnage;
import condition.Condition;
import main.Joueur;
public class Charles extends CartePersonnage{
//attributs
private boolean capaciteUsed;
//constructeur
public Charles(String nom, int hp, Joueur joueur,Condition condition,boolean capaciteUsed) {
super(nom, hp, joueur, condition);
this.capaciteUsed=capaciteUsed;
public Charles(String nom, int hp, Joueur joueur) {
super(nom, hp, joueur);
}
//méthode
//m<EFBFBD>thode
public void attaquer(Joueur j) {
}

View File

@ -4,6 +4,7 @@ import condition.Condition;
import condition.ConditionMultiple;
import condition.ConditionMultipleOR;
import condition.ConditionStatistiques;
import condition.WinConditionHunter;
import main.Joueur;
import main.Plateau;
@ -22,7 +23,7 @@ public class Daniel extends CartePersonnage{
,new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS, 1, ConditionStatistiques.LESS)
)
// Shadows morts
,new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE)
,new WinConditionHunter()
);
this.setCondition(winCondition);
}

View File

@ -1,18 +1,14 @@
package personnage;
import condition.Condition;
import condition.ConditionStatistiques;
import condition.WinConditionHunter;
import main.Joueur;
import main.Plateau;
public class Emi extends CartePersonnage{
//constructeur
public Emi(String nom, int hp, Joueur joueur) {
super(nom, hp, joueur);
int nbShadow = joueur.getPlateau().getStat(Plateau.NB_SHADOWS);
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE);
this.setCondition(winCondition);
this.setCondition(new WinConditionHunter());
}
//m<EFBFBD>thode

View File

@ -1,19 +1,14 @@
package personnage;
import condition.Condition;
import condition.ConditionStatistiques;
import condition.WinConditionHunter;
import main.Joueur;
import main.Plateau;
public class Franklin extends Unique{
//constructeur
public Franklin(String nom, int hp, Joueur joueur) {
super(nom, hp, joueur);
int nbShadow = joueur.getPlateau().getStat(Plateau.NB_SHADOWS);
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE);
this.setCondition(winCondition);
this.setCondition(new WinConditionHunter());
}
//m<EFBFBD>thode

View File

@ -1,20 +1,14 @@
package personnage;
import condition.Condition;
import condition.ConditionStatistiques;
import condition.WinConditionHunter;
import main.Joueur;
import main.Plateau;
public class Georges extends Unique{
//constructeur
public Georges(String nom, int hp, Joueur joueur) {
super(nom, hp, joueur);
int nbShadow = joueur.getPlateau().getStat(Plateau.NB_SHADOWS);
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE);
this.setCondition(winCondition);
this.setCondition(new WinConditionHunter());
}
//m<EFBFBD>thode

View File

@ -1,23 +1,14 @@
package personnage;
import condition.Condition;
import condition.ConditionMultipleOR;
import condition.ConditionStatistiques;
import condition.WinConditionShadow;
import main.Joueur;
import main.Plateau;
public class LoupGarou extends CartePersonnage {
//constructeur
public LoupGarou(String nom, int hp, Joueur joueur) {
super(nom, hp, joueur);
int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS);
Condition winCondition = new ConditionMultipleOR(
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE)
,
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE)
);
this.setCondition(winCondition);
this.setCondition(new WinConditionShadow());
}
//m<EFBFBD>thodes

View File

@ -1,24 +1,13 @@
package personnage;
import condition.Condition;
import condition.ConditionMultipleOR;
import condition.ConditionStatistiques;
import condition.WinConditionShadow;
import main.Joueur;
import main.Plateau;
public class Metamorphe extends CartePersonnage{
public Metamorphe(String nom, int pv, Joueur joueur) {
super(nom, pv, joueur);
int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS);
Condition winCondition = new ConditionMultipleOR(
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE)
,
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE)
);
this.setCondition(winCondition);
this.setCondition(new WinConditionShadow());
}
}

View File

@ -1,14 +1,12 @@
package personnage;
import condition.Condition;
import condition.ConditionMultipleOR;
import condition.ConditionStatistiques;
import condition.WinConditionShadow;
import effet.Action;
import effet.ActionAltererStatistiquesJoueur;
import effet.Effet;
import effet.EffetSelf;
import main.Joueur;
import main.Plateau;
public class Vampire extends CartePersonnage{
@ -18,14 +16,7 @@ public class Vampire extends CartePersonnage{
Action action = new ActionAltererStatistiquesJoueur("HP",2,true);
Effet effet = new EffetSelf(action);
this.setEffet(effet);
int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS);
Condition winCondition = new ConditionMultipleOR(
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE)
,
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE)
);
this.setCondition(winCondition);
this.setCondition(new WinConditionShadow());
}
public void utiliser(Joueur j)