1

Je n'arrive pas à trouver l'erreur !
Si je lance l'application en mettant 2 joeurs artificiel, le jeu démarre mais il bloque à cause d'un NullPointerException aprés un certain temps. :
public Resultat MinMaxProf(Jeu j, Color cc, Color cj, int prof) {   System.out.println("MinMax, profondeur "+prof);   if(prof==0) return (new Resultat(null, f.eval(cj, j)));   if (j.partieFinie()) return (new Resultat(null, j.aGagne(cc)));   else   {     double min =2, max=-2;     EnsPosition ep = j.positionsJouables(cj);     Position p = null;     prof--;     for(int a=0;a<ep.getNb();a++)     {       Jeu j1 = (Jeu) j.clone();       j1.jouerPosition(ep.ieme(a),cj);       double m = MinMaxProf(j1, cc, j1.adverse(cj),prof).val;       if(m>max)       {         max = m;         p = ep.ieme(a);       }       min = Math.min(min,m);     }     if(cc.equals(cj)) return( new Resultat(p,max));     else return( new Resultat(null,min));              } }

Est ce quelqu'un peut m'aider grin
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici

2

balance une trace... ca aidera a voir

3

bah j'ai pas grand trace grin :
Exception in thread "main" java.lang.NullPointerException
at Othellier.getColor(Othellier.java:174)
at Othellier.positionLibre(Othellier.java:333)
at Othellier.positionJouable(Othellier.java:312)
at GestionnaireInterface.unePartie(GestionnaireInterface.java:74)
at GestionnaireInterface.unTournoi(GestionnaireInterface.java:121) at GestionnaireInterface.main(GestionnaireInterface.java:25)
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici

4

Vu que la trace ne fait pas référence à MinMaxProf, l'erreur ne doit pas provenir de cet algo.
Cherche plutôt du côté de Othellier.getColor, à la ligne 174 de Othellier.java wink !
D'ailleurs, ton ./3 n'est pas une trace (enfin je crois, je ne connais pas grand-chose à la terminologie Java), mais l'état d'empilement des appels de fonctions au moment de l'exception hehe ...
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

5

Ben en fait si car c'est la fonction MinMaxProf qui renvoie un null .... et l'erreur arrive lorsque getColor() tente de chercher ça couleur : la couleur d'un null = erreur
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici

6

Erf, fallait le préciser hehe !
Si le problème est ce que renvoit MinMaxProf, serait-il STP possible d'avoir le détail de la classe Resultat (pour essayer de comprendre ce qu'il y a dedans) ?
Parce que bon, je vois 3 return( new Resultat( null, kekchose ) ) : le NullPointer vient-il de là ?
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

7

Je pense que oui ça viens de là grin mais je vois pas pourquoi car il n'est pas censé (avec la récursion resortir un ull en final)
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici

8

Donne nous le code de la classe Resultat.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

9

Je viens de refaire intégralement le MinMax et maintenant ça fonctionne. Le code source est ici : http://databob.free.fr/Volume/index.php?f=DCF3282F

Il faut compiler/éxécuter GestionnaireInterface pour que ça démarre
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici

10

Si vous avez des fonctions d'évaluation mieux que la mienne qui peuvent améliorer les performances je suis à l'écoute car je dois rendre ce travail pour mardi !
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici

11

avec un post comme ça, si tu as des réponses elles arriveront mercredi grin

12

Oui je m'en doutais m'enfin c'est pas grave smile C'est juste la sensibilisation INFO : c'est juste une note !
Je voulais juste savoir si il y avait mieux comme fonction d'évaluation
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici