This commit is contained in:
aminecmi 2015-02-08 08:58:41 +01:00
parent 6a840fc934
commit 09fb1e7aa4
5 changed files with 78 additions and 37 deletions

View File

@ -2,15 +2,50 @@ package Comportements;
import Cases.CaseAbstraite; import Cases.CaseAbstraite;
import Objets.ObjetAbstrait; import Objets.ObjetAbstrait;
import Objets.ObjetBallon;
import Person.Personnage; import Person.Personnage;
import Person.PersonnageFootball;
import utils.Tuple; import utils.Tuple;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Random;
public class ComportementActionTirerBalon implements ComportementAction { public class ComportementActionTirerBalon implements ComportementAction {
@Override @Override
public void executerAction(Personnage joueur, Tuple<ArrayList<Personnage>, ArrayList<ObjetAbstrait>, ArrayList<CaseAbstraite>> t) { public void executerAction(Personnage joueur, Tuple<ArrayList<Personnage>, ArrayList<ObjetAbstrait>, ArrayList<CaseAbstraite>> t) {
ArrayList<CaseAbstraite> cases = (ArrayList<CaseAbstraite>) t.c.clone();
ArrayList<PersonnageFootball> persos = (ArrayList<PersonnageFootball>) 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);
}
} }
} }

View File

@ -3,14 +3,46 @@ package Comportements;
import Cases.CaseAbstraite; import Cases.CaseAbstraite;
import Objets.ObjetAbstrait; import Objets.ObjetAbstrait;
import Person.Personnage; import Person.Personnage;
import Person.PersonnageBattleSnow;
import utils.Tuple; import utils.Tuple;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Random;
public class ComportementActionTirerBouleDeNeige implements ComportementAction { public class ComportementActionTirerBouleDeNeige implements ComportementAction {
@Override @Override
public void executerAction(Personnage joueur, Tuple<ArrayList<Personnage>, ArrayList<ObjetAbstrait>, ArrayList<CaseAbstraite>> t) { public void executerAction(Personnage joueur, Tuple<ArrayList<Personnage>, ArrayList<ObjetAbstrait>, ArrayList<CaseAbstraite>> t) {
ArrayList<CaseAbstraite> cases = (ArrayList<CaseAbstraite>) t.c.clone();
ArrayList<PersonnageBattleSnow> persos = (ArrayList<PersonnageBattleSnow>) 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<CaseAbstraite> voisins = (ArrayList<CaseAbstraite>) 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);
}
} }
} }

View File

@ -9,4 +9,8 @@ public class PersonnageBattleSnow extends Personnage{
// TODO Auto-generated constructor stub // TODO Auto-generated constructor stub
} }
public void attack(PersonnageBattleSnow cible) {
}
} }

View File

@ -1,8 +1,12 @@
package Person; package Person;
import Cases.CaseAbstraite;
import Comportements.ComportementAction; import Comportements.ComportementAction;
import Composition.EquipeDeFoot; import Composition.EquipeDeFoot;
import Composition.GroupeAbstrait; import Composition.GroupeAbstrait;
import Objets.ObjetBallon;
import java.util.ArrayList;
public class PersonnageFootball extends Personnage { public class PersonnageFootball extends Personnage {
@ -22,4 +26,7 @@ public class PersonnageFootball extends Personnage {
this.equipe = equipe; this.equipe = equipe;
} }
public void lancerBallon(ObjetBallon objetOccupant, ArrayList<CaseAbstraite> cases) {
}
} }

View File

@ -62,41 +62,4 @@ public class SimulationJeu {
} }
} }
// Todo Save
private void enregistrerSimulation(String NomFichier) {
// Todo
//Nous allons commencer notre arborescence en cr<EFBFBD>ant la racine XML
//qui sera ici "personnes".
// static Element racine = new Element("personnes");
//On cr<EFBFBD>e un nouveau Document JDOM bas<EFBFBD> sur la racine que l'on vient de cr<EFBFBD>er
// static org.jdom.Document document = new Document(racine);
//On cr<EFBFBD>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<EFBFBD>e un nouvel Attribut classe et on l'ajoute <EFBFBD> etudiant
//gr<EFBFBD>ce <EFBFBD> la m<EFBFBD>thode setAttribute
// Attribute classe = new Attribute("classe","P2");
// etudiant.setAttribute(classe);
//On cr<EFBFBD>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
}
} }