Analyse case (recherche objet et joueur)

This commit is contained in:
CCAZOT 2015-01-29 19:36:07 +01:00
parent 3215a06a9c
commit 5248abc684

View File

@ -1,12 +1,16 @@
package Cases; package Cases;
import Etats.EtatPersonnageKO;
import Etats.EtatPersonnageOK;
import Objets.ObjetAbstrait; import Objets.ObjetAbstrait;
import Person.Personnage; import Person.Personnage;
import java.util.HashMap; import java.util.HashMap;
public abstract class CaseAbstraite { public abstract class CaseAbstraite {
Personnage occupant;
protected Personnage occupant;
protected ObjetAbstrait objetOccupant;
HashMap<PointsCardinaux, CaseAbstraite> voisins; HashMap<PointsCardinaux, CaseAbstraite> voisins;
@ -20,6 +24,7 @@ public abstract class CaseAbstraite {
voisins = new HashMap<PointsCardinaux, CaseAbstraite>(); voisins = new HashMap<PointsCardinaux, CaseAbstraite>();
occupant = null; occupant = null;
objetOccupant= null;
} }
public void ajouterVoisin(PointsCardinaux p, CaseAbstraite c) { public void ajouterVoisin(PointsCardinaux p, CaseAbstraite c) {
@ -29,8 +34,206 @@ public abstract class CaseAbstraite {
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;
} }
public ObjetAbstrait getObjetOccupant() {
return objetOccupant;
}
public void setObjetOccupant(ObjetAbstrait objetOccupant) {
this.objetOccupant = objetOccupant;
}
public void setOccupant(Personnage occupant) {
this.occupant = occupant;
}
public HashMap<PointsCardinaux, CaseAbstraite> getVoisins() {
return voisins;
}
public void setVoisins(HashMap<PointsCardinaux, CaseAbstraite> voisins) {
this.voisins = voisins;
}
public ObjetAbstrait rechercheObjetProche(){
ObjetAbstrait objetDeLaCase = null;
for (PointsCardinaux mapKey : voisins.keySet()) {
if (voisins.get(mapKey).getObjetOccupant() != null)
{
objetDeLaCase = voisins.get(mapKey).getObjetOccupant();
}
}
if (objetDeLaCase != null)
{
for (PointsCardinaux mapKey : voisins.keySet()) {
switch(mapKey)
{
case N:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.N) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.N).getObjetOccupant();
}
break;
case NE:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.N) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.N).getObjetOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.NE) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.NE).getObjetOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.E) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.E).getObjetOccupant();
}
break;
case E:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.E) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.E).getObjetOccupant();
}
break;
case SE:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.E) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.E).getObjetOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.SE) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.SE).getObjetOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.S) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.S).getObjetOccupant();
}
break;
case S:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.S) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.S).getObjetOccupant();
}
break;
case SW:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.S) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.S).getObjetOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.SW) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.SW).getObjetOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.W) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.W).getObjetOccupant();
}
break;
case W:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.W) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.W).getObjetOccupant();
}
break;
case NW:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.W) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.W).getObjetOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.NW) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.NW).getObjetOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.N) != null){
objetDeLaCase = voisins.get(mapKey).getVoisins().get(PointsCardinaux.N).getObjetOccupant();
}
break;
default:
break;
}
}
}
return objetDeLaCase;
}
public Personnage rechercheJoueur(){
Personnage personne = null;
for (PointsCardinaux mapKey : voisins.keySet()) {
if (voisins.get(mapKey).getOccupant() != null)
{
personne = voisins.get(mapKey).getOccupant();
}
}
if (personne != null)
{
for (PointsCardinaux mapKey : voisins.keySet()) {
switch(mapKey)
{
case N:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.N) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.N).getOccupant();
}
break;
case NE:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.N) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.N).getOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.NE) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.NE).getOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.E) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.E).getOccupant();
}
break;
case E:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.E) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.E).getOccupant();
}
break;
case SE:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.E) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.E).getOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.SE) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.SE).getOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.S) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.S).getOccupant();
}
break;
case S:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.S) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.S).getOccupant();
}
break;
case SW:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.S) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.S).getOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.SW) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.SW).getOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.W) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.W).getOccupant();
}
break;
case W:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.W) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.W).getOccupant();
}
break;
case NW:
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.W) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.W).getOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.NW) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.NW).getOccupant();
}
if (voisins.get(mapKey).getVoisins().get(PointsCardinaux.N) != null){
personne = voisins.get(mapKey).getVoisins().get(PointsCardinaux.N).getOccupant();
}
break;
default:
break;
}
}
}
return personne;
}
} }