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
m c b c m
m cmmmmc m
m c c m
mcc m
mcc h m
mcmmm m
mc m
mc b i m
m c b c c bm
m cmmmmc cmmm
m c c c cm
mcc cm i cmcm
mcc h cmmmmmmmmmmcm
mcmmmmmc cm
mc cm
mc b i cm
mmmmmmmmmmmmmmmmmmmm

View File

@ -2,41 +2,33 @@ package modele.calculs;
import modele.donnees.ElementDynamique;
import modele.donnees.Heros;
import java.util.Random;
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() {
boolean ret = false;
for (ElementDynamique e : lstEntitesDynamiques)
if (e instanceof modele.donnees.IA) {
if (alt < 3) {
alt++;
modele.donnees.IA ia = (modele.donnees.IA) e;
ia.regarderDansLaDirection(Direction.droite);
if (ia.alt < 2) {
ia.alt++;
} else {
modele.donnees.IA ia = (modele.donnees.IA) e;
if(ia.avancerDirectionChoisieunique(d) == false){
d = Direction.inversDir(d);
ia.avancerDirectionChoisieunique(d);
}else if(ia.regarderDansLaDirection(d) instanceof Heros){
ia.avancerDirectionChoisie(null); // TODO
} else {
ia.avancerDirectionChoisieunique(d);
if(ia.avancerDirectionChoisie(ia.d) == false){
ia.d = Direction.inversDir(ia.d);
ia.avancerDirectionChoisie(ia.d);
ret = true;
}else {
ia.avancerDirectionChoisie(ia.d);
ret = true;
}
alt = 0;
ia.alt = 0;
}
}
return false;
return ret;
}
}

View File

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

View File

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