From 673ea047b7e6c82946b81b3b35f02f6ff96aebca Mon Sep 17 00:00:00 2001 From: aminecmi Date: Sat, 31 Jan 2015 11:33:35 +0100 Subject: [PATCH] Voisins. Solved execution error. --- src/Cases/CaseAbstraite.java | 27 +++++++++++++- src/Etats/EtatPersonnageCombattant.java | 5 +++ src/Etats/EtatPersonnageKO.java | 5 +++ src/Etats/EtatPersonnageOK.java | 35 +++++++++---------- .../Plateau/FabriquePlateauBattleZone.java | 5 +++ 5 files changed, 58 insertions(+), 19 deletions(-) diff --git a/src/Cases/CaseAbstraite.java b/src/Cases/CaseAbstraite.java index e3401fc..ec8653c 100644 --- a/src/Cases/CaseAbstraite.java +++ b/src/Cases/CaseAbstraite.java @@ -18,13 +18,38 @@ public abstract class CaseAbstraite { public CaseAbstraite(int vert, int hor) { coord = new Coordonnees(vert, hor); - // peupler ici ? voisins = new HashMap(); occupant = null; objetOccupant= null; } + public void generateVoisins(CaseAbstraite[][] plateau) { + for (int i = coord.getHor() - 1; i < coord.getHor() + 1; i++) { + for (int j = coord.getVert() - 1; j < coord.getVert() + 1; j++) { + if (i > 0 && i < plateau.length && j > 0 && j < plateau[0].length) { + if (i == coord.getHor() && j < coord.getVert()) { + voisins.put(PointsCardinaux.N, plateau[i][j]); + } else if (i > coord.getHor() && j < coord.getVert()) { + voisins.put(PointsCardinaux.NE, plateau[i][j]); + } else if (i > coord.getHor() && j == coord.getVert()) { + voisins.put(PointsCardinaux.E, plateau[i][j]); + } else if (i > coord.getHor() && j > coord.getVert()) { + voisins.put(PointsCardinaux.NE, plateau[i][j]); + } else if (i == coord.getHor() && j > coord.getVert()) { + voisins.put(PointsCardinaux.S, plateau[i][j]); + } else if (i < coord.getHor() && j > coord.getVert()) { + voisins.put(PointsCardinaux.SW, plateau[i][j]); + } else if (i < coord.getHor() && j == coord.getVert()) { + voisins.put(PointsCardinaux.W, plateau[i][j]); + } else if (i < coord.getHor() && j < coord.getVert()) { + voisins.put(PointsCardinaux.NW, plateau[i][j]); + } + } + } + } + } + public void ajouterVoisin(PointsCardinaux p, CaseAbstraite c) { voisins.put(p, c); } diff --git a/src/Etats/EtatPersonnageCombattant.java b/src/Etats/EtatPersonnageCombattant.java index d100e96..702972f 100644 --- a/src/Etats/EtatPersonnageCombattant.java +++ b/src/Etats/EtatPersonnageCombattant.java @@ -29,4 +29,9 @@ public class EtatPersonnageCombattant extends EtatPersonnageAbstrait { } + @Override + public void mediationConflits() { + + } + } diff --git a/src/Etats/EtatPersonnageKO.java b/src/Etats/EtatPersonnageKO.java index 5d740e0..95fb399 100644 --- a/src/Etats/EtatPersonnageKO.java +++ b/src/Etats/EtatPersonnageKO.java @@ -36,4 +36,9 @@ public class EtatPersonnageKO extends EtatPersonnageAbstrait { } + @Override + public void mediationConflits() { + + } + } diff --git a/src/Etats/EtatPersonnageOK.java b/src/Etats/EtatPersonnageOK.java index 0bd6954..ae02c9b 100644 --- a/src/Etats/EtatPersonnageOK.java +++ b/src/Etats/EtatPersonnageOK.java @@ -1,12 +1,6 @@ package Etats; -import Comportements.ComportementAction; -import Comportements.ComportementActionChangerCouleurCase; -import Comportements.ComportementActionRamasserNeige; -import Comportements.ComportementActionSeDeplacer; -import Comportements.ComportementActionTirerBalon; -import Comportements.ComportementActionTirerBouleDeNeige; -import Comportements.EAction; +import Comportements.*; import Person.Personnage; public class EtatPersonnageOK extends EtatPersonnageAbstrait { @@ -16,9 +10,9 @@ public class EtatPersonnageOK extends EtatPersonnageAbstrait { public EtatPersonnageOK(Personnage perso) { super(perso); // TODO Auto-generated constructor stub - - this.ChangerAction(EAction.Null); - } + + this.ChangerAction(EAction.SeDeplacer); + } @Override public void AnalyseJoueur() { @@ -37,10 +31,15 @@ public class EtatPersonnageOK extends EtatPersonnageAbstrait { // TODO Auto-generated method stub } - - public void ChangerAction(EAction nouvelAction){ - - switch(nouvelAction) + + @Override + public void mediationConflits() { + + } + + public void ChangerAction(EAction nouvelAction) { + + switch(nouvelAction) { case ChangerCouleurCase: Action = new ComportementActionChangerCouleurCase(); @@ -57,10 +56,10 @@ public class EtatPersonnageOK extends EtatPersonnageAbstrait { case TirerBouleDeNeige: Action = new ComportementActionTirerBouleDeNeige(); break; - case Null: - Action = null; - break; - default: + //case Null: + //Action = null; + //break; + default: break; } diff --git a/src/Fabriques/Plateau/FabriquePlateauBattleZone.java b/src/Fabriques/Plateau/FabriquePlateauBattleZone.java index 0196563..7b9d7fa 100644 --- a/src/Fabriques/Plateau/FabriquePlateauBattleZone.java +++ b/src/Fabriques/Plateau/FabriquePlateauBattleZone.java @@ -13,6 +13,11 @@ public class FabriquePlateauBattleZone extends FabriquePlateauAbstraite { plateau[ligne][col] = new CaseColore(col, ligne); } } + for (CaseAbstraite[] tabC : plateau) { + for (CaseAbstraite c : tabC) { + c.generateVoisins(plateau); + } + } return plateau; } }