Classes effets

This commit is contained in:
Paul Gross 2020-04-17 14:31:24 +02:00
parent 551ec21d4c
commit c5d650a1ee
6 changed files with 93 additions and 0 deletions

View File

@ -1,9 +1,16 @@
package carte; package carte;
import java.util.List;
public class Joueur { public class Joueur {
public void utiliser() { public void utiliser() {
} }
public List<Joueur> getJoueursAdjacents() {
// TODO Auto-generated method stub
return null;
}
} }

9
src/effet/Action.java Normal file
View File

@ -0,0 +1,9 @@
package effet;
import carte.Joueur;
public abstract class Action {
public abstract void affecte(Joueur j1, Joueur j2);
}

27
src/effet/Effet.java Normal file
View File

@ -0,0 +1,27 @@
package effet;
import carte.Joueur;
public abstract class Effet {
private Action action;
public Effet()
{
}
public abstract void utiliser(Joueur joueur);
public Action getAction() {
return action;
}
public void setAction(Action action) {
this.action = action;
}
}

View File

@ -0,0 +1,22 @@
package effet;
import java.util.List;
import carte.Joueur;
public class EffetCiblerAdjacents extends EffetTarget{
public void utiliser(Joueur joueur)
{
List<Joueur> joueursAdjacents = joueur.getJoueursAdjacents();
Action action = this.getAction();
for(Joueur j : joueursAdjacents)
{
action.affecte(joueur, j);
}
}
}

13
src/effet/EffetSelf.java Normal file
View File

@ -0,0 +1,13 @@
package effet;
import carte.Joueur;
public class EffetSelf extends Effet{
@Override
public void utiliser(Joueur joueur) {
this.getAction().affecte(joueur, joueur);
}
}

View File

@ -0,0 +1,15 @@
package effet;
import java.util.List;
import carte.Joueur;
public class EffetTarget extends Effet{
public void utiliser(Joueur joueur)
{
this.getAction().affecte()
}
}