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);
}
}