Toto
This commit is contained in:
parent
6a840fc934
commit
09fb1e7aa4
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,4 +9,8 @@ public class PersonnageBattleSnow extends Personnage{
|
|||||||
// TODO Auto-generated constructor stub
|
// TODO Auto-generated constructor stub
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void attack(PersonnageBattleSnow cible) {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -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) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user