Le fameux ballon.
This commit is contained in:
parent
4a0c2e69db
commit
8e024db46c
@ -38,7 +38,7 @@ public class ComportementActionTirerBalon implements ComportementAction {
|
|||||||
dest = cases.get(item);
|
dest = cases.get(item);
|
||||||
}
|
}
|
||||||
if (j.getCaseCourante().getObjetOccupant() != null) {
|
if (j.getCaseCourante().getObjetOccupant() != null) {
|
||||||
j.lancerBallon((ObjetBallon) dest.getObjetOccupant(), cases);
|
j.lancerBallon((ObjetBallon) j.getCaseCourante().getObjetOccupant(), cases);
|
||||||
}
|
}
|
||||||
joueur.getCaseCourante().setOccupant(null);
|
joueur.getCaseCourante().setOccupant(null);
|
||||||
joueur.setCaseCourante(dest);
|
joueur.setCaseCourante(dest);
|
||||||
|
@ -4,7 +4,18 @@ import Cases.CaseAbstraite;
|
|||||||
import Objets.ObjetAbstrait;
|
import Objets.ObjetAbstrait;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
abstract public class FabriqueObjetAbstraite {
|
abstract public class FabriqueObjetAbstraite {
|
||||||
public abstract ArrayList<ObjetAbstrait> creerObjets(CaseAbstraite[][] plateau);
|
public abstract ArrayList<ObjetAbstrait> creerObjets(CaseAbstraite[][] plateau);
|
||||||
|
|
||||||
|
void placement(ArrayList<ObjetAbstrait> objets, CaseAbstraite[][] plateau) {
|
||||||
|
Random rand = new Random();
|
||||||
|
for (ObjetAbstrait o : objets) {
|
||||||
|
int x = rand.nextInt(plateau.length);
|
||||||
|
int y = rand.nextInt(plateau[x].length);
|
||||||
|
o.setCaseCourante(plateau[x][y]);
|
||||||
|
plateau[x][y].setObjetOccupant(o);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ public class FabriqueObjetFootball extends FabriqueObjetAbstraite {
|
|||||||
public ArrayList<ObjetAbstrait> creerObjets(CaseAbstraite[][] plateau) {
|
public ArrayList<ObjetAbstrait> creerObjets(CaseAbstraite[][] plateau) {
|
||||||
ArrayList<ObjetAbstrait> objs = new ArrayList<ObjetAbstrait>();
|
ArrayList<ObjetAbstrait> objs = new ArrayList<ObjetAbstrait>();
|
||||||
objs.add(new ObjetBallon());
|
objs.add(new ObjetBallon());
|
||||||
|
this.placement(objs, plateau);
|
||||||
return objs;
|
return objs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,6 @@ package Objets;
|
|||||||
|
|
||||||
public class ObjetBallon extends ObjetAbstrait {
|
public class ObjetBallon extends ObjetAbstrait {
|
||||||
public ObjetBallon() {
|
public ObjetBallon() {
|
||||||
super("Ballon", 0, 0, 0.5);
|
super("*", 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,27 @@
|
|||||||
package Observateur;
|
package Observateur;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
public class Arbitre extends SujetObserveAbstrait {
|
public class Arbitre extends SujetObserveAbstrait {
|
||||||
|
|
||||||
private int iter = 10;
|
private int max = 10;
|
||||||
|
private int tour = 1;
|
||||||
|
|
||||||
|
public Arbitre() {
|
||||||
|
max = new Random().nextInt(10) + 10;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update() {
|
public boolean update() {
|
||||||
iter--;
|
System.out.println("----------------- TOUR NUMERO " + tour + " ------------------");
|
||||||
if (iter == 0) {
|
tour++;
|
||||||
|
if (tour == max) {
|
||||||
System.out.println("STOP!");
|
System.out.println("STOP!");
|
||||||
for (ObservateurAbstrait o : liste) {
|
for (ObservateurAbstrait o : liste) {
|
||||||
o.update();
|
o.update();
|
||||||
}
|
}
|
||||||
iter = 10;
|
return false;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,5 +19,5 @@ public abstract class SujetObserveAbstrait {
|
|||||||
liste.remove(observateurAbstrait);
|
liste.remove(observateurAbstrait);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void update();
|
public abstract boolean update();
|
||||||
}
|
}
|
||||||
|
@ -247,7 +247,8 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Personnage{" +
|
return nom + " case " + caseCourante.toString() + " pv " + pointsDeVie;
|
||||||
|
/*return "Personnage{" +
|
||||||
"caseCourante=" + caseCourante +
|
"caseCourante=" + caseCourante +
|
||||||
", objet=" + objet +
|
", objet=" + objet +
|
||||||
", nom='" + nom + '\'' +
|
", nom='" + nom + '\'' +
|
||||||
@ -261,6 +262,6 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
", voisinsActuels=" + voisinsActuels +
|
", voisinsActuels=" + voisinsActuels +
|
||||||
", etatCourant=" + etatCourant +
|
", etatCourant=" + etatCourant +
|
||||||
", voisins=" + voisins +
|
", voisins=" + voisins +
|
||||||
'}';
|
'}';*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,11 @@ public class PersonnageFootball extends Personnage {
|
|||||||
int item = new Random().nextInt(size);
|
int item = new Random().nextInt(size);
|
||||||
CaseAbstraite dest = cases.get(item);
|
CaseAbstraite dest = cases.get(item);
|
||||||
|
|
||||||
|
CaseAbstraite old = objetOccupant.getCaseCourante();
|
||||||
|
|
||||||
objetOccupant.setCaseCourante(dest);
|
objetOccupant.setCaseCourante(dest);
|
||||||
dest.setObjetOccupant(objetOccupant);
|
dest.setObjetOccupant(objetOccupant);
|
||||||
|
|
||||||
|
old.setObjetOccupant(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import Cases.CaseAbstraite;
|
import Cases.CaseAbstraite;
|
||||||
import Fabriques.Scenario.FabriqueScenarioAbstraite;
|
import Fabriques.Scenario.FabriqueScenarioAbstraite;
|
||||||
|
import Objets.ObjetAbstrait;
|
||||||
import Observateur.Arbitre;
|
import Observateur.Arbitre;
|
||||||
import Person.Personnage;
|
import Person.Personnage;
|
||||||
import utils.InterfaceConsole;
|
import utils.InterfaceConsole;
|
||||||
@ -22,7 +23,7 @@ class SimulationJeu {
|
|||||||
|
|
||||||
personnages = f.CreerPersonnages(plateau);
|
personnages = f.CreerPersonnages(plateau);
|
||||||
|
|
||||||
f.creerObjets(plateau);
|
ArrayList<ObjetAbstrait> objs = f.creerObjets(plateau);
|
||||||
|
|
||||||
intefaceC = new InterfaceConsole(plateau);
|
intefaceC = new InterfaceConsole(plateau);
|
||||||
|
|
||||||
@ -48,10 +49,10 @@ class SimulationJeu {
|
|||||||
boolean continuer = true;
|
boolean continuer = true;
|
||||||
afficheTous();
|
afficheTous();
|
||||||
while (continuer) {
|
while (continuer) {
|
||||||
a.update();
|
continuer = a.update();
|
||||||
|
recupererInformations();
|
||||||
for (Personnage p : personnages) {
|
for (Personnage p : personnages) {
|
||||||
p.Execution(p.AnalyseSituation());
|
p.Execution(p.AnalyseSituation());
|
||||||
recupererInformations();
|
|
||||||
}
|
}
|
||||||
f.tourParTour(plateau);
|
f.tourParTour(plateau);
|
||||||
afficheTous();
|
afficheTous();
|
||||||
|
Loading…
Reference in New Issue
Block a user