Toto
This commit is contained in:
parent
6a840fc934
commit
09fb1e7aa4
@ -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<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 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<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
|
||||
}
|
||||
|
||||
public void attack(PersonnageBattleSnow cible) {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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<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