@Override protected synchronized void resetRound() { // réinitialisation locale super.resetRound(); // on attend d'avoir récupèré l'aire de jeu (attente passive) if (!newRoundReceived) { try { wait(); } catch (InterruptedException e) { e.printStackTrace(); } } // on force le moteur physique à utiliser l'aire de jeu reçue du serveur physicsEngine.setBoard(round.board); // on indique au serveur qu'on est prêt clientCom.sendAcknowledgment(); }
@Override protected synchronized void init() { // aspects réseau clientCom = mainWindow.clientCom; clientCom.setGameHandler(this); // initialisation standard super.init(); // on récupère le numéro du seul joueur local, une fois pour toutes localPlayerId = -1; int i = 0; while (localPlayerId < 0 && i < round.players.length) { Player player = round.players[i]; if (player.local) localPlayerId = i; i++; } // on récupère l'aire de jeu et on prévient le serveur qu'on est prêt resetRound(); }