Commit eb881951 authored by Léo DUBOIS--JULIENNE's avatar Léo DUBOIS--JULIENNE
Browse files

les javadocs (sauf appli)

parent 9d6acc1f
...@@ -12,6 +12,11 @@ import javax.swing.JPanel; ...@@ -12,6 +12,11 @@ import javax.swing.JPanel;
import info1.application.appli; import info1.application.appli;
/**
* JDialog afficahnt la vue du choix de la partie (créer ou rejoindre)
*
* @version 1.0
*/
public class ChoixModePartie extends JDialog { public class ChoixModePartie extends JDialog {
...@@ -29,7 +34,11 @@ public class ChoixModePartie extends JDialog { ...@@ -29,7 +34,11 @@ public class ChoixModePartie extends JDialog {
private JPanel choix = new JPanel(); private JPanel choix = new JPanel();
/**
* Créer la vue de la fenêtre
*
* @param titre le titre de la fenêtre
*/
public ChoixModePartie(String titre) { public ChoixModePartie(String titre) {
this.setTitle(titre); this.setTitle(titre);
...@@ -74,8 +83,25 @@ public class ChoixModePartie extends JDialog { ...@@ -74,8 +83,25 @@ public class ChoixModePartie extends JDialog {
this.setAlwaysOnTop(true); this.setAlwaysOnTop(true);
} }
public void fixeListenerEtreHost(ActionListener action) { etreHost.addActionListener(action); }//OptPartie.afficherheberger /**
public void fixeListenerEtreGuest(ActionListener action) { etreGuest.addActionListener(action); }//Optpartie.afficherrejoindre * Gère le bouton "Créer une partie"
*
* @param action l'action de cliquer sur le bouton
*/
public void fixeListenerEtreHost(ActionListener action) { etreHost.addActionListener(action); }
/**
* Gère le bouton "Rejoindre une partie"
*
* @param action l'action de cliquer sur le bouton
*/
public void fixeListenerEtreGuest(ActionListener action) { etreGuest.addActionListener(action); }
/**
* Gère le bouton "Retour"
*
* @param action l'action de cliquer sur le bouton
*/
public void fixeListenerRetourCreerFlotte(ActionListener action) { retourChoix.addActionListener(action); } public void fixeListenerRetourCreerFlotte(ActionListener action) { retourChoix.addActionListener(action); }
} }
...@@ -35,6 +35,13 @@ import info1.ships.NavyFleet; ...@@ -35,6 +35,13 @@ import info1.ships.NavyFleet;
import info1.ships.Ship; import info1.ships.Ship;
import info1.ships.Submarine; import info1.ships.Submarine;
/**
* JPanel affichant la vue pour créer & placer les bateaux sur le plateau.
*
* @version 1.0
*/
public class CreationFlotte extends JPanel {// JPanel { public class CreationFlotte extends JPanel {// JPanel {
private static final JLabel[] LISTE_BATEAUX_V_BE = new JLabel[] { new JLabel("Cuirrassé"), new JLabel("Croiseur"), private static final JLabel[] LISTE_BATEAUX_V_BE = new JLabel[] { new JLabel("Cuirrassé"), new JLabel("Croiseur"),
...@@ -61,7 +68,13 @@ public class CreationFlotte extends JPanel {// JPanel { ...@@ -61,7 +68,13 @@ public class CreationFlotte extends JPanel {// JPanel {
private JButton refresh; private JButton refresh;
private Coord selectedCell; private Coord selectedCell;
/**
* Création de la vue de la page
*
* @param titre le titre de la fenêtre
*/
public CreationFlotte(String titre) { public CreationFlotte(String titre) {
super(new BorderLayout()); super(new BorderLayout());
this.setName(titre); this.setName(titre);
for (JLabel label : LISTE_BATEAUX_V_BE) { for (JLabel label : LISTE_BATEAUX_V_BE) {
...@@ -102,6 +115,16 @@ public class CreationFlotte extends JPanel {// JPanel { ...@@ -102,6 +115,16 @@ public class CreationFlotte extends JPanel {// JPanel {
insets.bottom + (int) DIMENSION_REFRESH.getHeight(), (int) DIMENSION_REFRESH.getWidth(), insets.bottom + (int) DIMENSION_REFRESH.getHeight(), (int) DIMENSION_REFRESH.getWidth(),
(int) DIMENSION_REFRESH.getHeight()); (int) DIMENSION_REFRESH.getHeight());
liste.add(refresh); liste.add(refresh);
liste.add(new JLabel(" "));
liste.add(new JLabel(" Pour placer les bateaux, cliquer d'abord"));
liste.add(new JLabel(" sur la cellule de départ, puis la cellule"));
liste.add(new JLabel(" de fin."));
liste.add(new JLabel(" "));
liste.add(new JLabel(" Le nombre de cellule entre le début et la"));
liste.add(new JLabel(" fin détermine la taille du bateau."));
liste.add(new JLabel(" "));
liste.add(new JLabel(" Pour supprimer les bateaux, cliquer sur"));
liste.add(new JLabel(" la cellule contennant le bateau."));
boutons.add(retour); boutons.add(retour);
boutons.add(reset); boutons.add(reset);
...@@ -150,15 +173,30 @@ public class CreationFlotte extends JPanel {// JPanel { ...@@ -150,15 +173,30 @@ public class CreationFlotte extends JPanel {// JPanel {
return label; return label;
} }
/**
* Retourne la cellule selectionnée sur la grille
*
* @return la cellule sélectionnée
*/
public Object getSelectedCell() { public Object getSelectedCell() {
return selectedCell; return selectedCell;
} }
/**
* Ajoute le surlignement de sélection sur les cellules sélectionnées
*
* @param cell les coordonnées de la cellule sélectionnée
*/
public void selectionCell(Coord cell) { public void selectionCell(Coord cell) {
map.ajouterViseur(cell); map.ajouterViseur(cell);
selectedCell = cell; selectedCell = cell;
} }
/**
* Permet d'ajouter un bateau sur les cellules sélectionnées
*
* @param cell les coordonnées de la cellule sélectionnée
*/
public void creerBateau(Coord cell) throws BadCoordException, CoordsBadShipException { public void creerBateau(Coord cell) throws BadCoordException, CoordsBadShipException {
Ship newShip; Ship newShip;
map.resetCell(selectedCell); map.resetCell(selectedCell);
...@@ -214,6 +252,11 @@ public class CreationFlotte extends JPanel {// JPanel { ...@@ -214,6 +252,11 @@ public class CreationFlotte extends JPanel {// JPanel {
} }
} }
/**
* Permet d'effacer les bateaux sur la cellule sélectionnée
*
* @param cell les coordonées de la cellule sélectionnée
*/
public void effacerBateau(Coord cell) { public void effacerBateau(Coord cell) {
for (IShip ship : appli.getFlotte().getShips()) { for (IShip ship : appli.getFlotte().getShips()) {
if (ship.getCoords().contains(cell)) { if (ship.getCoords().contains(cell)) {
...@@ -231,10 +274,20 @@ public class CreationFlotte extends JPanel {// JPanel { ...@@ -231,10 +274,20 @@ public class CreationFlotte extends JPanel {// JPanel {
} }
} }
/**
* Créé la liste des bateaux restant à placer
*
* @return les bateaux restants
*/
public LinkedList<JLabel> getBateauxRestants() { public LinkedList<JLabel> getBateauxRestants() {
return bateauxRestant; return bateauxRestant;
} }
/**
* Sélectionne la version du jeu voulue
*
* @param version la version du jeu
*/
public void setVersion(boolean version) { public void setVersion(boolean version) {
appli.setVersion(version); appli.setVersion(version);
if (appli.getFlotte().isFrenchConfiguration() != appli.getVersion() && appli.getFlotte().isComplete()) { if (appli.getFlotte().isFrenchConfiguration() != appli.getVersion() && appli.getFlotte().isComplete()) {
...@@ -249,18 +302,38 @@ public class CreationFlotte extends JPanel {// JPanel { ...@@ -249,18 +302,38 @@ public class CreationFlotte extends JPanel {// JPanel {
version ? Arrays.asList(LISTE_BATEAUX_V_FR) : Arrays.asList(LISTE_BATEAUX_V_BE)); version ? Arrays.asList(LISTE_BATEAUX_V_FR) : Arrays.asList(LISTE_BATEAUX_V_BE));
} }
/**
* Lance le choix de la partie (héberger ou rejoindre)
*
* @param l l'appuie sur le bouton
*/
public void fixeListenerOuvrirChoixPartie(ActionListener l) { public void fixeListenerOuvrirChoixPartie(ActionListener l) {
ready.addActionListener(l); ready.addActionListener(l);
} }
/**
* Annule le placement des bateaux
*
* @param l l'appuie sur le bouton
*/
public void fixeListenerResetFlotte(ActionListener l) { public void fixeListenerResetFlotte(ActionListener l) {
reset.addActionListener(l); reset.addActionListener(l);
} }
/**
* Annule la création de la flotte / Retour au menu
*
* @param l l'appuie sur le bouton
*/
public void fixeListenerFermerCreation(ActionListener l) { public void fixeListenerFermerCreation(ActionListener l) {
retour.addActionListener(l); retour.addActionListener(l);
} }
/**
* Place un bateau sur la cellule sélectionnée
*
* @param l l'appuie sur le bouton
*/
public void fixeListenerAjouterBateau(MouseListener l) { public void fixeListenerAjouterBateau(MouseListener l) {
map.addMouseListener(l); map.addMouseListener(l);
} }
......
...@@ -18,6 +18,11 @@ import javax.swing.text.StyleContext; ...@@ -18,6 +18,11 @@ import javax.swing.text.StyleContext;
import info1.application.appli; import info1.application.appli;
/**
* JDialog affichant les crédits du jeu
*
* @version 2.1
*/
public class Credits extends JDialog { public class Credits extends JDialog {
public static final int WIDTH = 500; public static final int WIDTH = 500;
......
...@@ -4,22 +4,25 @@ import info1.ships.ICoord; ...@@ -4,22 +4,25 @@ import info1.ships.ICoord;
import info1.ships.INavyFleet; import info1.ships.INavyFleet;
import info1.ships.IShip; import info1.ships.IShip;
/**
* Gère la map
*/
public abstract interface IMap{ public abstract interface IMap{
public abstract void ajouterPlouf(ICoord cell); public abstract void ajouterPlouf(ICoord cell);
public abstract void ajouterBoom(ICoord cell); public abstract void ajouterBoom(ICoord cell);
public abstract void ajouterBateau(IShip ship); public abstract void ajouterBateau(IShip ship);
public abstract void resetGrille(); public abstract void resetGrille();
public abstract void ajouterFlotte(INavyFleet flotte); public abstract void ajouterFlotte(INavyFleet flotte);
public abstract void noyerBateau(ICoord cell); //doit aussi supprimer les boom public abstract void noyerBateau(ICoord cell); //doit aussi supprimer les boom
public abstract void ajouterViseur(ICoord cell); public abstract void ajouterViseur(ICoord cell);
public abstract void resetCell(ICoord cell); public abstract void resetCell(ICoord cell);
} }
...@@ -8,6 +8,11 @@ import java.io.IOException; ...@@ -8,6 +8,11 @@ import java.io.IOException;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.swing.JPanel; import javax.swing.JPanel;
/**
* JPanel gérant l'insertion des images dans les vues
*
* @version 1.0
*/
class ImagePanel extends JPanel { class ImagePanel extends JPanel {
private Image image; private Image image;
......
...@@ -15,7 +15,7 @@ import info1.ships.IShip; ...@@ -15,7 +15,7 @@ import info1.ships.IShip;
public class Map extends JPanel implements IMap { public class Map extends JPanel implements IMap {
/** /**
* représentation graphique de la grille de jeu, permets d'ajouter les images * Représentation graphique de la grille de jeu, permets d'ajouter les images
* sur la grille de jeu * sur la grille de jeu
*/ */
private BufferedImage image; private BufferedImage image;
......
...@@ -16,6 +16,11 @@ import javax.swing.JButton; ...@@ -16,6 +16,11 @@ import javax.swing.JButton;
import javax.swing.JPanel; import javax.swing.JPanel;
/**
* JPanem affichant le menu principal du jeu
*
* @version 3.2
*/
public class MenuPrincipal extends JPanel { public class MenuPrincipal extends JPanel {
// Les composants graphiques de la vue soumis à modification // Les composants graphiques de la vue soumis à modification
...@@ -32,11 +37,15 @@ public class MenuPrincipal extends JPanel { ...@@ -32,11 +37,15 @@ public class MenuPrincipal extends JPanel {
private String langue = "Français"; private String langue = "Français";
/**
* Affiche la vue du Menu
*
* @param titre le titre de la fenêtre
*/
public MenuPrincipal(String titre) { public MenuPrincipal(String titre) {
super(new BorderLayout()); super(new BorderLayout());
this.setName(titre); this.setName(titre);
try { try {
creerFlotte = new JButton(new ImageIcon((ImageIO.read(new File("img/interface/bouton/BoutonJouer1.png"))).getScaledInstance(175, 70, Image.SCALE_SMOOTH))); creerFlotte = new JButton(new ImageIcon((ImageIO.read(new File("img/interface/bouton/BoutonJouer1.png"))).getScaledInstance(175, 70, Image.SCALE_SMOOTH)));
creerFlotte.setRolloverIcon(new ImageIcon((ImageIO.read(new File("img/interface/bouton/BoutonJouer1Hover.png"))).getScaledInstance(175, 70, Image.SCALE_SMOOTH))); creerFlotte.setRolloverIcon(new ImageIcon((ImageIO.read(new File("img/interface/bouton/BoutonJouer1Hover.png"))).getScaledInstance(175, 70, Image.SCALE_SMOOTH)));
...@@ -110,31 +119,56 @@ public class MenuPrincipal extends JPanel { ...@@ -110,31 +119,56 @@ public class MenuPrincipal extends JPanel {
this.setPreferredSize(new Dimension(WIDTH,HEIGHT)); this.setPreferredSize(new Dimension(WIDTH,HEIGHT));
} }
/**
* Gère le bouton "Jouer"
*
* @param action l'action d'appuyer sur le bouton
*/
public void fixeListenerCreerFlotte(ActionListener action) { creerFlotte.addActionListener(action); } public void fixeListenerCreerFlotte(ActionListener action) { creerFlotte.addActionListener(action); }
public void fixeListenerOuvrirRegles(ActionListener action) { /**
regles.addActionListener(action); * Gère le bouton "Règles"
} *
* @param action l'action d'appuyer sur le bouton
*/
public void fixeListenerOuvrirRegles(ActionListener action) { regles.addActionListener(action); }
/**
* Gère le bouton "Options"
*
* @param action l'action d'appuyer sur le bouton
*/
public void fixeListenerOuvrirOptions(ActionListener action) { options.addActionListener(action); }
/**
* Gère le bouton "Crédits"
*
* @param action l'action d'appuyer sur le bouton
*/
public void fixeListenerOuvrirCredits(ActionListener action) { credits.addActionListener(action); }
/**
* Gère le bouton "Quitter"
*
* @param action l'action d'appuyer sur le bouton
*/
public void fixeListenerQuitterJeu(ActionListener action) { quitter.addActionListener(action); }
/**
* Sélectionne la langue du jeu
*
* @param nouvelle la langue du jeu
*/
public void setLangue( boolean nouvelle) { this.langue = nouvelle ? "Belge" : "Français"; }
/**
*Gère la langue du jeu
*
* @return la langue du jeu
*/
public String getLangue() { return this.langue; }
public void fixeListenerOuvrirOptions(ActionListener action) {
options.addActionListener(action);
}
public void fixeListenerOuvrirCredits(ActionListener action) {
credits.addActionListener(action);
}
public void fixeListenerQuitterJeu(ActionListener action) {
quitter.addActionListener(action);
}
public void setLangue( boolean nouvelle) {
this.langue = nouvelle ? "Belge" : "Français";
}
public String getLangue() {
return this.langue;
}
@Override @Override
protected void paintComponent(Graphics g) { protected void paintComponent(Graphics g) {
......
...@@ -21,6 +21,11 @@ import info1.network.Game; ...@@ -21,6 +21,11 @@ import info1.network.Game;
import info1.network.Network; import info1.network.Network;
import java.awt.event.*; import java.awt.event.*;
/**
* JPanel affichant les options d'une partie
*
* @version 1.0
*/
public class OptPartie extends JPanel { public class OptPartie extends JPanel {
//------Composant généraux------ //------Composant généraux------
...@@ -56,6 +61,11 @@ public class OptPartie extends JPanel { ...@@ -56,6 +61,11 @@ public class OptPartie extends JPanel {
private boolean join; private boolean join;
/**
* Affiche la vue de la fenêtre
*
* @param titre le titre de la fenêtre
*/
public OptPartie(String titre) { public OptPartie(String titre) {
this.setName(titre); this.setName(titre);
//faire une liste des parties initialisées avec le nom dans un label et un bouton rejoindre. //faire une liste des parties initialisées avec le nom dans un label et un bouton rejoindre.
...@@ -153,29 +163,54 @@ public class OptPartie extends JPanel { ...@@ -153,29 +163,54 @@ public class OptPartie extends JPanel {
} }
/**
* Affiche la fenêtre pour héberger une partie
*/
public void afficherHeberger() {//useless du coup ? public void afficherHeberger() {//useless du coup ?
changerTitre("creer une partie"); changerTitre("creer une partie");
heberger.setVisible(true); heberger.setVisible(true);
rejoindre.setVisible(false); rejoindre.setVisible(false);
} }
/**
* Affiche la fenêtre pour rejoindre une partie
*/
public void afficherRejoindre() { //pareil public void afficherRejoindre() { //pareil
changerTitre("rejoindre une partie"); changerTitre("rejoindre une partie");
heberger.setVisible(false); heberger.setVisible(false);
rejoindre.setVisible(true); rejoindre.setVisible(true);
} }
/**
* Change le titre de la partie
*
* @param nouveau le nouveau nom de la partie
*/
public void changerTitre(String nouveau) { public void changerTitre(String nouveau) {
this.setName(nouveau); this.setName(nouveau);
} }
/**
* Permet de choisir un pseudo
*
* @return le pseudo choisi
*/
public String getPseudo(){ public String getPseudo(){
return choixPseudo.getText(); return choixPseudo.getText();
} }
/**
* Permet de chercher une partie
*
* @return le résultat de la recherche
*/
public String getChercher(){ public String getChercher(){
return recherche.getText(); return recherche.getText();
} }
/**
* Permet d'actualiser la recherche
*/
public void actualiser(){ public void actualiser(){
if(join || creer) if(join || creer)
{ {
......
...@@ -5,6 +5,11 @@ import java.awt.*; ...@@ -5,6 +5,11 @@ import java.awt.*;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import info1.application.*; import info1.application.*;
/**
* JDialog affichant les options
*
* @version 1.1
*/
public class Options extends JDialog { public class Options extends JDialog {
public static final int WIDTH = 400; public static final int WIDTH = 400;
...@@ -19,6 +24,11 @@ public class Options extends JDialog { ...@@ -19,6 +24,11 @@ public class Options extends JDialog {
private int screenWidth = (int) screenSize.getWidth(); private int screenWidth = (int) screenSize.getWidth();
private int screenHeight = (int) screenSize.getHeight(); private int screenHeight = (int) screenSize.getHeight();