Moved object searching and person searching to person.

This commit is contained in:
aminecmi 2015-01-31 10:40:55 +01:00
parent 5248abc684
commit 41ab44ae4b
2 changed files with 182 additions and 181 deletions

View File

@ -1,7 +1,5 @@
package Cases; package Cases;
import Etats.EtatPersonnageKO;
import Etats.EtatPersonnageOK;
import Objets.ObjetAbstrait; import Objets.ObjetAbstrait;
import Person.Personnage; import Person.Personnage;
@ -42,7 +40,11 @@ public abstract class CaseAbstraite {
public Personnage getOccupant() { public Personnage getOccupant() {
return occupant; return occupant;
} }
public void setOccupant(Personnage occupant) {
this.occupant = occupant;
}
public ObjetAbstrait getObjetOccupant() { public ObjetAbstrait getObjetOccupant() {
return objetOccupant; return objetOccupant;
} }
@ -50,10 +52,6 @@ public abstract class CaseAbstraite {
public void setObjetOccupant(ObjetAbstrait objetOccupant) { public void setObjetOccupant(ObjetAbstrait objetOccupant) {
this.objetOccupant = objetOccupant; this.objetOccupant = objetOccupant;
} }
public void setOccupant(Personnage occupant) {
this.occupant = occupant;
}
public HashMap<PointsCardinaux, CaseAbstraite> getVoisins() { public HashMap<PointsCardinaux, CaseAbstraite> getVoisins() {
return voisins; return voisins;
@ -62,178 +60,4 @@ public abstract class CaseAbstraite {
public void setVoisins(HashMap<PointsCardinaux, CaseAbstraite> voisins) { public void setVoisins(HashMap<PointsCardinaux, CaseAbstraite> voisins) {
this.voisins = 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;
}
} }

View File

@ -1,6 +1,7 @@
package Person; package Person;
import Cases.CaseAbstraite; import Cases.CaseAbstraite;
import Cases.PointsCardinaux;
import Comportements.ComportementAction; import Comportements.ComportementAction;
import Comportements.EAction; import Comportements.EAction;
import Composition.PersonnagesAbstraits; import Composition.PersonnagesAbstraits;
@ -8,6 +9,9 @@ import Etats.EEtat;
import Etats.EtatPersonnageAbstrait; import Etats.EtatPersonnageAbstrait;
import Etats.EtatPersonnageKO; import Etats.EtatPersonnageKO;
import Etats.EtatPersonnageOK; import Etats.EtatPersonnageOK;
import Objets.ObjetAbstrait;
import java.util.HashMap;
public class Personnage extends PersonnagesAbstraits { public class Personnage extends PersonnagesAbstraits {
@ -21,6 +25,7 @@ public class Personnage extends PersonnagesAbstraits {
protected double porter; protected double porter;
protected EAction action; protected EAction action;
private EtatPersonnageAbstrait etatCourant; private EtatPersonnageAbstrait etatCourant;
private HashMap<PointsCardinaux, CaseAbstraite> voisins;
protected Personnage(String name, ComportementAction c) { protected Personnage(String name, ComportementAction c) {
this.nom = name; this.nom = name;
@ -119,6 +124,8 @@ public class Personnage extends PersonnagesAbstraits {
public void setCaseCourante(CaseAbstraite caseCourante) { public void setCaseCourante(CaseAbstraite caseCourante) {
this.caseCourante = caseCourante; this.caseCourante = caseCourante;
this.voisins = this.caseCourante.getVoisins();
} }
public double getPorter() { public double getPorter() {
@ -151,4 +158,174 @@ public class Personnage extends PersonnagesAbstraits {
etatCourant.ConflitJoueur(); etatCourant.ConflitJoueur();
} }
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;
}
} }