mirror of
https://forge.univ-lyon1.fr/tplifap4/gyromite_ya.git
synced 2024-02-27 13:31:49 +01:00
Modif map / direction IA améliorer / supp directionchoisieunique
This commit is contained in:
parent
5a412a3bd6
commit
6d85b33833
@ -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
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user