From afdc5811c773213f3928e5ba2eb245c72f440ecc Mon Sep 17 00:00:00 2001 From: amine Date: Sun, 1 Feb 2015 16:01:09 +0100 Subject: [PATCH] Tous les scenarii. --- src/Cases/CaseAbstraite.java | 6 ++- src/Cases/CaseColore.java | 1 - src/Cases/CaseNeige.java | 7 +++ src/Cases/CasePelouse.java | 7 +++ src/Cases/{ => utils}/Coordonnees.java | 2 +- src/Cases/{ => utils}/PointsCardinaux.java | 2 +- .../{ => utils}/RandomPointCardinal.java | 2 +- src/Composition/EquipeDeFoot.java | 21 +++++++++ src/Composition/GroupeAbstrait.java | 14 +++++- .../FabriquePersonnagesBattleSnow.java | 18 +++++++- .../FabriquePersonnagesBattleZone.java | 12 ++--- .../FabriquePersonnagesFootball.java | 44 +++++++++++-------- .../Plateau/FabriquePlateauBattleSnow.java | 16 ++++++- .../Plateau/FabriquePlateauFootball.java | 16 ++++++- .../Scenario/FabriqueScenarioFootball.java | 17 +++++++ src/Person/Personnage.java | 2 +- src/Person/PersonnageBattleGoal.java | 12 ----- src/Person/PersonnageBattleSnow.java | 2 +- src/Person/PersonnageFootball.java | 25 +++++++++++ 19 files changed, 176 insertions(+), 50 deletions(-) create mode 100644 src/Cases/CaseNeige.java create mode 100644 src/Cases/CasePelouse.java rename src/Cases/{ => utils}/Coordonnees.java (96%) rename src/Cases/{ => utils}/PointsCardinaux.java (81%) rename src/Cases/{ => utils}/RandomPointCardinal.java (94%) create mode 100644 src/Composition/EquipeDeFoot.java create mode 100644 src/Fabriques/Scenario/FabriqueScenarioFootball.java delete mode 100644 src/Person/PersonnageBattleGoal.java create mode 100644 src/Person/PersonnageFootball.java diff --git a/src/Cases/CaseAbstraite.java b/src/Cases/CaseAbstraite.java index 2c9419b..5b5dcfc 100644 --- a/src/Cases/CaseAbstraite.java +++ b/src/Cases/CaseAbstraite.java @@ -1,5 +1,7 @@ package Cases; +import Cases.utils.Coordonnees; +import Cases.utils.PointsCardinaux; import Objets.ObjetAbstrait; import Person.Personnage; @@ -86,7 +88,9 @@ public abstract class CaseAbstraite { this.voisins = voisins; } - public abstract String affichageSpecial(); + public String affichageSpecial() { + return " "; + } public Coordonnees getCoord() { return coord; diff --git a/src/Cases/CaseColore.java b/src/Cases/CaseColore.java index 1bf718e..bc75a1e 100644 --- a/src/Cases/CaseColore.java +++ b/src/Cases/CaseColore.java @@ -10,7 +10,6 @@ public class CaseColore extends CaseAbstraite { this.couleur = Color.WHITE; } - @Override public String affichageSpecial() { if (this.couleur.getRGB() < 0) return String.valueOf(String.valueOf(this.couleur.getRGB()).charAt(0)); diff --git a/src/Cases/CaseNeige.java b/src/Cases/CaseNeige.java new file mode 100644 index 0000000..2ababac --- /dev/null +++ b/src/Cases/CaseNeige.java @@ -0,0 +1,7 @@ +package Cases; + +public class CaseNeige extends CaseAbstraite { + public CaseNeige(int col, int ligne) { + super(col, ligne); + } +} diff --git a/src/Cases/CasePelouse.java b/src/Cases/CasePelouse.java new file mode 100644 index 0000000..e41940e --- /dev/null +++ b/src/Cases/CasePelouse.java @@ -0,0 +1,7 @@ +package Cases; + +public class CasePelouse extends CaseAbstraite { + public CasePelouse(int vert, int hor) { + super(vert, hor); + } +} diff --git a/src/Cases/Coordonnees.java b/src/Cases/utils/Coordonnees.java similarity index 96% rename from src/Cases/Coordonnees.java rename to src/Cases/utils/Coordonnees.java index 9ca9f1b..531d77e 100644 --- a/src/Cases/Coordonnees.java +++ b/src/Cases/utils/Coordonnees.java @@ -1,4 +1,4 @@ -package Cases; +package Cases.utils; public class Coordonnees { private int col; diff --git a/src/Cases/PointsCardinaux.java b/src/Cases/utils/PointsCardinaux.java similarity index 81% rename from src/Cases/PointsCardinaux.java rename to src/Cases/utils/PointsCardinaux.java index a717876..81377a9 100644 --- a/src/Cases/PointsCardinaux.java +++ b/src/Cases/utils/PointsCardinaux.java @@ -1,4 +1,4 @@ -package Cases; +package Cases.utils; public enum PointsCardinaux { N, diff --git a/src/Cases/RandomPointCardinal.java b/src/Cases/utils/RandomPointCardinal.java similarity index 94% rename from src/Cases/RandomPointCardinal.java rename to src/Cases/utils/RandomPointCardinal.java index 99ee60d..3b519b0 100644 --- a/src/Cases/RandomPointCardinal.java +++ b/src/Cases/utils/RandomPointCardinal.java @@ -1,4 +1,4 @@ -package Cases; +package Cases.utils; import java.util.Random; diff --git a/src/Composition/EquipeDeFoot.java b/src/Composition/EquipeDeFoot.java new file mode 100644 index 0000000..bca4df4 --- /dev/null +++ b/src/Composition/EquipeDeFoot.java @@ -0,0 +1,21 @@ +package Composition; + +import Person.Personnage; + +import java.util.ArrayList; + +public class EquipeDeFoot extends GroupeAbstrait { + + public String nom; + + public EquipeDeFoot(ArrayList list) { + super(list); + this.nom = "Equipe"; + } + + public EquipeDeFoot(ArrayList list, String nom) { + super(list); + this.nom = nom; + + } +} diff --git a/src/Composition/GroupeAbstrait.java b/src/Composition/GroupeAbstrait.java index 9fba994..82e46dc 100644 --- a/src/Composition/GroupeAbstrait.java +++ b/src/Composition/GroupeAbstrait.java @@ -1,11 +1,21 @@ package Composition; +import Person.Personnage; + import java.util.ArrayList; public class GroupeAbstrait extends PersonnagesAbstraits { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); - public GroupeAbstrait(ArrayList list) { + public GroupeAbstrait(ArrayList list) { + this.list = list; + } + + public ArrayList getList() { + return list; + } + + public void setList(ArrayList list) { this.list = list; } } diff --git a/src/Fabriques/Personnages/FabriquePersonnagesBattleSnow.java b/src/Fabriques/Personnages/FabriquePersonnagesBattleSnow.java index 0719921..0c38614 100644 --- a/src/Fabriques/Personnages/FabriquePersonnagesBattleSnow.java +++ b/src/Fabriques/Personnages/FabriquePersonnagesBattleSnow.java @@ -1,15 +1,31 @@ package Fabriques.Personnages; import Cases.CaseAbstraite; +import Comportements.ComportementAction; +import Comportements.ComportementActionTirerBouleDeNeige; import Observateur.Organisation; import Person.Personnage; +import Person.PersonnageBattleSnow; import java.util.ArrayList; public class FabriquePersonnagesBattleSnow extends FabriquePersonnagesAbstraite { + protected ComportementAction parDefaut = new ComportementActionTirerBouleDeNeige(); @Override public ArrayList CreerPersonages(Organisation o, CaseAbstraite[][] plateau) { - return null; + ArrayList list = new ArrayList(); + + PersonnageBattleSnow p1 = new PersonnageBattleSnow("Bob", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p1); + PersonnageBattleSnow p2 = new PersonnageBattleSnow("Jo", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p2); + PersonnageBattleSnow p3 = new PersonnageBattleSnow("Max", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p3); + PersonnageBattleSnow p4 = new PersonnageBattleSnow("Zac", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p4); + + this.placement(list, plateau); + return list; } } diff --git a/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java b/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java index d3d5e08..5139aa0 100644 --- a/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java +++ b/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java @@ -18,12 +18,12 @@ public class FabriquePersonnagesBattleZone extends FabriquePersonnagesAbstraite PersonnageBattleZone p1 = new PersonnageBattleZone("Bob", 100.0, 1.0, 1.0, 2, parDefaut); list.add(p1); - //PersonnageBattleZone p2 = new PersonnageBattleZone("Jo", 100.0, 1.0, 1.0, 2, parDefaut); - //list.add(p2); - //PersonnageBattleZone p3 = new PersonnageBattleZone("Max", 100.0, 1.0, 1.0, 2, parDefaut); - //list.add(p3); - //PersonnageBattleZone p4 = new PersonnageBattleZone("Zac", 100.0, 1.0, 1.0, 2, parDefaut); - //list.add(p4); + PersonnageBattleZone p2 = new PersonnageBattleZone("Jo", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p2); + PersonnageBattleZone p3 = new PersonnageBattleZone("Max", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p3); + PersonnageBattleZone p4 = new PersonnageBattleZone("Zac", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p4); this.placement(list, plateau); return list; diff --git a/src/Fabriques/Personnages/FabriquePersonnagesFootball.java b/src/Fabriques/Personnages/FabriquePersonnagesFootball.java index 4acceaa..35d97a4 100644 --- a/src/Fabriques/Personnages/FabriquePersonnagesFootball.java +++ b/src/Fabriques/Personnages/FabriquePersonnagesFootball.java @@ -3,8 +3,11 @@ package Fabriques.Personnages; import Cases.CaseAbstraite; import Comportements.ComportementAction; import Comportements.ComportementActionTirerBalon; +import Composition.EquipeDeFoot; +import Composition.PersonnagesAbstraits; import Observateur.Organisation; import Person.Personnage; +import Person.PersonnageFootball; import java.util.ArrayList; @@ -13,27 +16,32 @@ public class FabriquePersonnagesFootball extends FabriquePersonnagesAbstraite { @Override public ArrayList CreerPersonages(Organisation o, CaseAbstraite[][] plateau) { + ArrayList list = new ArrayList(); - // TODO: Add players to team 1 + PersonnageFootball p1 = new PersonnageFootball("Bob", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p1); + PersonnageFootball p2 = new PersonnageFootball("Jo", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p2); + PersonnageFootball p3 = new PersonnageFootball("Max", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p3); + PersonnageFootball p4 = new PersonnageFootball("Zac", 100.0, 1.0, 1.0, 2, parDefaut); + list.add(p4); + ArrayList l1 = (ArrayList) list.subList(0, 2); + ArrayList l2 = (ArrayList) list.subList(2, 4); + EquipeDeFoot e1 = new EquipeDeFoot(l1, "E1"); + EquipeDeFoot e2 = new EquipeDeFoot(l2, "E2"); - // TODO: Add team 2 - - // TODO: Add players to team 2 - - /* - Princesse p = new Princesse("Fiona"); - Chevalier z = new Chevalier(o, "Zodiac"); - Fantasssin f = new Fantasssin(o, "Fantastic"); + for (PersonnagesAbstraits p : e1.getList()) { + PersonnageFootball pf = (PersonnageFootball) p; + pf.setEquipe(e1); + } - ArrayList liste = new ArrayList(); - liste.add(p); - liste.add(z); - liste.add(f); - return liste; - */ - - // TODO: Return two teams containg all players - return null; + for (PersonnagesAbstraits p : e2.getList()) { + PersonnageFootball pf = (PersonnageFootball) p; + pf.setEquipe(e2); + } + + return list; } } diff --git a/src/Fabriques/Plateau/FabriquePlateauBattleSnow.java b/src/Fabriques/Plateau/FabriquePlateauBattleSnow.java index 7ff35ce..0fb05b9 100644 --- a/src/Fabriques/Plateau/FabriquePlateauBattleSnow.java +++ b/src/Fabriques/Plateau/FabriquePlateauBattleSnow.java @@ -1,13 +1,25 @@ package Fabriques.Plateau; import Cases.CaseAbstraite; +import Cases.CaseNeige; +import utils.Constants; public class FabriquePlateauBattleSnow extends FabriquePlateauAbstraite { @Override public CaseAbstraite[][] CreerPlateau() { - // TODO Auto-generated method stub - return null; + CaseAbstraite[][] plateau = new CaseAbstraite[Constants.TABLE_WIDTH][Constants.TABLE_HEIGHT]; + for (int ligne = 0; ligne < 10; ligne++) { + for (int col = 0; col < 10; col++) { + plateau[ligne][col] = new CaseNeige(col, ligne); + } + } + for (CaseAbstraite[] tabC : plateau) { + for (CaseAbstraite c : tabC) { + c.generateVoisins(plateau); + } + } + return plateau; } } diff --git a/src/Fabriques/Plateau/FabriquePlateauFootball.java b/src/Fabriques/Plateau/FabriquePlateauFootball.java index 1821dd5..df666b1 100644 --- a/src/Fabriques/Plateau/FabriquePlateauFootball.java +++ b/src/Fabriques/Plateau/FabriquePlateauFootball.java @@ -1,13 +1,25 @@ package Fabriques.Plateau; import Cases.CaseAbstraite; +import Cases.CasePelouse; +import utils.Constants; public class FabriquePlateauFootball extends FabriquePlateauAbstraite { @Override public CaseAbstraite[][] CreerPlateau() { - // TODO Auto-generated method stub - return null; + CaseAbstraite[][] plateau = new CaseAbstraite[Constants.TABLE_WIDTH][Constants.TABLE_HEIGHT]; + for (int ligne = 0; ligne < 10; ligne++) { + for (int col = 0; col < 10; col++) { + plateau[ligne][col] = new CasePelouse(col, ligne); + } + } + for (CaseAbstraite[] tabC : plateau) { + for (CaseAbstraite c : tabC) { + c.generateVoisins(plateau); + } + } + return plateau; } } diff --git a/src/Fabriques/Scenario/FabriqueScenarioFootball.java b/src/Fabriques/Scenario/FabriqueScenarioFootball.java new file mode 100644 index 0000000..312e028 --- /dev/null +++ b/src/Fabriques/Scenario/FabriqueScenarioFootball.java @@ -0,0 +1,17 @@ +package Fabriques.Scenario; + +import Cases.CaseAbstraite; +import Fabriques.Objets.FabriqueObjetFootball; +import Fabriques.Personnages.FabriquePersonnagesFootball; +import Fabriques.Plateau.FabriquePlateauFootball; + +public class FabriqueScenarioFootball extends FabriqueScenarioAbstraite { + public FabriqueScenarioFootball(FabriquePlateauFootball pl, FabriquePersonnagesFootball pr, FabriqueObjetFootball fObjs) { + super(pl, pr, fObjs); + } + + @Override + public void tourParTour(CaseAbstraite[][] plateau) { + + } +} diff --git a/src/Person/Personnage.java b/src/Person/Personnage.java index 1024fb3..bdb1260 100644 --- a/src/Person/Personnage.java +++ b/src/Person/Personnage.java @@ -1,7 +1,7 @@ package Person; import Cases.CaseAbstraite; -import Cases.PointsCardinaux; +import Cases.utils.PointsCardinaux; import Comportements.*; import Composition.PersonnagesAbstraits; import Etats.EEtat; diff --git a/src/Person/PersonnageBattleGoal.java b/src/Person/PersonnageBattleGoal.java deleted file mode 100644 index 628c482..0000000 --- a/src/Person/PersonnageBattleGoal.java +++ /dev/null @@ -1,12 +0,0 @@ -package Person; - -import Comportements.ComportementAction; - -public class PersonnageBattleGoal extends Personnage { - - protected PersonnageBattleGoal(String name, double lifePoint, double strength, double speed, int portee, ComportementAction parDefaut) { - super(name, lifePoint, strength, speed, portee, parDefaut); - // TODO Auto-generated constructor stub - } - -} diff --git a/src/Person/PersonnageBattleSnow.java b/src/Person/PersonnageBattleSnow.java index ebb6808..95e8f6b 100644 --- a/src/Person/PersonnageBattleSnow.java +++ b/src/Person/PersonnageBattleSnow.java @@ -4,7 +4,7 @@ import Comportements.ComportementAction; public class PersonnageBattleSnow extends Personnage{ - protected PersonnageBattleSnow(String name, double lifePoint, double strength, double speed, int portee, ComportementAction parDefaut) { + public PersonnageBattleSnow(String name, double lifePoint, double strength, double speed, int portee, ComportementAction parDefaut) { super(name, lifePoint, strength, speed, portee, parDefaut); // TODO Auto-generated constructor stub } diff --git a/src/Person/PersonnageFootball.java b/src/Person/PersonnageFootball.java new file mode 100644 index 0000000..8f2bfe2 --- /dev/null +++ b/src/Person/PersonnageFootball.java @@ -0,0 +1,25 @@ +package Person; + +import Comportements.ComportementAction; +import Composition.EquipeDeFoot; +import Composition.GroupeAbstrait; + +public class PersonnageFootball extends Personnage { + + public EquipeDeFoot equipe; + + public PersonnageFootball(String name, double lifePoint, double strength, double speed, int portee, ComportementAction parDefaut) { + super(name, lifePoint, strength, speed, portee, parDefaut); + // TODO Auto-generated constructor stub + } + + + public GroupeAbstrait getEquipe() { + return equipe; + } + + public void setEquipe(EquipeDeFoot equipe) { + this.equipe = equipe; + } + +}