diff --git a/Map/test.gyro b/Map/test.gyro index 84955cc..44a5b24 100644 --- a/Map/test.gyro +++ b/Map/test.gyro @@ -1,10 +1,10 @@ mmmmmmmmmmmmmmmmmmmm -m c b c m -m cmmmmc m -m c c m -mcc m -mcc h m -mcmmm m -mc m -mc b i m +m c b c c bm +m cmmmmc cmmm +m c c c cm +mcc cm i cmcm +mcc h cmmmmmmmmmmcm +mcmmmmmc cm +mc cm +mc b i cm mmmmmmmmmmmmmmmmmmmm \ No newline at end of file diff --git a/src/modele/calculs/IA.java b/src/modele/calculs/IA.java index 11df01f..8f55a72 100644 --- a/src/modele/calculs/IA.java +++ b/src/modele/calculs/IA.java @@ -2,41 +2,33 @@ package modele.calculs; import modele.donnees.ElementDynamique; import modele.donnees.Heros; - -import java.util.Random; 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() { + boolean ret = false; for (ElementDynamique e : lstEntitesDynamiques) if (e instanceof modele.donnees.IA) { - if (alt < 3) { - alt++; + modele.donnees.IA ia = (modele.donnees.IA) e; + ia.regarderDansLaDirection(Direction.droite); + if (ia.alt < 2) { + ia.alt++; } else { - modele.donnees.IA ia = (modele.donnees.IA) e; - if(ia.avancerDirectionChoisieunique(d) == false){ - d = Direction.inversDir(d); - ia.avancerDirectionChoisieunique(d); - }else if(ia.regarderDansLaDirection(d) instanceof Heros){ - ia.avancerDirectionChoisie(null); // TODO - } else { - ia.avancerDirectionChoisieunique(d); + + if(ia.avancerDirectionChoisie(ia.d) == false){ + ia.d = Direction.inversDir(ia.d); + ia.avancerDirectionChoisie(ia.d); + ret = true; + }else { + ia.avancerDirectionChoisie(ia.d); + ret = true; } - alt = 0; + ia.alt = 0; } } - return false; + return ret; } } diff --git a/src/modele/calculs/RealisateurDeDeplacement.java b/src/modele/calculs/RealisateurDeDeplacement.java index 4180a0c..6eb8788 100644 --- a/src/modele/calculs/RealisateurDeDeplacement.java +++ b/src/modele/calculs/RealisateurDeDeplacement.java @@ -1,8 +1,7 @@ package modele.calculs; import modele.donnees.ElementDynamique; -import modele.donnees.Entite; -import modele.donnees.EntiteDynamique; + import java.util.ArrayList; diff --git a/src/modele/donnees/IA.java b/src/modele/donnees/IA.java index db174f6..e741e82 100644 --- a/src/modele/donnees/IA.java +++ b/src/modele/donnees/IA.java @@ -8,25 +8,23 @@ package modele.donnees; import modele.calculs.Direction; import modele.calculs.Jeu; -import java.util.Random; - /** * Ennemis (Smicks) */ public class IA extends Entite { - private Random r = new Random(); + public IA(Jeu jeu) { super(jeu); } - - @Override - public boolean avancerDirectionChoisie(Direction d) { + public int alt =0; + public Direction d = Direction.droite; + /** public boolean avancerDirectionChoisie(Direction d) { return super.avancerDirectionChoisie(jeu.getDirection(this, jeu.getHector())); - } - - public boolean avancerDirectionChoisieunique(Direction d) { - return jeu.deplacerEntite(this, d); + }**/ + @Override + public boolean avancerDirectionChoisie(Direction d) { + return jeu.deplacerEntite(this, jeu.getDistance(this,jeu.getHector()) > 3.0 ? d : jeu.getDirection(this,jeu.getHector())); } @Override