Enoncé
Transcription
Enoncé
Introduction aux Systèmes Distribués Nancy RODRIGUEZ TD 6 – Jeu Bataille Navale Objectif : Intégrer l’interface graphique à votre modèle distribué du jeu « Bataille Navale » . Aperçu de l’interface graphique : Spécification classes : StringCoord StringCoord() StringCoord(String str) Crée un objet StringCoord sans données. Crée un objet StringCoord à partir de la chaîne de caractères str au format « L1C1 » Change la chaîne de caractères de l’objet. Les coordonnées sont recalculées Retourne la ligne représentée par l’objet Retourne la colonne représentée par l’objet void setData(String str) int getLigne() int getCol() GraphicGrid GraphicGrid(String titre, int dimx, int dimy) void setValue(int x, int y, int value) int getValue(int x, int y) Crée une grille graphique de dimensions dimx, dimy et titre titre Affecte à la case (x,y) la valeur value. Retourne la valeur de la case (x,y) GamePanel() GamePanel() GamePanel(String titre, String idRemote, int dimx, int dimy ) idLocal, Crée une fenêtre avec deux grilles de dimension 10X10 et titres par défaut (« Bataille Navale », « Joueur Local », « Joueur Distant ») String Crée une fenêtre avec deux grilles de dimension dimx X dimy et titres (titre, idLocal, idRemote) GraphicGrid getGrilleLocale() GraphicGrid getGrilleRemote() void initGrilleLocale() void activeGrilleRemote() StringCoord getCoord() boolean getCoordDisp() Retourne la grille locale Retourne la grille distante Permet à l’utilisateur de placer les bateaux Permet à l’utilisateur de choisir une case dans la grille Retourne la dernière coordonnée choisie par l’utilisateur Retourne true si l’utilisateur a choisi une case Fichier Constants.java public interface Constants { public int EAU = 0; public int BATEAU = 1; public int TOUCHE_BATEAU = 2; public int TOUCHE_EAU = 3; public int BOMBE = 4; public int NB_BATEAUX = 10; public int PLACEMENT_BATEAUX = 0; public int JEU = 1; } Fichier TestGame.java public class TestGame { public static void main (String args[]) { StringCoord coord; GamePanel jeu = new GamePanel(); GraphicGrid grilleLocal = jeu.getGrilleLocale(); GraphicGrid grilleRemote = jeu.getGrilleRemote(); jeu.display("Bienvenu au jeu Bataille Navale!!!"); jeu.initGrilleLocale(); jeu.activeGrilleRemote(); grilleLocal.setValue(1, 1, Constants.TOUCHE_BATEAU); while (jeu.getCoordDisp() != true); coord = jeu.getCoord(); jeu.display("Coordonnee choisie : " + coord); grilleRemote.setValue(coord.getLigne()-1, coord.getCol()-1, Constants.BOMBE); } }