mirror of
https://forge.univ-lyon1.fr/tplifap4/gyromite_ya.git
synced 2024-02-27 13:31:49 +01:00
Bug mineurs, quand les on recup les items où que le joeur meurt
This commit is contained in:
parent
53720579b3
commit
9bde606748
@ -26,7 +26,7 @@ public class Controle4Directions extends RealisateurDeDeplacement {
|
|||||||
public boolean realiserDeplacement() {
|
public boolean realiserDeplacement() {
|
||||||
boolean ret = false;
|
boolean ret = false;
|
||||||
for (ElementDynamique e : lstEntitesDynamiques) {
|
for (ElementDynamique e : lstEntitesDynamiques) {
|
||||||
if (e instanceof Entite && directionCourante != null)
|
if (e instanceof Entite && directionCourante != null && !((Entite) e).estMort())
|
||||||
switch (directionCourante) {
|
switch (directionCourante) {
|
||||||
case gauche:
|
case gauche:
|
||||||
case droite:
|
case droite:
|
||||||
|
@ -10,10 +10,10 @@ public class Items extends RealisateurDeDeplacement {
|
|||||||
@Override
|
@Override
|
||||||
protected boolean realiserDeplacement() {
|
protected boolean realiserDeplacement() {
|
||||||
for (ElementDynamique e : lstEntitesDynamiques)
|
for (ElementDynamique e : lstEntitesDynamiques)
|
||||||
if(e instanceof modele.donnees.Items) {
|
if(e instanceof modele.donnees.Items && ((modele.donnees.Items) e).estRecoltable()) {
|
||||||
modele.donnees.Items i = (modele.donnees.Items) e;
|
modele.donnees.Items i = (modele.donnees.Items) e;
|
||||||
if(i.regarderDevantSoit() instanceof Heros)
|
if(i.regarderDevantSoit() instanceof Heros)
|
||||||
return i.estRecolte();
|
return i.avancerDirectionChoisie(null);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -242,8 +242,10 @@ public class Jeu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void retirerItem(Point pCourant, modele.donnees.Items elt) {
|
private void retirerItem(Point pCourant, modele.donnees.Items elt) {
|
||||||
|
elt.recolter();
|
||||||
|
|
||||||
grilleEntites[pCourant.x][pCourant.y][1] = null;
|
grilleEntites[pCourant.x][pCourant.y][1] = null;
|
||||||
map.put(elt, null);
|
map.remove(elt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Indique si p est contenu dans la grille
|
/** Indique si p est contenu dans la grille
|
||||||
|
@ -8,5 +8,5 @@ public abstract class ElementFond extends ObjetGyromide {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public abstract boolean peutPermettreDeMonterDescendre();
|
public abstract boolean peutPermettreDeMonterDescendre();
|
||||||
public abstract boolean estRectable();
|
public abstract boolean estRecoltable();
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ import modele.calculs.Direction;
|
|||||||
import modele.calculs.Jeu;
|
import modele.calculs.Jeu;
|
||||||
|
|
||||||
public abstract class Items extends ElementFond implements ElementDynamique {
|
public abstract class Items extends ElementFond implements ElementDynamique {
|
||||||
|
private boolean recolte = false;
|
||||||
|
|
||||||
public Items(Jeu jeu) {
|
public Items(Jeu jeu) {
|
||||||
super(jeu);
|
super(jeu);
|
||||||
}
|
}
|
||||||
@ -14,8 +16,8 @@ public abstract class Items extends ElementFond implements ElementDynamique {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean estRectable() {
|
public boolean estRecoltable() {
|
||||||
return true;
|
return !recolte;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -27,7 +29,7 @@ public abstract class Items extends ElementFond implements ElementDynamique {
|
|||||||
return jeu.regarderDevantSoit(this);
|
return jeu.regarderDevantSoit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean estRecolte() {
|
public void recolter() {
|
||||||
return avancerDirectionChoisie(null);
|
recolte = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,8 +9,7 @@ public abstract class Radis extends Items {
|
|||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
@Override
|
@Override
|
||||||
public boolean estRecolte() {
|
public void recolter() {
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
|
Loading…
Reference in New Issue
Block a user