diff --git a/src/Etats/EEtat.java b/src/Etats/EEtat.java new file mode 100644 index 0000000..521a257 --- /dev/null +++ b/src/Etats/EEtat.java @@ -0,0 +1,5 @@ +package Etats; + +public enum EEtat { +EtatOK,EtatKO +} diff --git a/src/Etats/EtatPersonnageAbstrait.java b/src/Etats/EtatPersonnageAbstrait.java index ed45122..f1f4e76 100644 --- a/src/Etats/EtatPersonnageAbstrait.java +++ b/src/Etats/EtatPersonnageAbstrait.java @@ -1,5 +1,12 @@ package Etats; -public abstract class EtatPersonnageAbstrait { +import Person.Personnage; +public abstract class EtatPersonnageAbstrait { + + protected Personnage joueur; + + protected EtatPersonnageAbstrait(Personnage perso){ + this.joueur = perso; + } } diff --git a/src/Etats/EtatPersonnageKO.java b/src/Etats/EtatPersonnageKO.java index e4c06a0..6340945 100644 --- a/src/Etats/EtatPersonnageKO.java +++ b/src/Etats/EtatPersonnageKO.java @@ -1,5 +1,12 @@ package Etats; +import Person.Personnage; + public class EtatPersonnageKO extends EtatPersonnageAbstrait { + public EtatPersonnageKO(Personnage perso) { + super(perso); + // TODO Auto-generated constructor stub + } + } diff --git a/src/Etats/EtatPersonnageOK.java b/src/Etats/EtatPersonnageOK.java index 913da30..cc362ac 100644 --- a/src/Etats/EtatPersonnageOK.java +++ b/src/Etats/EtatPersonnageOK.java @@ -1,5 +1,12 @@ package Etats; +import Person.Personnage; + public class EtatPersonnageOK extends EtatPersonnageAbstrait { + public EtatPersonnageOK(Personnage perso) { + super(perso); + // TODO Auto-generated constructor stub + } + } diff --git a/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java b/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java index 3a047a4..726d9cb 100644 --- a/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java +++ b/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java @@ -11,13 +11,13 @@ public class FabriquePersonnagesBattleZone extends FabriquePersonnagesAbstraite public ArrayList CreerPersonages(Organisation o) { ArrayList list = new ArrayList(); - PersonnageBattleZone p1 = new PersonnageBattleZone(null, "P1"); + PersonnageBattleZone p1 = new PersonnageBattleZone("Bob",100.0,1.0,1.0); list.add(p1); - PersonnageBattleZone p2 = new PersonnageBattleZone(null, "P2"); + PersonnageBattleZone p2 = new PersonnageBattleZone("Jo",100.0,1.0,1.0); list.add(p2); - PersonnageBattleZone p3 = new PersonnageBattleZone(null, "P3"); + PersonnageBattleZone p3 = new PersonnageBattleZone("Max",100.0,1.0,1.0); list.add(p3); - PersonnageBattleZone p4 = new PersonnageBattleZone(null, "P4"); + PersonnageBattleZone p4 = new PersonnageBattleZone("Zac",100.0,1.0,1.0); list.add(p4); return list; } diff --git a/src/Objets/ObjetAbstrait.java b/src/Objets/ObjetAbstrait.java index 7556856..c8a40ce 100644 --- a/src/Objets/ObjetAbstrait.java +++ b/src/Objets/ObjetAbstrait.java @@ -1,13 +1,19 @@ package Objets; import Cases.CaseAbstraite; +import Person.Personnage; -public abstract class ObjetAbstrait { - CaseAbstraite caseAbstraite; +public abstract class ObjetAbstrait extends Personnage { + + Personnage perso; + CaseAbstraite positionCourante; String nom; - - public ObjetAbstrait(String nom, CaseAbstraite c) { - this.caseAbstraite = c; - this.nom = nom; - } + + protected ObjetAbstrait(String name, double lifePoint, double strength, + double speed) { + super(name, lifePoint, strength, speed); + // TODO Auto-generated constructor stub + } + + } diff --git a/src/Objets/ObjetAvecBonusForce.java b/src/Objets/ObjetAvecBonusForce.java new file mode 100644 index 0000000..4639961 --- /dev/null +++ b/src/Objets/ObjetAvecBonusForce.java @@ -0,0 +1,13 @@ +package Objets; + +public class ObjetAvecBonusForce extends ObjetAbstrait { + + + protected ObjetAvecBonusForce(String name, double lifePoint, + double strength, double speed) { + super(name, lifePoint, strength, speed); + // TODO Auto-generated constructor stub + } + public double getPointsDeVie() {return perso.getPointsDeVie() + 20;} + public double getForce() {return perso.getForce() + 0.5;} +} diff --git a/src/Objets/ObjetAvecBonusPV.java b/src/Objets/ObjetAvecBonusPV.java new file mode 100644 index 0000000..cbf3c60 --- /dev/null +++ b/src/Objets/ObjetAvecBonusPV.java @@ -0,0 +1,12 @@ +package Objets; + +public class ObjetAvecBonusPV extends ObjetAbstrait { + + protected ObjetAvecBonusPV(String name, double lifePoint, double strength, + double speed) { + super(name, lifePoint, strength, speed); + // TODO Auto-generated constructor stub + } + + public double getPointsDeVie() {return perso.getPointsDeVie() + 80;} +} diff --git a/src/Objets/ObjetAvecBonusVitesse.java b/src/Objets/ObjetAvecBonusVitesse.java new file mode 100644 index 0000000..5ec535f --- /dev/null +++ b/src/Objets/ObjetAvecBonusVitesse.java @@ -0,0 +1,12 @@ +package Objets; + +public class ObjetAvecBonusVitesse extends ObjetAbstrait { + + protected ObjetAvecBonusVitesse(String name, double lifePoint, + double strength, double speed) { + super(name, lifePoint, strength, speed); + // TODO Auto-generated constructor stub + } + + public double getPointsDeVie() {return perso.getVitesse() + 2;} +} diff --git a/src/Objets/PersonnageBattleZoneAvecUnHoverboard.java b/src/Objets/PersonnageBattleZoneAvecUnHoverboard.java new file mode 100644 index 0000000..6dbaefa --- /dev/null +++ b/src/Objets/PersonnageBattleZoneAvecUnHoverboard.java @@ -0,0 +1,15 @@ +package Objets; + +import Person.PersonnageBattleZone; + +public class PersonnageBattleZoneAvecUnHoverboard extends ObjetAvecBonusVitesse { + + protected PersonnageBattleZoneAvecUnHoverboard(String name, + double lifePoint, double strength, double speed, PersonnageBattleZone PBZ) { + super(name, lifePoint, strength, speed); + // TODO Auto-generated constructor stub + + this.perso=PBZ; + } + +} diff --git a/src/Objets/PersonnageBattleZoneAvecUnMarteau.java b/src/Objets/PersonnageBattleZoneAvecUnMarteau.java new file mode 100644 index 0000000..ebea153 --- /dev/null +++ b/src/Objets/PersonnageBattleZoneAvecUnMarteau.java @@ -0,0 +1,15 @@ +package Objets; + +import Person.PersonnageBattleZone; + +public class PersonnageBattleZoneAvecUnMarteau extends ObjetAvecBonusForce { + + protected PersonnageBattleZoneAvecUnMarteau(String name, double lifePoint, + double strength, double speed, PersonnageBattleZone PBZ) { + super(name, lifePoint, strength, speed); + // TODO Auto-generated constructor stub + + this.perso=PBZ; + } + +} diff --git a/src/Objets/PersonnageBattleZoneAvecUneArmure.java b/src/Objets/PersonnageBattleZoneAvecUneArmure.java new file mode 100644 index 0000000..1236f2d --- /dev/null +++ b/src/Objets/PersonnageBattleZoneAvecUneArmure.java @@ -0,0 +1,15 @@ +package Objets; + +import Person.PersonnageBattleZone; + +public class PersonnageBattleZoneAvecUneArmure extends ObjetAvecBonusPV { + + protected PersonnageBattleZoneAvecUneArmure(String name, double lifePoint, + double strength, double speed, PersonnageBattleZone PBZ) { + super(name, lifePoint, strength, speed); + // TODO Auto-generated constructor stub + + this.perso=PBZ; + } + +} diff --git a/src/Person/Personnage.java b/src/Person/Personnage.java index e315cf6..099141f 100644 --- a/src/Person/Personnage.java +++ b/src/Person/Personnage.java @@ -1,56 +1,101 @@ package Person; import Cases.CaseAbstraite; -import Comportements.ComportementEmmetreSon; import Composition.PersonnagesAbstraits; -import Observateur.ObservateurAbstrait; -import Observateur.Organisation; -import Observateur.eMode; +import Etats.EEtat; +import Etats.EtatPersonnageAbstrait; +import Etats.EtatPersonnageKO; +import Etats.EtatPersonnageOK; -public class Personnage extends PersonnagesAbstraits implements ObservateurAbstrait { - protected CaseAbstraite caseCourante; +public class Personnage extends PersonnagesAbstraits { + protected CaseAbstraite caseCourante; + private EtatPersonnageAbstrait etatCourant; protected String nom; - //protected ComportementEmmetreSon comportementEmmetreSon; - //protected eMode etatFonctionnement = eMode.ND; - - protected Personnage(Organisation etatMajor, String nom) { - this.nom = nom; - //this.comportementEmmetreSon = null; - - if (etatMajor != null) - etatMajor.attach(this); + protected String groupe; + protected double pointsDeVie; + protected double force; + protected double vitesse; + + protected Personnage(String name, double lifePoint, double strength, double speed) { + this.nom = name; + this.pointsDeVie=lifePoint; + this.force=strength; + this.vitesse=speed; + + this.caseCourante=null; + this.etatCourant= new EtatPersonnageOK(this); } + + + public void ChangeEtat(EEtat NouvelEtat) + { + switch(NouvelEtat) + { + case EtatOK: + etatCourant = new EtatPersonnageOK(this); + break; + case EtatKO: + etatCourant = new EtatPersonnageKO(this); + break; + default: + break; + + } + + } + + + public EtatPersonnageAbstrait getEtatCourant() { + return etatCourant; + } + + public void setEtatCourant(EtatPersonnageAbstrait etatCourant) { + this.etatCourant = etatCourant; + } + + public double getPointsDeVie() { + return pointsDeVie; + } + + public void setPointsDeVie(double pointsDeVie) { + this.pointsDeVie = pointsDeVie; + } + + public double getForce() { + return force; + } + + public void setForce(double force) { + this.force = force; + } + + public double getVitesse() { + return vitesse; + } + + public void setVitesse(double vitesse) { + this.vitesse = vitesse; + } + + public String getGroupe() { + return groupe; + } + + + public void setGroupe(String equipe) { + groupe = equipe; + } + + + public void setNom(String nom) { + this.nom = nom; + } + public String getNom() { return nom; } - /* public void setComportementEmmetreSon(ComportementEmmetreSon comportementEmmetreSon) { - this.comportementEmmetreSon = comportementEmmetreSon; - } - public String EmmetreSon() { - return this.comportementEmmetreSon.emmetreSon(); - } - public void update(eMode comportement) { - this.etatFonctionnement = comportement; - } - - public String getEtat() { - String etat; - switch (etatFonctionnement) { - case GUERRE: - etat = "En Guerre !"; - break; - case PAIX: - etat = "En paix !"; - break; - default: - etat = "De quoi ?"; - break; - } - return etat; - }*/ - public CaseAbstraite getCaseCourante() { return caseCourante; } diff --git a/src/Person/PersonnageBattleGoal.java b/src/Person/PersonnageBattleGoal.java index b059eeb..32e9bd8 100644 --- a/src/Person/PersonnageBattleGoal.java +++ b/src/Person/PersonnageBattleGoal.java @@ -4,8 +4,8 @@ import Observateur.Organisation; public class PersonnageBattleGoal extends Personnage { - protected PersonnageBattleGoal(Organisation etatMajor, String nom) { - super(etatMajor, nom); + protected PersonnageBattleGoal(String name, double lifePoint, double strength, double speed) { + super(name, lifePoint, strength, speed); // TODO Auto-generated constructor stub } diff --git a/src/Person/PersonnageBattleSnow.java b/src/Person/PersonnageBattleSnow.java index c385d57..48d8cd4 100644 --- a/src/Person/PersonnageBattleSnow.java +++ b/src/Person/PersonnageBattleSnow.java @@ -4,8 +4,8 @@ import Observateur.Organisation; public class PersonnageBattleSnow extends Personnage{ - protected PersonnageBattleSnow(Organisation etatMajor, String nom) { - super(etatMajor, nom); + protected PersonnageBattleSnow(String name, double lifePoint, double strength, double speed) { + super(name, lifePoint, strength, speed); // TODO Auto-generated constructor stub } diff --git a/src/Person/PersonnageBattleZone.java b/src/Person/PersonnageBattleZone.java index 9b82ce6..3f31ccc 100644 --- a/src/Person/PersonnageBattleZone.java +++ b/src/Person/PersonnageBattleZone.java @@ -8,8 +8,10 @@ import java.util.Random; public class PersonnageBattleZone extends Personnage { Color couleur; - public PersonnageBattleZone(Organisation etatMajor, String nom) { - super(etatMajor, nom); + public PersonnageBattleZone(String name, double lifePoint, double strength, double speed) { + super(name, lifePoint, strength, speed); + // TODO Auto-generated constructor stub + // Couleur Aléatoire Random rand = new Random();