From 83d975bab8ce94490fef842cbc1f1f10c04b77a7 Mon Sep 17 00:00:00 2001 From: JOLY AMAURY p1910892 Date: Fri, 4 Dec 2020 18:40:13 +0100 Subject: [PATCH] Replace IA.java --- src/modele/calculs/IA.java | 45 +++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) 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; + } + }