Tutu
This commit is contained in:
parent
ecd5504100
commit
6de383d5f0
@ -9,15 +9,15 @@ import java.util.HashMap;
|
|||||||
|
|
||||||
public abstract class CaseAbstraite {
|
public abstract class CaseAbstraite {
|
||||||
|
|
||||||
protected Personnage occupant;
|
private Personnage occupant;
|
||||||
protected ObjetAbstrait objetOccupant;
|
private ObjetAbstrait objetOccupant;
|
||||||
|
|
||||||
|
|
||||||
HashMap<PointsCardinaux, CaseAbstraite> voisins;
|
private HashMap<PointsCardinaux, CaseAbstraite> voisins;
|
||||||
|
|
||||||
Coordonnees coord;
|
private Coordonnees coord;
|
||||||
|
|
||||||
public CaseAbstraite(int vert, int hor) {
|
CaseAbstraite(int vert, int hor) {
|
||||||
coord = new Coordonnees(vert, hor);
|
coord = new Coordonnees(vert, hor);
|
||||||
|
|
||||||
voisins = new HashMap<PointsCardinaux, CaseAbstraite>();
|
voisins = new HashMap<PointsCardinaux, CaseAbstraite>();
|
||||||
@ -52,17 +52,9 @@ public abstract class CaseAbstraite {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ajouterVoisin(PointsCardinaux p, CaseAbstraite c) {
|
|
||||||
voisins.put(p, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ajouterOccupant(Personnage occ) {
|
public void ajouterOccupant(Personnage occ) {
|
||||||
this.occupant = occ;
|
this.occupant = occ;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ajouterObjet(ObjetAbstrait objet) {
|
|
||||||
this.objetOccupant = objet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Personnage getOccupant() {
|
public Personnage getOccupant() {
|
||||||
return occupant;
|
return occupant;
|
||||||
@ -84,19 +76,7 @@ public abstract class CaseAbstraite {
|
|||||||
return voisins;
|
return voisins;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setVoisins(HashMap<PointsCardinaux, CaseAbstraite> voisins) {
|
|
||||||
this.voisins = voisins;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String affichageSpecial() {
|
public String affichageSpecial() {
|
||||||
return " ";
|
return " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
public Coordonnees getCoord() {
|
|
||||||
return coord;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCoord(Coordonnees coord) {
|
|
||||||
this.coord = coord;
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -3,7 +3,7 @@ package Cases;
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
public class CaseColore extends CaseAbstraite {
|
public class CaseColore extends CaseAbstraite {
|
||||||
Color couleur;
|
private Color couleur;
|
||||||
|
|
||||||
public CaseColore(int vert, int hor) {
|
public CaseColore(int vert, int hor) {
|
||||||
super(vert, hor);
|
super(vert, hor);
|
||||||
|
@ -13,18 +13,10 @@ public class Coordonnees {
|
|||||||
return ligne;
|
return ligne;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLigne(int ligne) {
|
|
||||||
this.ligne = ligne;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getCol() {
|
public int getCol() {
|
||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCol(int col) {
|
|
||||||
this.col = col;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "col " + getCol() + " ligne " + getLigne();
|
return "col " + getCol() + " ligne " + getLigne();
|
||||||
|
@ -2,7 +2,7 @@ package Cases.utils;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class RandomPointCardinal<E extends Enum> {
|
class RandomPointCardinal<E extends Enum> {
|
||||||
|
|
||||||
private static final Random RND = new Random();
|
private static final Random RND = new Random();
|
||||||
private final E[] values;
|
private final E[] values;
|
||||||
|
@ -9,7 +9,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class ComportementActionSeDeplacer implements ComportementAction {
|
public class ComportementActionSeDeplacer implements ComportementAction {
|
||||||
CaseAbstraite destination;
|
private CaseAbstraite destination;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executerAction(Personnage perso, Tuple<ArrayList<Personnage>, ArrayList<ObjetAbstrait>, ArrayList<CaseAbstraite>> t) {
|
public void executerAction(Personnage perso, Tuple<ArrayList<Personnage>, ArrayList<ObjetAbstrait>, ArrayList<CaseAbstraite>> t) {
|
||||||
@ -27,7 +27,9 @@ public class ComportementActionSeDeplacer implements ComportementAction {
|
|||||||
} else {
|
} else {
|
||||||
recupererObjets(objs, perso);
|
recupererObjets(objs, perso);
|
||||||
}
|
}
|
||||||
destination.setOccupant(perso);
|
if (destination != null) {
|
||||||
|
destination.setOccupant(perso);
|
||||||
|
}
|
||||||
perso.setCaseCourante(destination);
|
perso.setCaseCourante(destination);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import java.util.ArrayList;
|
|||||||
|
|
||||||
public class EquipeDeFoot extends GroupeAbstrait {
|
public class EquipeDeFoot extends GroupeAbstrait {
|
||||||
|
|
||||||
public String nom;
|
private final String nom;
|
||||||
|
|
||||||
public EquipeDeFoot(ArrayList<Personnage> list) {
|
public EquipeDeFoot(ArrayList<Personnage> list) {
|
||||||
super(list);
|
super(list);
|
||||||
|
@ -5,9 +5,9 @@ import Person.Personnage;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class GroupeAbstrait extends PersonnagesAbstraits {
|
public class GroupeAbstrait extends PersonnagesAbstraits {
|
||||||
ArrayList<Personnage> list = new ArrayList<Personnage>();
|
private ArrayList<Personnage> list = new ArrayList<Personnage>();
|
||||||
|
|
||||||
public GroupeAbstrait(ArrayList<Personnage> list) {
|
GroupeAbstrait(ArrayList<Personnage> list) {
|
||||||
this.list = list;
|
this.list = list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,11 +3,11 @@ package Etats;
|
|||||||
import Person.Personnage;
|
import Person.Personnage;
|
||||||
|
|
||||||
public abstract class EtatPersonnageAbstrait {
|
public abstract class EtatPersonnageAbstrait {
|
||||||
|
|
||||||
protected Personnage joueur;
|
|
||||||
|
|
||||||
protected EtatPersonnageAbstrait(Personnage perso){
|
final Personnage joueur;
|
||||||
this.joueur = perso;
|
|
||||||
|
EtatPersonnageAbstrait(Personnage perso) {
|
||||||
|
this.joueur = perso;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract void execute();
|
protected abstract void execute();
|
||||||
|
@ -3,8 +3,6 @@ package Etats;
|
|||||||
import Person.Personnage;
|
import Person.Personnage;
|
||||||
|
|
||||||
public class EtatPersonnageKO extends EtatPersonnageAbstrait {
|
public class EtatPersonnageKO extends EtatPersonnageAbstrait {
|
||||||
|
|
||||||
private int nbTourKO;
|
|
||||||
|
|
||||||
public EtatPersonnageKO(Personnage perso) {
|
public EtatPersonnageKO(Personnage perso) {
|
||||||
super(perso);
|
super(perso);
|
||||||
|
@ -9,7 +9,7 @@ import java.util.Random;
|
|||||||
abstract public class FabriquePersonnagesAbstraite {
|
abstract public class FabriquePersonnagesAbstraite {
|
||||||
public abstract ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau);
|
public abstract ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau);
|
||||||
|
|
||||||
protected void placement(ArrayList<Personnage> personnages, CaseAbstraite[][] plateau) {
|
void placement(ArrayList<Personnage> personnages, CaseAbstraite[][] plateau) {
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
for (Personnage p : personnages) {
|
for (Personnage p : personnages) {
|
||||||
int x = rand.nextInt(plateau.length);
|
int x = rand.nextInt(plateau.length);
|
||||||
|
@ -10,8 +10,8 @@ import Person.PersonnageBattleSnow;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class FabriquePersonnagesBattleSnow extends FabriquePersonnagesAbstraite {
|
public class FabriquePersonnagesBattleSnow extends FabriquePersonnagesAbstraite {
|
||||||
|
private final ComportementAction parDefaut = new ComportementActionTirerBouleDeNeige();
|
||||||
public Arbitre a;
|
public Arbitre a;
|
||||||
protected ComportementAction parDefaut = new ComportementActionTirerBouleDeNeige();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
||||||
|
@ -9,7 +9,7 @@ import Person.PersonnageBattleZone;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class FabriquePersonnagesBattleZone extends FabriquePersonnagesAbstraite {
|
public class FabriquePersonnagesBattleZone extends FabriquePersonnagesAbstraite {
|
||||||
protected ComportementAction parDefaut = new ComportementActionChangerCouleurCase();
|
private final ComportementAction parDefaut = new ComportementActionChangerCouleurCase();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
||||||
|
@ -12,8 +12,8 @@ import Person.PersonnageFootball;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class FabriquePersonnagesFootball extends FabriquePersonnagesAbstraite {
|
public class FabriquePersonnagesFootball extends FabriquePersonnagesAbstraite {
|
||||||
|
private final ComportementAction parDefaut = new ComportementActionTirerBalon();
|
||||||
public Arbitre a;
|
public Arbitre a;
|
||||||
ComportementAction parDefaut = new ComportementActionTirerBalon();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
||||||
|
@ -10,11 +10,11 @@ import Person.Personnage;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public abstract class FabriqueScenarioAbstraite {
|
public abstract class FabriqueScenarioAbstraite {
|
||||||
FabriquePlateauAbstraite fPlateau;
|
private final FabriquePlateauAbstraite fPlateau;
|
||||||
FabriquePersonnagesAbstraite fPersonnages;
|
private final FabriquePersonnagesAbstraite fPersonnages;
|
||||||
FabriqueObjetAbstraite fObjs;
|
private final FabriqueObjetAbstraite fObjs;
|
||||||
|
|
||||||
public FabriqueScenarioAbstraite(FabriquePlateauAbstraite pl, FabriquePersonnagesAbstraite pr, FabriqueObjetAbstraite fObjs) {
|
FabriqueScenarioAbstraite(FabriquePlateauAbstraite pl, FabriquePersonnagesAbstraite pr, FabriqueObjetAbstraite fObjs) {
|
||||||
this.fPlateau = pl;
|
this.fPlateau = pl;
|
||||||
this.fPersonnages = pr;
|
this.fPersonnages = pr;
|
||||||
this.fObjs = fObjs;
|
this.fObjs = fObjs;
|
||||||
|
@ -3,7 +3,7 @@ import Fabriques.Personnages.FabriquePersonnagesBattleZone;
|
|||||||
import Fabriques.Plateau.FabriquePlateauBattleZone;
|
import Fabriques.Plateau.FabriquePlateauBattleZone;
|
||||||
import Fabriques.Scenario.FabriqueScenarioBattleZone;
|
import Fabriques.Scenario.FabriqueScenarioBattleZone;
|
||||||
|
|
||||||
public class Main {
|
class Main {
|
||||||
public static void main(String[] args){
|
public static void main(String[] args){
|
||||||
SimulationJeu s = new SimulationJeu(new FabriqueScenarioBattleZone(new FabriquePlateauBattleZone(), new FabriquePersonnagesBattleZone(), new FabriqueObjetBattleZone()));
|
SimulationJeu s = new SimulationJeu(new FabriqueScenarioBattleZone(new FabriquePlateauBattleZone(), new FabriquePersonnagesBattleZone(), new FabriqueObjetBattleZone()));
|
||||||
s.lancerJeu();
|
s.lancerJeu();
|
||||||
|
@ -3,11 +3,11 @@ package Objets;
|
|||||||
import Cases.CaseAbstraite;
|
import Cases.CaseAbstraite;
|
||||||
|
|
||||||
public abstract class ObjetAbstrait {
|
public abstract class ObjetAbstrait {
|
||||||
protected CaseAbstraite caseCourante;
|
private CaseAbstraite caseCourante;
|
||||||
protected String nom;
|
private String nom;
|
||||||
protected double pointsDeVie;
|
private double pointsDeVie;
|
||||||
protected double force;
|
private double force;
|
||||||
protected double vitesse;
|
private double vitesse;
|
||||||
|
|
||||||
protected ObjetAbstrait(String name) {
|
protected ObjetAbstrait(String name) {
|
||||||
this.nom = name;
|
this.nom = name;
|
||||||
@ -17,8 +17,8 @@ public abstract class ObjetAbstrait {
|
|||||||
this.caseCourante = null;
|
this.caseCourante = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ObjetAbstrait(String name, double lifePoint, double strength, double speed) {
|
ObjetAbstrait(String name, double lifePoint, double strength, double speed) {
|
||||||
this.nom = name;
|
this.nom = name;
|
||||||
this.pointsDeVie=lifePoint;
|
this.pointsDeVie=lifePoint;
|
||||||
this.force=strength;
|
this.force=strength;
|
||||||
this.vitesse=speed;
|
this.vitesse=speed;
|
||||||
|
@ -2,7 +2,7 @@ package Observateur;
|
|||||||
|
|
||||||
public class Arbitre extends SujetObserveAbstrait {
|
public class Arbitre extends SujetObserveAbstrait {
|
||||||
|
|
||||||
int iter = 10;
|
private int iter = 10;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update() {
|
public void update() {
|
||||||
|
@ -4,9 +4,9 @@ import java.util.ArrayList;
|
|||||||
|
|
||||||
public abstract class SujetObserveAbstrait {
|
public abstract class SujetObserveAbstrait {
|
||||||
|
|
||||||
ArrayList<ObservateurAbstrait> liste;
|
final ArrayList<ObservateurAbstrait> liste;
|
||||||
|
|
||||||
protected SujetObserveAbstrait() {
|
SujetObserveAbstrait() {
|
||||||
liste = new ArrayList<ObservateurAbstrait>();
|
liste = new ArrayList<ObservateurAbstrait>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,17 +19,17 @@ import java.util.HashSet;
|
|||||||
public class Personnage extends PersonnagesAbstraits implements ObservateurAbstrait {
|
public class Personnage extends PersonnagesAbstraits implements ObservateurAbstrait {
|
||||||
|
|
||||||
|
|
||||||
protected CaseAbstraite caseCourante;
|
private final String nom;
|
||||||
protected ObjetAbstrait objet;
|
private final double force;
|
||||||
protected String nom;
|
private final double vitesse;
|
||||||
protected String groupe;
|
private final double portee;
|
||||||
protected double pointsDeVie;
|
private CaseAbstraite caseCourante;
|
||||||
protected double force;
|
private ObjetAbstrait objet;
|
||||||
protected double vitesse;
|
private String groupe;
|
||||||
protected double portee;
|
private double pointsDeVie;
|
||||||
protected EAction action;
|
private EAction action;
|
||||||
protected ComportementAction Action;
|
private ComportementAction Action;
|
||||||
HashSet<CaseAbstraite> voisinsActuels = new HashSet<CaseAbstraite>();
|
private HashSet<CaseAbstraite> voisinsActuels = new HashSet<CaseAbstraite>();
|
||||||
private EtatPersonnageAbstrait etatCourant;
|
private EtatPersonnageAbstrait etatCourant;
|
||||||
private HashMap<PointsCardinaux, CaseAbstraite> voisins;
|
private HashMap<PointsCardinaux, CaseAbstraite> voisins;
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected Personnage(String name, double lifePoint, double strength, double speed, int portee, ComportementAction a) {
|
Personnage(String name, double lifePoint, double strength, double speed, int portee, ComportementAction a) {
|
||||||
this.nom = name;
|
this.nom = name;
|
||||||
this.pointsDeVie=lifePoint;
|
this.pointsDeVie=lifePoint;
|
||||||
this.force=strength;
|
this.force=strength;
|
||||||
@ -90,7 +90,7 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
Action.executerAction(this, t);
|
Action.executerAction(this, t);
|
||||||
}
|
}
|
||||||
|
|
||||||
public HashSet<CaseAbstraite> voisinsPortee(CaseAbstraite c, int rayon) {
|
HashSet<CaseAbstraite> voisinsPortee(CaseAbstraite c, int rayon) {
|
||||||
HashMap<PointsCardinaux, CaseAbstraite> v = c.getVoisins();
|
HashMap<PointsCardinaux, CaseAbstraite> v = c.getVoisins();
|
||||||
if ((rayon + 1) == this.getPortee()) {
|
if ((rayon + 1) == this.getPortee()) {
|
||||||
voisinsActuels.addAll(c.getVoisins().values());
|
voisinsActuels.addAll(c.getVoisins().values());
|
||||||
@ -103,7 +103,7 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
return voisinsActuels;
|
return voisinsActuels;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<ObjetAbstrait> rechercheObjetProche(HashSet<CaseAbstraite> voisinsDesVoisins) {
|
ArrayList<ObjetAbstrait> rechercheObjetProche(HashSet<CaseAbstraite> voisinsDesVoisins) {
|
||||||
ArrayList<ObjetAbstrait> objetsVoisins = new ArrayList<ObjetAbstrait>();
|
ArrayList<ObjetAbstrait> objetsVoisins = new ArrayList<ObjetAbstrait>();
|
||||||
|
|
||||||
for (CaseAbstraite c : voisinsDesVoisins) {
|
for (CaseAbstraite c : voisinsDesVoisins) {
|
||||||
@ -114,14 +114,14 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
return objetsVoisins;
|
return objetsVoisins;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected HashSet<CaseAbstraite> getCaseAbstraitesForPortee() {
|
HashSet<CaseAbstraite> getCaseAbstraitesForPortee() {
|
||||||
HashSet<CaseAbstraite> voisins = voisinsPortee(this.caseCourante, 0);
|
HashSet<CaseAbstraite> voisins = voisinsPortee(this.caseCourante, 0);
|
||||||
voisins.remove(getCaseCourante());
|
voisins.remove(getCaseCourante());
|
||||||
return voisins;
|
return voisins;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public ArrayList<Personnage> rechercheJoueur(HashSet<CaseAbstraite> voisinsDesVoisins) {
|
ArrayList<Personnage> rechercheJoueur(HashSet<CaseAbstraite> voisinsDesVoisins) {
|
||||||
ArrayList<Personnage> personnes = new ArrayList<Personnage>();
|
ArrayList<Personnage> personnes = new ArrayList<Personnage>();
|
||||||
for (CaseAbstraite c : voisinsDesVoisins) {
|
for (CaseAbstraite c : voisinsDesVoisins) {
|
||||||
if (c.getOccupant() != null) {
|
if (c.getOccupant() != null) {
|
||||||
@ -132,12 +132,7 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
return personnes;
|
return personnes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void mediationConflits() {
|
void ChangerAction(EAction nouvelAction) {
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ChangerAction(EAction nouvelAction) {
|
|
||||||
|
|
||||||
switch (nouvelAction) {
|
switch (nouvelAction) {
|
||||||
case ChangerCouleurCase:
|
case ChangerCouleurCase:
|
||||||
@ -153,7 +148,7 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
Action = new ComportementActionTirerBouleDeNeige();
|
Action = new ComportementActionTirerBouleDeNeige();
|
||||||
break;
|
break;
|
||||||
case Rien:
|
case Rien:
|
||||||
Action = new ComportementActionTirerBouleDeNeige();
|
Action = new Rien();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -163,7 +158,7 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
this.setAction(nouvelAction);
|
this.setAction(nouvelAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObjetAbstrait getObjet() {
|
ObjetAbstrait getObjet() {
|
||||||
return objet;
|
return objet;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -179,7 +174,11 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
return bonus + pointsDeVie;
|
return bonus + pointsDeVie;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getForce() {
|
void setPointsDeVie(double pointsDeVie) {
|
||||||
|
this.pointsDeVie = pointsDeVie;
|
||||||
|
}
|
||||||
|
|
||||||
|
double getForce() {
|
||||||
double bonus = 0;
|
double bonus = 0;
|
||||||
if (getObjet() != null) {
|
if (getObjet() != null) {
|
||||||
bonus = getObjet().getForce();
|
bonus = getObjet().getForce();
|
||||||
@ -199,7 +198,6 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
return groupe;
|
return groupe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setGroupe(String equipe) {
|
public void setGroupe(String equipe) {
|
||||||
groupe = equipe;
|
groupe = equipe;
|
||||||
}
|
}
|
||||||
@ -218,7 +216,7 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getPortee() {
|
double getPortee() {
|
||||||
return portee;
|
return portee;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,7 +224,7 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
return action;
|
return action;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAction(EAction action) {
|
void setAction(EAction action) {
|
||||||
this.action = action;
|
this.action = action;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -242,4 +240,27 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
|||||||
public void update() {
|
public void update() {
|
||||||
this.ChangerAction(EAction.Rien);
|
this.ChangerAction(EAction.Rien);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void afficherInfos() {
|
||||||
|
System.out.println(this.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Personnage{" +
|
||||||
|
"caseCourante=" + caseCourante +
|
||||||
|
", objet=" + objet +
|
||||||
|
", nom='" + nom + '\'' +
|
||||||
|
", groupe='" + groupe + '\'' +
|
||||||
|
", pointsDeVie=" + pointsDeVie +
|
||||||
|
", force=" + force +
|
||||||
|
", vitesse=" + vitesse +
|
||||||
|
", portee=" + portee +
|
||||||
|
", action=" + action +
|
||||||
|
", Action=" + Action +
|
||||||
|
", voisinsActuels=" + voisinsActuels +
|
||||||
|
", etatCourant=" + etatCourant +
|
||||||
|
", voisins=" + voisins +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,11 @@ public class PersonnageBattleSnow extends Personnage{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void attack(PersonnageBattleSnow cible) {
|
public void attack(PersonnageBattleSnow cible) {
|
||||||
|
double force = this.getForce();
|
||||||
|
cible.recevoirAttack(force);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void recevoirAttack(double force) {
|
||||||
|
this.setPointsDeVie(this.getPointsDeVie() - force);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import java.awt.*;
|
|||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class PersonnageBattleZone extends Personnage {
|
public class PersonnageBattleZone extends Personnage {
|
||||||
Color couleur;
|
private Color couleur;
|
||||||
|
|
||||||
public PersonnageBattleZone(String name, double lifePoint, double strength, double speed, int portee, ComportementAction parDefaut) {
|
public PersonnageBattleZone(String name, double lifePoint, double strength, double speed, int portee, ComportementAction parDefaut) {
|
||||||
super(name, lifePoint, strength, speed, portee, parDefaut);
|
super(name, lifePoint, strength, speed, portee, parDefaut);
|
||||||
|
@ -7,10 +7,11 @@ import Composition.GroupeAbstrait;
|
|||||||
import Objets.ObjetBallon;
|
import Objets.ObjetBallon;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
public class PersonnageFootball extends Personnage {
|
public class PersonnageFootball extends Personnage {
|
||||||
|
|
||||||
public EquipeDeFoot equipe;
|
private EquipeDeFoot equipe;
|
||||||
|
|
||||||
public PersonnageFootball(String name, double lifePoint, double strength, double speed, int portee, ComportementAction parDefaut) {
|
public PersonnageFootball(String name, double lifePoint, double strength, double speed, int portee, ComportementAction parDefaut) {
|
||||||
super(name, lifePoint, strength, speed, portee, parDefaut);
|
super(name, lifePoint, strength, speed, portee, parDefaut);
|
||||||
@ -27,6 +28,11 @@ public class PersonnageFootball extends Personnage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void lancerBallon(ObjetBallon objetOccupant, ArrayList<CaseAbstraite> cases) {
|
public void lancerBallon(ObjetBallon objetOccupant, ArrayList<CaseAbstraite> cases) {
|
||||||
|
int size = cases.size();
|
||||||
|
int item = new Random().nextInt(size);
|
||||||
|
CaseAbstraite dest = cases.get(item);
|
||||||
|
|
||||||
|
objetOccupant.setCaseCourante(dest);
|
||||||
|
dest.setObjetOccupant(objetOccupant);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,12 +8,12 @@ import java.util.ArrayList;
|
|||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
|
||||||
public class SimulationJeu {
|
class SimulationJeu {
|
||||||
ArrayList<Personnage> personnages;
|
private final CaseAbstraite[][] plateau;
|
||||||
CaseAbstraite[][] plateau;
|
private final FabriqueScenarioAbstraite f;
|
||||||
FabriqueScenarioAbstraite f;
|
private final InterfaceConsole intefaceC;
|
||||||
InterfaceConsole intefaceC;
|
private final Arbitre a;
|
||||||
Arbitre a;
|
private ArrayList<Personnage> personnages;
|
||||||
|
|
||||||
public SimulationJeu(FabriqueScenarioAbstraite fb) {
|
public SimulationJeu(FabriqueScenarioAbstraite fb) {
|
||||||
f = fb;
|
f = fb;
|
||||||
@ -29,14 +29,14 @@ public class SimulationJeu {
|
|||||||
a = new Arbitre();
|
a = new Arbitre();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void afficheTous() {
|
void afficheTous() {
|
||||||
System.out.println("");
|
System.out.println("");
|
||||||
intefaceC.afficherPlateau();
|
intefaceC.afficherPlateau();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void recupererInformations() {
|
void recupererInformations() {
|
||||||
for (Personnage p : personnages) {
|
for (Personnage p : personnages) {
|
||||||
|
p.afficherInfos();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ public class SimulationJeu {
|
|||||||
// bloquer le tour jusqu'a toucher une touche du clavier.
|
// bloquer le tour jusqu'a toucher une touche du clavier.
|
||||||
Scanner s = new Scanner(System.in);
|
Scanner s = new Scanner(System.in);
|
||||||
String choix = s.nextLine();
|
String choix = s.nextLine();
|
||||||
if (choix == "s") {
|
if (choix.equals("s")) {
|
||||||
continuer = false;
|
continuer = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,6 @@ package utils;
|
|||||||
|
|
||||||
public class Constants {
|
public class Constants {
|
||||||
|
|
||||||
/** Define the duration for a football game (in ms) */
|
|
||||||
public static final int TIME_FOOTBALL_GAME = 100000; // 100 secondes
|
|
||||||
|
|
||||||
public static final int TABLE_HEIGHT = 10;
|
public static final int TABLE_HEIGHT = 10;
|
||||||
|
|
||||||
public static final int TABLE_WIDTH = 10;
|
public static final int TABLE_WIDTH = 10;
|
||||||
|
@ -3,7 +3,7 @@ package utils;
|
|||||||
import Cases.CaseAbstraite;
|
import Cases.CaseAbstraite;
|
||||||
|
|
||||||
public class InterfaceConsole {
|
public class InterfaceConsole {
|
||||||
CaseAbstraite[][] plateau;
|
private final CaseAbstraite[][] plateau;
|
||||||
|
|
||||||
public InterfaceConsole(CaseAbstraite[][] cases) {
|
public InterfaceConsole(CaseAbstraite[][] cases) {
|
||||||
plateau = cases;
|
plateau = cases;
|
||||||
|
Loading…
Reference in New Issue
Block a user