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;
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 {
......@@ -29,7 +34,11 @@ public class ChoixModePartie extends JDialog {
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) {
this.setTitle(titre);
......@@ -74,8 +83,25 @@ public class ChoixModePartie extends JDialog {
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); }
}
......@@ -35,6 +35,13 @@ import info1.ships.NavyFleet;
import info1.ships.Ship;
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 {
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 {
private JButton refresh;
private Coord selectedCell;
/**
* Création de la vue de la page
*
* @param titre le titre de la fenêtre
*/
public CreationFlotte(String titre) {
super(new BorderLayout());
this.setName(titre);
for (JLabel label : LISTE_BATEAUX_V_BE) {
......@@ -102,6 +115,16 @@ public class CreationFlotte extends JPanel {// JPanel {
insets.bottom + (int) DIMENSION_REFRESH.getHeight(), (int) DIMENSION_REFRESH.getWidth(),
(int) DIMENSION_REFRESH.getHeight());
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(reset);
......@@ -150,15 +173,30 @@ public class CreationFlotte extends JPanel {// JPanel {
return label;
}
/**
* Retourne la cellule selectionnée sur la grille
*
* @return la cellule sélectionnée
*/
public Object getSelectedCell() {
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) {
map.ajouterViseur(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 {
Ship newShip;
map.resetCell(selectedCell);
......@@ -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) {
for (IShip ship : appli.getFlotte().getShips()) {
if (ship.getCoords().contains(cell)) {
......@@ -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() {
return bateauxRestant;
}
/**
* Sélectionne la version du jeu voulue
*
* @param version la version du jeu
*/
public void setVersion(boolean version) {
appli.setVersion(version);
if (appli.getFlotte().isFrenchConfiguration() != appli.getVersion() && appli.getFlotte().isComplete()) {
......@@ -249,18 +302,38 @@ public class CreationFlotte extends JPanel {// JPanel {
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) {
ready.addActionListener(l);
}
/**
* Annule le placement des bateaux
*
* @param l l'appuie sur le bouton
*/
public void fixeListenerResetFlotte(ActionListener 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) {
retour.addActionListener(l);
}
/**
* Place un bateau sur la cellule sélectionnée
*
* @param l l'appuie sur le bouton
*/
public void fixeListenerAjouterBateau(MouseListener l) {
map.addMouseListener(l);
}
......
......@@ -18,6 +18,11 @@ import javax.swing.text.StyleContext;
import info1.application.appli;
/**
* JDialog affichant les crédits du jeu
*
* @version 2.1
*/
public class Credits extends JDialog {
public static final int WIDTH = 500;
......
......@@ -4,22 +4,25 @@ import info1.ships.ICoord;
import info1.ships.INavyFleet;
import info1.ships.IShip;
/**
* Gère la map
*/
public abstract interface IMap{
public abstract void ajouterPlouf(ICoord cell);
public abstract void ajouterBoom(ICoord cell);
public abstract void ajouterBateau(IShip ship);
public abstract void resetGrille();
public abstract void ajouterFlotte(INavyFleet flotte);
public abstract void noyerBateau(ICoord cell); //doit aussi supprimer les boom
public abstract void ajouterViseur(ICoord cell);
public abstract void resetCell(ICoord cell);
}
......@@ -8,6 +8,11 @@ import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
/**
* JPanel gérant l'insertion des images dans les vues
*
* @version 1.0
*/
class ImagePanel extends JPanel {
private Image image;
......
......@@ -15,7 +15,7 @@ import info1.ships.IShip;
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
*/
private BufferedImage image;
......
......@@ -16,6 +16,11 @@ import javax.swing.JButton;
import javax.swing.JPanel;
/**
* JPanem affichant le menu principal du jeu
*
* @version 3.2
*/
public class MenuPrincipal extends JPanel {
// Les composants graphiques de la vue soumis à modification
......@@ -32,11 +37,15 @@ public class MenuPrincipal extends JPanel {
private String langue = "Français";
/**
* Affiche la vue du Menu
*
* @param titre le titre de la fenêtre
*/
public MenuPrincipal(String titre) {
super(new BorderLayout());
this.setName(titre);
try {
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)));
......@@ -110,31 +119,56 @@ public class MenuPrincipal extends JPanel {
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 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
protected void paintComponent(Graphics g) {
......
......@@ -21,6 +21,11 @@ import info1.network.Game;
import info1.network.Network;
import java.awt.event.*;
/**
* JPanel affichant les options d'une partie
*
* @version 1.0
*/
public class OptPartie extends JPanel {
//------Composant généraux------
......@@ -56,6 +61,11 @@ public class OptPartie extends JPanel {
private boolean join;
/**
* Affiche la vue de la fenêtre
*
* @param titre le titre de la fenêtre
*/
public OptPartie(String titre) {
this.setName(titre);
//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 {
}
/**
* Affiche la fenêtre pour héberger une partie
*/
public void afficherHeberger() {//useless du coup ?
changerTitre("creer une partie");
heberger.setVisible(true);
rejoindre.setVisible(false);
}
/**
* Affiche la fenêtre pour rejoindre une partie
*/
public void afficherRejoindre() { //pareil
changerTitre("rejoindre une partie");
heberger.setVisible(false);
rejoindre.setVisible(true);
}
/**
* Change le titre de la partie
*
* @param nouveau le nouveau nom de la partie
*/
public void changerTitre(String nouveau) {
this.setName(nouveau);
}
/**
* Permet de choisir un pseudo
*
* @return le pseudo choisi
*/
public String getPseudo(){
return choixPseudo.getText();
}
/**
* Permet de chercher une partie
*
* @return le résultat de la recherche
*/
public String getChercher(){
return recherche.getText();
}
/**
* Permet d'actualiser la recherche
*/
public void actualiser(){
if(join || creer)
{
......
......@@ -5,6 +5,11 @@ import java.awt.*;
import java.awt.event.ActionListener;
import info1.application.*;
/**
* JDialog affichant les options
*
* @version 1.1
*/
public class Options extends JDialog {
public static final int WIDTH = 400;
......@@ -19,6 +24,11 @@ public class Options extends JDialog {
private int screenWidth = (int) screenSize.getWidth();
private int screenHeight = (int) screenSize.getHeight();
/**
* Affiche la vue de la fenêtre
*
* @param titre le titre de la fenêtre
*/
public Options(String titre) {
this.setTitle(titre);
......@@ -35,7 +45,7 @@ public class Options extends JDialog {
langueBe.setForeground(Color.WHITE);
fermer.setForeground(Color.WHITE);
langues.setForeground(Color.WHITE);
principal.add(langues);
principal.add(langueFr);
principal.add(langueBe);
......@@ -52,9 +62,19 @@ public class Options extends JDialog {
this.setAlwaysOnTop(true);
}
/**
* Gère le choix de la langue
*
* @return le choix de la langue
*/
public boolean getLangueChoisie(){
return langueFr.isSelected();
}
/**
* Gère le bouton "Valider et fermer"
*
* @param action l'action d'appuyer sur le bouton
*/
public void fixeListenerFermerOptions(ActionListener action) { fermer.addActionListener(action); }
}
......@@ -23,6 +23,11 @@ import info1.controlleur.OuvrirCreerFlotteControleur;
import info1.controlleur.QuitterJeuControleur;
import info1.ships.Coord;
/**
* JPanel affichant la vue de la partie en cours
*
* @version 1.0
*/
public class PageJeu extends JPanel {
private Map map;
......@@ -93,18 +98,35 @@ public class PageJeu extends JPanel {
this.add(sud,BorderLayout.SOUTH);
}
/**
* Gère la sélection d'une cellule
*
* @param l l'action d'appuyer sur le bouton
*/
public void setMapListener(MouseListener l){
map.addMouseListener(l);
}
/**
* Gère le bouton "Shoot !"
*
* @param l l'action d'appuyer sur le bouton
*/
public void setConfirmerListener(ActionListener l){
confirmer.addActionListener(l);
}
/**
* Gère les tirs manqués
*/
public void manque (){
listPlouf.add(tir);
map.ajouterPlouf(tir);
}
/**
* Gère les tirs touchant un navire adverse
*/
public void touche (){
listTouche.add(tir);
pvP2Value--;
......@@ -112,6 +134,10 @@ public class PageJeu extends JPanel {
pvP2.setValue(pvP2Value);
map.ajouterBoom(tir);
}
/**
* Gère les bateaux coulés
*/
public void coule (){
listCoule.add(tir);
pvP2Value--;
......@@ -120,6 +146,11 @@ public class PageJeu extends JPanel {
map.noyerBateau(tir);
}
/**
* Affiche le selecteur de cellule
*
* @param cell les coordonnées de la cellule sélectionnée
*/
public void afficherViseur(Coord cell){
if (tir!=null){
//reset de ka cellulle précédement séléctionnée
......@@ -138,10 +169,20 @@ public class PageJeu extends JPanel {
map.ajouterViseur(tir);
}
/**
* Gère le tir
*
* @return les coordonnées du tir
*/
public Coord getTir(){
return tir;
}
/**
* !je sais pas, c'est quoi ret ???
*
* @return
*/
public ArrayList<Coord> getListTir(){
ArrayList<Coord> ret = new ArrayList<Coord>();
ret.addAll(listTouche);
......@@ -150,6 +191,11 @@ public class PageJeu extends JPanel {
return ret;
}
/**
* Gère le résultat de la bataille
*
* @param myself le résultat de la bataille
*/
public void gagne(boolean myself){
Resultat result = new Resultat(myself ? "\t Gagne =D" : "\t Perdu =C",myself);
appli.setBgColorComponents((JPanel) result.getContentPane());
......
......@@ -17,6 +17,11 @@ import javax.swing.text.StyleContext;
import info1.application.appli;
/**
* JDialog affichant les règles de la bataille navale
*
* @version 1.5
*/
public class Regles extends JDialog {
public static final int WIDTH = 600;
......@@ -28,6 +33,11 @@ public class Regles extends JDialog {
private int screenWidth = (int) screenSize.getWidth();
private int screenHeight = (int) screenSize.getHeight();
/**
* Affiche les règles du jeu
*
* @param titre le titre de la fenêtre
*/
public Regles(String titre) {
this.setTitle(titre