diff --git a/src/modele/calculs/IA.java b/src/modele/calculs/IA.java index 1dc5f5a..7963c53 100644 --- a/src/modele/calculs/IA.java +++ b/src/modele/calculs/IA.java @@ -1,5 +1,48 @@ package modele.calculs; +import modele.donnees.ElementDynamique; +import modele.donnees.ElementFond; +import modele.donnees.Entite; +import modele.donnees.Heros; +import java.util.Random; public class IA extends RealisateurDeDeplacement { - protected boolean realiserDeplacement() { return false; } // TODO + // 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)); + + 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; + } + }