Bonsoir à tous,

Je développe actuellement un jeu d'echec en 3D à la star treck, rapporté en une vue 2D du dessus et je me heurt à quelque problème pour faire marcher l'interface graphique et le jeu qui marche en console.

J'ai donc en fait une classe Game avec plusieurs methodes dont let's play qui permet de lancer le jeu, cette méthode demande pour l'instant en concole les positions des pieces et la position de destionation, si c'est possible le jeu déplace la piece, sinon elle redemande. Dans le cas où la piece est déplacé, le deplacement s'affiche sur l'interface graphique car j'ai plus ou moins réussi le "update" grace au pattern "Observer". En revanche je n'arrives pas à donner les positions que j'arrive à récuperer avec les mouseListener, mouseClicked.

Letsplay étant de la sorte

While( conditon ) {
Scanner scan = new Scanner(System.in);

position = scan.next ... // le programme s'arrete ici pour attendre les

//saisies clavier


traitement(position)...
this.updateObservateur();

...
}


Le problème étant lorsque j'enlève les Scanner, mon programme s'execute et n'attend pas qu'il y ait des evement comme MouseClick.

Ayant cherché un peu sur internet, il y aurait une technique de la boucle presque infini :


while(bool){
//on attend

}

MouseClicke(event e){
e = false;

}

mais je n'ai pas réussi à la faire marcher, et je crois que c'est plutôt salle comme solution.

Je cherche donc une autre technique

Merci de votre attention