Bonjour,
Je suis en train de finir un jeu d'Othello que j'ai développé (c'est mon premier projet java) sans aucune aide internet, ni ici, ni ailleurs.
Ca m'a pris deux semaines de boulot intensif, mais le jeu fonctionne, avec je crois un code assez performant et surtout, sans bug.
J'en suis maintenant à gérer la fin de partie, il y a deux possibilités, soit on a posé tous les pions (ça marche) soit les deux joueurs bloquent.
C'est là que ça coince.
La fonction suivante ne me retourne jamais true. Je ne comprends pas pourquoi. Je dois fatiguer mais je l'ai retourné dans tous les sens, verdict est bien affecté. Je ne sais plus par où chercher.
J'ai mis des println un peu partout dans la fonction et il se passe l'anomalie suivante : checkBloque ne renvoie jamais true, même quand il le devrait. Il ne renvoie que des false, et c'est comme s'il ne faisait rien sinon...
edit je mets en pièce jointe l'exécutable.. que vous voyiez le problème... et que vous ayez la preuve que la fonction majVerdict marche parfaitement bien elle, puisque c'est elle qui régit tous les points rouges.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 //Retourne true si le joueur courant ne peut plus poser public boolean checkBloque(){ boolean onBloque=true; //Boucle avec joueur courant for(int i=0;i<64;i++){ //met à jour le tableau verdict des 8 directions //ET la 9ème case dimension 0 dit //s'il y a au moins UNE direction possible, et donc, si pose permise. majVerdict(i); //si pose permise if(verdict[8][0]==1){ onBloque=false; break; } } return onBloque; }
Partager