Modif map / direction IA améliorer / supp directionchoisieunique

This commit is contained in:
gwiz 2020-12-09 11:09:36 +01:00
parent 5a412a3bd6
commit 6d85b33833
4 changed files with 32 additions and 43 deletions

View File

@ -1,10 +1,10 @@
mmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmm
m c b c m m c b c c bm
m cmmmmc m m cmmmmc cmmm
m c c m m c c c cm
mcc m mcc cm i cmcm
mcc h m mcc h cmmmmmmmmmmcm
mcmmm m mcmmmmmc cm
mc m mc cm
mc b i m mc b i cm
mmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmm

View File

@ -2,41 +2,33 @@ package modele.calculs;
import modele.donnees.ElementDynamique; import modele.donnees.ElementDynamique;
import modele.donnees.Heros; import modele.donnees.Heros;
import java.util.Random;
public class IA extends RealisateurDeDeplacement { public class IA extends RealisateurDeDeplacement {
int alt = 0;
Direction d = Direction.droite;
int genererInt(int borneInf, int borneSup){
Random rand = new Random();
int nb;
nb = borneInf+rand.nextInt(borneSup-borneInf);
return nb;
}
protected boolean realiserDeplacement() { protected boolean realiserDeplacement() {
boolean ret = false;
for (ElementDynamique e : lstEntitesDynamiques) for (ElementDynamique e : lstEntitesDynamiques)
if (e instanceof modele.donnees.IA) { if (e instanceof modele.donnees.IA) {
if (alt < 3) { modele.donnees.IA ia = (modele.donnees.IA) e;
alt++; ia.regarderDansLaDirection(Direction.droite);
if (ia.alt < 2) {
ia.alt++;
} else { } else {
modele.donnees.IA ia = (modele.donnees.IA) e;
if(ia.avancerDirectionChoisieunique(d) == false){ if(ia.avancerDirectionChoisie(ia.d) == false){
d = Direction.inversDir(d); ia.d = Direction.inversDir(ia.d);
ia.avancerDirectionChoisieunique(d); ia.avancerDirectionChoisie(ia.d);
}else if(ia.regarderDansLaDirection(d) instanceof Heros){ ret = true;
ia.avancerDirectionChoisie(null); // TODO }else {
} else { ia.avancerDirectionChoisie(ia.d);
ia.avancerDirectionChoisieunique(d); ret = true;
} }
alt = 0; ia.alt = 0;
} }
} }
return false; return ret;
} }
} }

View File

@ -1,8 +1,7 @@
package modele.calculs; package modele.calculs;
import modele.donnees.ElementDynamique; import modele.donnees.ElementDynamique;
import modele.donnees.Entite;
import modele.donnees.EntiteDynamique;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -8,25 +8,23 @@ package modele.donnees;
import modele.calculs.Direction; import modele.calculs.Direction;
import modele.calculs.Jeu; import modele.calculs.Jeu;
import java.util.Random;
/** /**
* Ennemis (Smicks) * Ennemis (Smicks)
*/ */
public class IA extends Entite { public class IA extends Entite {
private Random r = new Random();
public IA(Jeu jeu) { public IA(Jeu jeu) {
super(jeu); super(jeu);
} }
public int alt =0;
@Override public Direction d = Direction.droite;
public boolean avancerDirectionChoisie(Direction d) { /** public boolean avancerDirectionChoisie(Direction d) {
return super.avancerDirectionChoisie(jeu.getDirection(this, jeu.getHector())); return super.avancerDirectionChoisie(jeu.getDirection(this, jeu.getHector()));
} }**/
@Override
public boolean avancerDirectionChoisieunique(Direction d) { public boolean avancerDirectionChoisie(Direction d) {
return jeu.deplacerEntite(this, d); return jeu.deplacerEntite(this, jeu.getDistance(this,jeu.getHector()) > 3.0 ? d : jeu.getDirection(this,jeu.getHector()));
} }
@Override @Override