Ajout des classes Effets, modification Joueur
This commit is contained in:
@ -6,6 +6,24 @@ public class ActionAltererStatistiquesJoueur {
|
||||
private int valeur;
|
||||
private boolean ajouter;
|
||||
|
||||
|
||||
/**
|
||||
* Constructeur ActionAltererStatistiquesJoueur
|
||||
* @param key Le clé qui correspond à la valeur à modifier
|
||||
* @param valeur La valeur
|
||||
* @param ajouter Permet d'ajouter ou non "valeur" à la valeur précendente
|
||||
* <br><br>
|
||||
* Exemple :
|
||||
* <br><br>
|
||||
* ActionAltererStatistiquesJoueur("PV", -2, true)
|
||||
* <br>
|
||||
* Fait subir 2 PV's de dégâts au joueur
|
||||
* <br><br>
|
||||
* ActionAltererStatistiquesJoueur("PV", 2, false)
|
||||
* <br>
|
||||
* Change les PV's du joueur à 2
|
||||
*
|
||||
*/
|
||||
public ActionAltererStatistiquesJoueur(String key, int valeur, boolean ajouter)
|
||||
{
|
||||
this.key = key;
|
||||
@ -13,6 +31,13 @@ public class ActionAltererStatistiquesJoueur {
|
||||
this.ajouter = ajouter;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lance l'action de modification de statistiques
|
||||
* @param j1 Le joueur qui modifie
|
||||
* @param j2 Le joueur dont les statistiques sont modifiées
|
||||
* @return void
|
||||
*/
|
||||
public void affecter(Joueur j1, Joueur j2)
|
||||
{
|
||||
if(ajouter)
|
||||
@ -21,7 +46,6 @@ public class ActionAltererStatistiquesJoueur {
|
||||
}else {
|
||||
j2.setStat(key, valeur);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
18
src/effet/ActionAttaquer.java
Normal file
18
src/effet/ActionAttaquer.java
Normal file
@ -0,0 +1,18 @@
|
||||
package effet;
|
||||
|
||||
import main.Joueur;
|
||||
|
||||
public class ActionAttaquer extends Action {
|
||||
|
||||
/**
|
||||
* Lance l'action d'attaquer
|
||||
* @param j1 Le joueur qui attaque
|
||||
* @param j2 Le joueur qui subit l'attaque
|
||||
* @return void
|
||||
*/
|
||||
@Override
|
||||
public void affecte(Joueur j1, Joueur j2) {
|
||||
j1.attaquer(j2);
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +1,33 @@
|
||||
package effet;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class ActionMultiple {
|
||||
import main.Joueur;
|
||||
|
||||
public class ActionMultiple extends Action{
|
||||
|
||||
private List<Action> actions;
|
||||
|
||||
public ActionMultiple(Action...actions)
|
||||
{
|
||||
super();
|
||||
this.actions = new ArrayList<Action>(Arrays.asList(actions));
|
||||
}
|
||||
|
||||
/**
|
||||
* Lance l'action d'activer toutes les actions contenues dans ActionMultiple.
|
||||
* @param j1 Le joueur qui lance l'action
|
||||
* @param j2 Le joueur qui subit l'action
|
||||
* @return void
|
||||
*/
|
||||
@Override
|
||||
public void affecte(Joueur j1, Joueur j2) {
|
||||
|
||||
for(Action action : actions) {
|
||||
|
||||
action.affecte(j1, j2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
22
src/effet/ActionPiocher.java
Normal file
22
src/effet/ActionPiocher.java
Normal file
@ -0,0 +1,22 @@
|
||||
package effet;
|
||||
|
||||
import main.Joueur;
|
||||
|
||||
public class ActionPiocher extends Action{
|
||||
|
||||
public ActionPiocher() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Lance l'action de piocher une carte.
|
||||
* @param j1 Le joueur qui lance l'action
|
||||
* @param j2 Le joueur qui subit l'action
|
||||
* @return void
|
||||
*/
|
||||
@Override
|
||||
public void affecte(Joueur j1, Joueur j2) {
|
||||
j2.piocher();
|
||||
}
|
||||
|
||||
}
|
28
src/effet/ActionVoler.java
Normal file
28
src/effet/ActionVoler.java
Normal file
@ -0,0 +1,28 @@
|
||||
package effet;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import main.Equipement;
|
||||
import main.Joueur;
|
||||
|
||||
public class ActionVoler extends Action{
|
||||
|
||||
|
||||
/**
|
||||
* Lance l'action de voler une carte équipement.
|
||||
* @param j1 Le joueur qui vol
|
||||
* @param j2 Le joueur volé
|
||||
* @return void
|
||||
*/
|
||||
@Override
|
||||
public void affecte(Joueur j1, Joueur j2) {
|
||||
|
||||
List<Equipement> equipements = j2.getEquipements();
|
||||
|
||||
// J1 choisit quel équipement voler
|
||||
Equipement equipement = j1.choisir(equipements);
|
||||
|
||||
j1.voler(j2,equipement);
|
||||
|
||||
}
|
||||
}
|
21
src/effet/EffetChoisirCible.java
Normal file
21
src/effet/EffetChoisirCible.java
Normal file
@ -0,0 +1,21 @@
|
||||
package effet;
|
||||
|
||||
import main.Joueur;
|
||||
|
||||
public class EffetChoisirCible extends Effet{
|
||||
|
||||
public EffetChoisirCible(Action action) {
|
||||
super(action);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void utiliser(Joueur joueur) {
|
||||
|
||||
Joueur j2 = joueur.choisirAdjacents();
|
||||
Action action = this.getAction();
|
||||
|
||||
action.affecte(joueur, j2);
|
||||
|
||||
}
|
||||
|
||||
}
|
22
src/effet/EffetChoisirEffet.java
Normal file
22
src/effet/EffetChoisirEffet.java
Normal file
@ -0,0 +1,22 @@
|
||||
package effet;
|
||||
|
||||
import main.Joueur;
|
||||
|
||||
public class EffetChoisirEffet extends Effet{
|
||||
|
||||
private Effet[] effets;
|
||||
|
||||
public EffetChoisirEffet(Effet ...effets) {
|
||||
super(null);
|
||||
this.effets = effets;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void utiliser(Joueur joueur) {
|
||||
|
||||
Effet effet = joueur.choisir(effets);
|
||||
|
||||
effet.utiliser(joueur);
|
||||
}
|
||||
|
||||
}
|
@ -2,8 +2,13 @@ package effet;
|
||||
import main.Joueur;
|
||||
import java.util.List;
|
||||
|
||||
public class EffetCiblerAdjacents extends EffetTarget{
|
||||
public class EffetCiblerAdjacents extends Effet{
|
||||
|
||||
public EffetCiblerAdjacents(Action action) {
|
||||
super(action);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void utiliser(Joueur joueur)
|
||||
{
|
||||
|
26
src/effet/EffetCiblerTous.java
Normal file
26
src/effet/EffetCiblerTous.java
Normal file
@ -0,0 +1,26 @@
|
||||
package effet;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import main.Joueur;
|
||||
import main.Plateau;
|
||||
|
||||
public class EffetCiblerTous extends Effet {
|
||||
|
||||
public EffetCiblerTous(Action action) {
|
||||
super(action);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void utiliser(Joueur joueur) {
|
||||
Plateau p = joueur.getPlateau();
|
||||
List<Joueur> joueurs = p.getJoueurs();
|
||||
Action action = this.getAction();
|
||||
|
||||
for(Joueur j : joueurs)
|
||||
{
|
||||
action.affecte(joueur, j);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -4,9 +4,12 @@ import main.Joueur;
|
||||
|
||||
public class EffetSelf extends Effet{
|
||||
|
||||
public EffetSelf(Action action) {
|
||||
super(action);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void utiliser(Joueur joueur) {
|
||||
|
||||
this.getAction().affecte(joueur, joueur);
|
||||
}
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
package effet;
|
||||
|
||||
import main.Joueur;
|
||||
|
||||
public abstract class EffetTarget extends Effet{
|
||||
|
||||
public abstract void utiliser(Joueur joueur);
|
||||
|
||||
}
|
Reference in New Issue
Block a user