From c5d650a1ee413293a05e26a65377f9ae5dee6c0c Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Fri, 17 Apr 2020 14:31:24 +0200 Subject: [PATCH] Classes effets --- src/carte/Joueur.java | 7 +++++++ src/effet/Action.java | 9 +++++++++ src/effet/Effet.java | 27 +++++++++++++++++++++++++++ src/effet/EffetCiblerAdjacents.java | 22 ++++++++++++++++++++++ src/effet/EffetSelf.java | 13 +++++++++++++ src/effet/EffetTarget.java | 15 +++++++++++++++ 6 files changed, 93 insertions(+) create mode 100644 src/effet/Action.java create mode 100644 src/effet/Effet.java create mode 100644 src/effet/EffetCiblerAdjacents.java create mode 100644 src/effet/EffetSelf.java create mode 100644 src/effet/EffetTarget.java diff --git a/src/carte/Joueur.java b/src/carte/Joueur.java index e40b288..938faa3 100644 --- a/src/carte/Joueur.java +++ b/src/carte/Joueur.java @@ -1,9 +1,16 @@ package carte; +import java.util.List; + public class Joueur { public void utiliser() { } + + public List getJoueursAdjacents() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/effet/Action.java b/src/effet/Action.java new file mode 100644 index 0000000..a9494af --- /dev/null +++ b/src/effet/Action.java @@ -0,0 +1,9 @@ +package effet; + +import carte.Joueur; + +public abstract class Action { + + public abstract void affecte(Joueur j1, Joueur j2); + +} diff --git a/src/effet/Effet.java b/src/effet/Effet.java new file mode 100644 index 0000000..8192f61 --- /dev/null +++ b/src/effet/Effet.java @@ -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; + } + +} diff --git a/src/effet/EffetCiblerAdjacents.java b/src/effet/EffetCiblerAdjacents.java new file mode 100644 index 0000000..008f494 --- /dev/null +++ b/src/effet/EffetCiblerAdjacents.java @@ -0,0 +1,22 @@ +package effet; + +import java.util.List; + +import carte.Joueur; + +public class EffetCiblerAdjacents extends EffetTarget{ + + public void utiliser(Joueur joueur) + { + List joueursAdjacents = joueur.getJoueursAdjacents(); + Action action = this.getAction(); + + for(Joueur j : joueursAdjacents) + { + action.affecte(joueur, j); + } + + } + + +} diff --git a/src/effet/EffetSelf.java b/src/effet/EffetSelf.java new file mode 100644 index 0000000..7271ed3 --- /dev/null +++ b/src/effet/EffetSelf.java @@ -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); + } + +} diff --git a/src/effet/EffetTarget.java b/src/effet/EffetTarget.java new file mode 100644 index 0000000..abb8a03 --- /dev/null +++ b/src/effet/EffetTarget.java @@ -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() + + } + +}