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 int valeur;
|
||||||
private boolean ajouter;
|
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)
|
public ActionAltererStatistiquesJoueur(String key, int valeur, boolean ajouter)
|
||||||
{
|
{
|
||||||
this.key = key;
|
this.key = key;
|
||||||
@ -13,6 +31,13 @@ public class ActionAltererStatistiquesJoueur {
|
|||||||
this.ajouter = ajouter;
|
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)
|
public void affecter(Joueur j1, Joueur j2)
|
||||||
{
|
{
|
||||||
if(ajouter)
|
if(ajouter)
|
||||||
@ -21,7 +46,6 @@ public class ActionAltererStatistiquesJoueur {
|
|||||||
}else {
|
}else {
|
||||||
j2.setStat(key, valeur);
|
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;
|
package effet;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ActionMultiple {
|
import main.Joueur;
|
||||||
|
|
||||||
|
public class ActionMultiple extends Action{
|
||||||
|
|
||||||
private List<Action> actions;
|
private List<Action> actions;
|
||||||
|
|
||||||
public ActionMultiple(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 main.Joueur;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class EffetCiblerAdjacents extends EffetTarget{
|
public class EffetCiblerAdjacents extends Effet{
|
||||||
|
|
||||||
|
public EffetCiblerAdjacents(Action action) {
|
||||||
|
super(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void utiliser(Joueur joueur)
|
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 class EffetSelf extends Effet{
|
||||||
|
|
||||||
|
public EffetSelf(Action action) {
|
||||||
|
super(action);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void utiliser(Joueur joueur) {
|
public void utiliser(Joueur joueur) {
|
||||||
|
|
||||||
this.getAction().affecte(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.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import carte.CarteLieu;
|
||||||
|
import effet.Effet;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class Joueur {
|
public class Joueur {
|
||||||
private GestionnaireEquipements gestionnaireEquipements;
|
private GestionnaireEquipements gestionnaireEquipements;
|
||||||
|
|
||||||
private String name;
|
private String nom;
|
||||||
private boolean revealed;
|
private boolean revele;
|
||||||
private boolean virtual;
|
|
||||||
private Plateau plateau;
|
private Plateau plateau;
|
||||||
|
|
||||||
// map keys
|
// map keys
|
||||||
@ -21,10 +25,10 @@ public class Joueur {
|
|||||||
|
|
||||||
private Map<String, Integer> stats;
|
private Map<String, Integer> stats;
|
||||||
|
|
||||||
public Joueur(String name) {
|
public Joueur(String nom) {
|
||||||
this.name = name;
|
this.nom = nom;
|
||||||
this.revealed = false;
|
this.revele = false;
|
||||||
this.virtual = false;
|
|
||||||
|
|
||||||
stats = new HashMap<>();
|
stats = new HashMap<>();
|
||||||
|
|
||||||
@ -39,11 +43,7 @@ public class Joueur {
|
|||||||
//stats.put(PLAYER_IMMUNITY, 0);
|
//stats.put(PLAYER_IMMUNITY, 0);
|
||||||
// immunité à certains effets?
|
// immunité à certains effets?
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setVirtual() {
|
|
||||||
this.virtual = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//shadows, hunters ou neutre
|
//shadows, hunters ou neutre
|
||||||
public String getEquipe() {
|
public String getEquipe() {
|
||||||
return null;
|
return null;
|
||||||
@ -66,7 +66,48 @@ public class Joueur {
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
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() {
|
public Joueur selectionnerJoueur() {
|
||||||
return new Joueur("0");
|
return new Joueur("0");
|
||||||
@ -84,4 +81,8 @@ public class Plateau {
|
|||||||
public int roll6() {
|
public int roll6() {
|
||||||
return (int) Math.floor(Math.random() * 5)+1;
|
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)
|
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) {
|
public void attaquer(Joueur j) {
|
||||||
|
|
||||||
// attaquer(j)
|
super.attaquer(j);
|
||||||
//utiliser(this.joueur);
|
if(this.getJoueur().getRevele())
|
||||||
|
{
|
||||||
|
utiliser(this.getJoueur());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user