From 09fb1e7aa4f2b568d01fb396ccb7aa19a2e812c9 Mon Sep 17 00:00:00 2001 From: aminecmi Date: Sun, 8 Feb 2015 08:58:41 +0100 Subject: [PATCH] Toto --- .../ComportementActionTirerBalon.java | 35 ++++++++++++++++++ .../ComportementActionTirerBouleDeNeige.java | 32 ++++++++++++++++ src/Person/PersonnageBattleSnow.java | 4 ++ src/Person/PersonnageFootball.java | 7 ++++ src/SimulationJeu.java | 37 ------------------- 5 files changed, 78 insertions(+), 37 deletions(-) diff --git a/src/Comportements/ComportementActionTirerBalon.java b/src/Comportements/ComportementActionTirerBalon.java index 527c343..d457cad 100644 --- a/src/Comportements/ComportementActionTirerBalon.java +++ b/src/Comportements/ComportementActionTirerBalon.java @@ -2,15 +2,50 @@ package Comportements; import Cases.CaseAbstraite; import Objets.ObjetAbstrait; +import Objets.ObjetBallon; import Person.Personnage; +import Person.PersonnageFootball; import utils.Tuple; import java.util.ArrayList; +import java.util.Random; public class ComportementActionTirerBalon implements ComportementAction { @Override public void executerAction(Personnage joueur, Tuple, ArrayList, ArrayList> t) { + ArrayList cases = (ArrayList) t.c.clone(); + ArrayList persos = (ArrayList) t.p.clone(); + PersonnageFootball j = (PersonnageFootball) joueur; + + for (PersonnageFootball personnage : persos) { + if (j.getEquipe() != personnage.getEquipe()) { + cases.remove(personnage.getCaseCourante()); + } + } + + CaseAbstraite dest = null; + for (CaseAbstraite c : cases) { + if (c.getObjetOccupant() != null) { + dest = c; + } + } + + if (dest == null || j.getCaseCourante().getObjetOccupant() != null) { + int size = cases.size(); + int item = new Random().nextInt(size); + dest = cases.get(item); + } + if (j.getCaseCourante().getObjetOccupant() != null) { + j.lancerBallon((ObjetBallon) dest.getObjetOccupant(), cases); + } + joueur.getCaseCourante().setOccupant(null); + joueur.setCaseCourante(dest); + dest.setOccupant(joueur); + + if (j.getCaseCourante().getObjetOccupant() != null) { + j.lancerBallon((ObjetBallon) dest.getObjetOccupant(), cases); + } } } diff --git a/src/Comportements/ComportementActionTirerBouleDeNeige.java b/src/Comportements/ComportementActionTirerBouleDeNeige.java index 143e43d..07cf599 100644 --- a/src/Comportements/ComportementActionTirerBouleDeNeige.java +++ b/src/Comportements/ComportementActionTirerBouleDeNeige.java @@ -3,14 +3,46 @@ package Comportements; import Cases.CaseAbstraite; import Objets.ObjetAbstrait; import Person.Personnage; +import Person.PersonnageBattleSnow; import utils.Tuple; import java.util.ArrayList; +import java.util.Random; public class ComportementActionTirerBouleDeNeige implements ComportementAction { @Override public void executerAction(Personnage joueur, Tuple, ArrayList, ArrayList> t) { + ArrayList cases = (ArrayList) t.c.clone(); + ArrayList persos = (ArrayList) t.p.clone(); + boolean attack = false; + PersonnageBattleSnow cible = null; + PersonnageBattleSnow j = (PersonnageBattleSnow) joueur; + + CaseAbstraite dest; + if (!persos.isEmpty()) { + int size = persos.size(); + int item = new Random().nextInt(size); + cible = persos.get(item); + ArrayList voisins = (ArrayList) cible.getVoisins().values(); + dest = voisins.get(new Random().nextInt(voisins.size())); + attack = true; + } else { + int size = cases.size(); + int item = new Random().nextInt(size); + dest = cases.get(item); + } + + + joueur.getCaseCourante().setOccupant(null); + joueur.setCaseCourante(dest); + dest.setOccupant(joueur); + + if (attack) { + j.attack(cible); + } + + } } diff --git a/src/Person/PersonnageBattleSnow.java b/src/Person/PersonnageBattleSnow.java index 95e8f6b..ca9b998 100644 --- a/src/Person/PersonnageBattleSnow.java +++ b/src/Person/PersonnageBattleSnow.java @@ -9,4 +9,8 @@ public class PersonnageBattleSnow extends Personnage{ // TODO Auto-generated constructor stub } + public void attack(PersonnageBattleSnow cible) { + + + } } diff --git a/src/Person/PersonnageFootball.java b/src/Person/PersonnageFootball.java index 8f2bfe2..b6d01ee 100644 --- a/src/Person/PersonnageFootball.java +++ b/src/Person/PersonnageFootball.java @@ -1,8 +1,12 @@ package Person; +import Cases.CaseAbstraite; import Comportements.ComportementAction; import Composition.EquipeDeFoot; import Composition.GroupeAbstrait; +import Objets.ObjetBallon; + +import java.util.ArrayList; public class PersonnageFootball extends Personnage { @@ -22,4 +26,7 @@ public class PersonnageFootball extends Personnage { this.equipe = equipe; } + public void lancerBallon(ObjetBallon objetOccupant, ArrayList cases) { + + } } diff --git a/src/SimulationJeu.java b/src/SimulationJeu.java index 9e8754a..5e49759 100644 --- a/src/SimulationJeu.java +++ b/src/SimulationJeu.java @@ -62,41 +62,4 @@ public class SimulationJeu { } } - - // Todo Save - private void enregistrerSimulation(String NomFichier) { - // Todo - - - //Nous allons commencer notre arborescence en cr�ant la racine XML - //qui sera ici "personnes". - // static Element racine = new Element("personnes"); - - //On cr�e un nouveau Document JDOM bas� sur la racine que l'on vient de cr�er - // static org.jdom.Document document = new Document(racine); - - //On cr�e un nouvel Element etudiant et on l'ajoute - //en tant qu'Element de racine - // Element etudiant = new Element("etudiant"); - //racine.addContent(etudiant); - - //On cr�e un nouvel Attribut classe et on l'ajoute � etudiant - //gr�ce � la m�thode setAttribute - // Attribute classe = new Attribute("classe","P2"); - // etudiant.setAttribute(classe); - - //On cr�e un nouvel Element nom, on lui assigne du texte - //et on l'ajoute en tant qu'Element de etudiant - //Element nom = new Element("nom"); - // nom.setText("CynO"); - // etudiant.addContent(nom); - - } - - // Todo import - private void ChargerSimulation(String NomFichier) { - // Todo - - } - }