Implementation IA (il suit le joueur) + suppression getInstace dans IA

This commit is contained in:
Amaury Joly 2020-12-06 11:39:07 +01:00
parent 8f7da7b95e
commit e7ee583c2f
2 changed files with 12 additions and 26 deletions

View File

@ -4,44 +4,24 @@ import modele.donnees.ElementDynamique;
import modele.donnees.ElementFond;
import modele.donnees.Entite;
import modele.donnees.Heros;
import java.awt.*;
import java.util.Random;
public class IA extends RealisateurDeDeplacement {
// private Direction directionCourante;
private static IA dep;
int genererInt(int borneInf, int borneSup){
Random rand = new Random();
int nb;
nb = borneInf+rand.nextInt(borneSup-borneInf);
return nb;
}
public static IA getInstance() {
if (dep == null) {
dep = new IA();
}
return dep;
}
protected boolean realiserDeplacement() {
for (ElementDynamique e : lstEntitesDynamiques)
if (e instanceof modele.donnees.IA) {
modele.donnees.IA ia = (modele.donnees.IA) e;
// Direction d = Direction.droite;
//System.out.println(genererInt(1, 1000));
e.avancerDirectionChoisie(null);
}
if (genererInt(1, 1000) > 500) {
Direction deplacement = Direction.gauche;
if (!ia.avancerDirectionChoisie(deplacement)) {
deplacement = Direction.droite;
ia.avancerDirectionChoisie(deplacement);
}
} else {
Direction deplacement = Direction.droite;
if (!ia.avancerDirectionChoisie(deplacement)) {
deplacement = Direction.gauche;
ia.avancerDirectionChoisie(deplacement);
}
}
}
return false;
}

View File

@ -5,6 +5,7 @@
*/
package modele.donnees;
import modele.calculs.Direction;
import modele.calculs.Jeu;
import java.util.Random;
@ -19,6 +20,11 @@ public class IA extends Entite {
super(jeu);
}
@Override
public boolean avancerDirectionChoisie(Direction d) {
return super.avancerDirectionChoisie(jeu.getDirection(this, jeu.getHector()));
}
@Override
public boolean peutEtreEcrase() {
return true;