Bonjour,
Je dois effectuer un jeu "combat naval" en java. Ce jeu doit être en interface graphique (d'où le post dans cette section) et doit comprendre un chat intégré.
On doit utiliser un système Client Serveur dont les échanges se font via RMI (callbacks).
Mon problème est le suivant:
J'ai mon serveur qui fonctionne. Deux clients (créés via un "java Client nomJoueur" dans deux console différentes) s'y connectent. Le serveur les enregistre bien et leur donne le feu vert pour placer leurs bateaux.
Le placement des bateaux se fait du côté client. Chaque case d'une mer est une instance d'une classe héritant de JButton. Via l'interface MouseListener, j'aimerais détecter quand un joueur clic sur une case... Et ça marche MAIS seulement pour le premier client à s'être connecté au Serveur.
Pour préciser un peu plus, le serveur envoie un message du style "Vous pouvez jouer maintenant". Ce message est reçu par les deux clients. Mais les évènements ne sont déclenchés que chez le premier Client... Je n'ai aucune idée d'où cela peut venir et ça m'empêche d'avancer ou du moins de faire des tests pour voir si ça fonctionne...
Mon programme est structuré de la sorte: Une classe Client (= controller) qui possède un objet de type GUI. L'objet de GUI possède deux objets qui sont des classes héritant de Thread: le chat et la partie graphique du bataille navale.
Auriez-vous des pistes sur l'origine du problème? Ou des conseils pour améliorer la structure de mon code s'il vous plait?
Un grand merci d'avance!
Partager