Franklin et Georges

This commit is contained in:
Paul Gross 2020-04-21 16:37:23 +02:00
parent 307b6f7143
commit 2098793895
14 changed files with 118 additions and 36 deletions

View File

@ -3,12 +3,20 @@ package effet;
import effet.action.Action;
import main.Joueur;
public abstract class EffetTarget extends Effet{
public class EffetTarget extends Effet{
private Joueur target;
public EffetTarget(Action action) {
super(action);
}
public abstract void utiliser(Joueur joueur);
public void setTarget(Joueur target) {
this.target = target;
}
public void utiliser(Joueur joueur) {
this.getAction().affecte(joueur, target);
}
}

View File

@ -108,8 +108,8 @@ public class Joueur {
if(blessure > 0)
{
j2.addStat(PLAYER_HP, -blessure);
//this.cartePersonnage.attaquer(j2);
j2.addToStat(PLAYER_HP, -blessure);
this.cartePersonnage.attaquer(j2, blessure);
}
}
@ -125,7 +125,7 @@ public class Joueur {
return nbToursImmune > 0 ? 0 : 1;
}
private void addStat(String key, int valeur)
public void addToStat(String key, int valeur)
{
int valeurBase = this.getStat(key);
this.setStat(Joueur.PLAYER_HP,valeurBase+valeur);

View File

@ -46,4 +46,10 @@ public class Allie extends Unique{
}
}
@Override
public void attaquer(Joueur j, int blessure) {
}
}

View File

@ -2,6 +2,8 @@ package personnage;
import condition.Condition;
import condition.ConditionStatistiques;
import effet.EffetTarget;
import effet.action.ActionVoler;
import main.Joueur;
public class Bob extends CartePersonnage{
@ -10,16 +12,32 @@ public class Bob extends CartePersonnage{
super(nom,desc, hp, joueur);
Condition condition = new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_NB_EQUIPEMENTS, 5, ConditionStatistiques.MORE);
this.setCondition(condition);
EffetTarget effet = new EffetTarget(new ActionVoler());
this.setEffet(effet);
}
@Override
public void attaquer(Joueur j, int attaque) {
public void attaquer(Joueur j) {
if(attaque >= 2 && j.getRevele()) {
Joueur thisJoueur = this.getJoueur();
if(thisJoueur.choisir()) {
((EffetTarget)this.getEffet()).setTarget(j);
utiliser();
}
}
}
@Override
public void utiliser() {
// TODO Auto-generated method stub
Joueur j = this.getJoueur();
this.getEffet().utiliser(j);
}
}

View File

@ -8,29 +8,27 @@ public abstract class CartePersonnage extends CarteCondition {
private int pv;
private Joueur joueur;
public CartePersonnage(String nom, String description, int pv, Joueur joueur) {
super(nom, description);
this.pv = pv;
this.joueur = joueur;
}
public abstract void utiliser();
public void attaquer(Joueur j) {};
public abstract void attaquer(Joueur j, int blessure);
public boolean victoire(){
return false;
return this.getCondition().isTrue(this.joueur);
}
public Joueur getJoueur() {
return joueur;
};
}
public void setJoueur(Joueur j) {
joueur=j;
};
}
public void deplacer() {

View File

@ -5,11 +5,10 @@ import effet.EffetSelf;
import effet.action.Action;
import effet.action.ActionAltererStatistiquesJoueur;
import main.Joueur;
import main.Plateau;
public class Charles extends CartePersonnage{
//constructeur
public Charles(String nom, int hp, Joueur joueur) {
super(nom, nom, hp, joueur);
@ -19,13 +18,14 @@ public class Charles extends CartePersonnage{
}
//m<EFBFBD>thode
public void attaquer(Joueur j) {
super.attaquer(j);
if(this.getJoueur().getRevele())
{
utiliser(this.getJoueur());
super.attaquer(j);
public void attaquer(Joueur j, int blessure) {
if(this.getJoueur().getRevele()){
// TODO Choisir effet
Plateau p = j.getPlateau();
utiliser();
p.attaquer(this.getJoueur(), j);
}
}

View File

@ -16,8 +16,6 @@ public class Daniel extends CartePersonnage{
public Daniel(String nom, String desc ,int hp, Joueur joueur) throws Exception {
super(nom,desc, hp, joueur);
int nbShadow = joueur.getPlateau().getStat(Plateau.NB_SHADOWS);
List<Condition> conditions = new ArrayList<Condition>();
List<Condition> conditions2 = new ArrayList<Condition>();
@ -36,6 +34,12 @@ public class Daniel extends CartePersonnage{
@Override
public void utiliser() {
// TODO Listener mort
}
@Override
public void attaquer(Joueur j, int blessure) {
// TODO Auto-generated method stub
}

View File

@ -22,4 +22,10 @@ public class Emi extends CartePersonnage{
}
@Override
public void attaquer(Joueur j, int blessure) {
// TODO Auto-generated method stub
}
}

View File

@ -2,6 +2,7 @@ package personnage;
import condition.WinConditionHunter;
import main.Joueur;
import main.Plateau;
public class Franklin extends Unique{
@ -11,9 +12,24 @@ public class Franklin extends Unique{
this.setCondition(new WinConditionHunter());
}
//m<EFBFBD>thode
public void deplacer() {
@Override
public void attaquer(Joueur j, int blessure) {
// TODO Auto-generated method stub
}
@Override
public void utiliser() {
Joueur joueur = this.getJoueur();
if(this.isCapaciteUsed() && joueur.getRevele()) {
Plateau p = joueur.getPlateau();
int roll = p.roll6();
Joueur joueur2 = joueur.choisirTous();
joueur2.addToStat(Joueur.PLAYER_HP, -roll);
}
}
}

View File

@ -2,18 +2,33 @@ package personnage;
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, nom, hp, joueur);
this.setCondition(new WinConditionHunter());
}
//m<EFBFBD>thode
public void deplacer() {
@Override
public void attaquer(Joueur j, int blessure) {
// TODO Auto-generated method stub
}
@Override
public void utiliser() {
Joueur joueur = this.getJoueur();
if(this.isCapaciteUsed() && joueur.getRevele()) {
Plateau p = joueur.getPlateau();
int roll = p.roll4();
Joueur joueur2 = joueur.choisirTous();
joueur2.addToStat(Joueur.PLAYER_HP, -roll);
}
}
}

View File

@ -21,4 +21,10 @@ public class LoupGarou extends CartePersonnage {
// TODO Auto-generated method stub
}
@Override
public void attaquer(Joueur j, int blessure) {
// TODO Auto-generated method stub
}
}

View File

@ -16,4 +16,10 @@ public class Metamorphe extends CartePersonnage{
}
@Override
public void attaquer(Joueur j, int blessure) {
// TODO Auto-generated method stub
}
}

View File

@ -2,7 +2,7 @@ package personnage;
import main.Joueur;
public class Unique extends CartePersonnage{
public abstract class Unique extends CartePersonnage{
private boolean capaciteUsed;

View File

@ -31,9 +31,8 @@ public class Vampire extends CartePersonnage{
* @param j Le joueur qui subit l'attaque
* @return void
*/
public void attaquer(Joueur j) {
public void attaquer(Joueur j, int blessure) {
super.attaquer(j);
if(this.getJoueur().getRevele())
{
utiliser(this.getJoueur());