Ajout des classes Effets, modification Joueur
This commit is contained in:
parent
080e3d264d
commit
76bf870241
@ -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,7 +2,12 @@ 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);
|
||||
|
||||
}
|
@ -3,12 +3,16 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import carte.CarteLieu;
|
||||
import effet.Effet;
|
||||
|
||||
|
||||
|
||||
public class Joueur {
|
||||
private GestionnaireEquipements gestionnaireEquipements;
|
||||
|
||||
private String name;
|
||||
private boolean revealed;
|
||||
private boolean virtual;
|
||||
private String nom;
|
||||
private boolean revele;
|
||||
private Plateau plateau;
|
||||
|
||||
// map keys
|
||||
@ -21,10 +25,10 @@ public class Joueur {
|
||||
|
||||
private Map<String, Integer> stats;
|
||||
|
||||
public Joueur(String name) {
|
||||
this.name = name;
|
||||
this.revealed = false;
|
||||
this.virtual = false;
|
||||
public Joueur(String nom) {
|
||||
this.nom = nom;
|
||||
this.revele = false;
|
||||
|
||||
|
||||
stats = new HashMap<>();
|
||||
|
||||
@ -40,10 +44,6 @@ public class Joueur {
|
||||
// immunité à certains effets?
|
||||
}
|
||||
|
||||
public void setVirtual() {
|
||||
this.virtual = true;
|
||||
}
|
||||
|
||||
//shadows, hunters ou neutre
|
||||
public String getEquipe() {
|
||||
return null;
|
||||
@ -67,6 +67,47 @@ public class Joueur {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<Equipement> getEquipements() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public void voler(Joueur j2, Equipement equipement) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public Equipement choisir(Equipement[] equipements) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public void piocher() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void attaquer(Joueur j2) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public Plateau getPlateau() {
|
||||
return this.plateau;
|
||||
}
|
||||
|
||||
public Joueur choisirAdjacents() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public Effet choisir(Effet[] effets) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean getRevele() {
|
||||
return this.revele;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -56,9 +56,6 @@ public class Plateau {
|
||||
|
||||
}
|
||||
|
||||
public void choix(Choix choix) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public Joueur selectionnerJoueur() {
|
||||
return new Joueur("0");
|
||||
@ -84,4 +81,8 @@ public class Plateau {
|
||||
public int roll6() {
|
||||
return (int) Math.floor(Math.random() * 5)+1;
|
||||
}
|
||||
|
||||
public List<Joueur> getJoueurs() {
|
||||
return this.joueurs;
|
||||
}
|
||||
}
|
||||
|
@ -16,14 +16,21 @@ public class Vampire extends CartePersonnage{
|
||||
|
||||
public void utiliser(Joueur j)
|
||||
{
|
||||
//this.getEffet().utiliser()
|
||||
this.getEffet().utiliser(j);
|
||||
}
|
||||
|
||||
//m<EFBFBD>thode
|
||||
/**
|
||||
* Lance l'action d'attaquer de Vampire
|
||||
* <br><br> Efffet :
|
||||
* @param j Le joueur qui subit l'attaque
|
||||
* @return void
|
||||
*/
|
||||
public void attaquer(Joueur j) {
|
||||
|
||||
// attaquer(j)
|
||||
//utiliser(this.joueur);
|
||||
|
||||
super.attaquer(j);
|
||||
if(this.getJoueur().getRevele())
|
||||
{
|
||||
utiliser(this.getJoueur());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user