mirror of
https://forge.univ-lyon1.fr/tplifap4/gyromite_ya.git
synced 2024-02-27 13:31:49 +01:00
Implementation IA (il suit le joueur) + suppression getInstace dans IA
This commit is contained in:
parent
8f7da7b95e
commit
e7ee583c2f
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user