diff --git a/img/interface/bouton/BoutonDLC1.png b/img/interface/bouton/BoutonDLC1.png new file mode 100644 index 0000000000000000000000000000000000000000..e020f1f84bbfafc3b61647156d322e7ea3fea8e9 Binary files /dev/null and b/img/interface/bouton/BoutonDLC1.png differ diff --git a/img/interface/bouton/BoutonDLC1Hover.png b/img/interface/bouton/BoutonDLC1Hover.png new file mode 100644 index 0000000000000000000000000000000000000000..77d37b91acd452b277c111a00fd5dcbfa0dea1e8 Binary files /dev/null and b/img/interface/bouton/BoutonDLC1Hover.png differ diff --git a/img/interface/bouton/BoutonDLC1Pressed.png b/img/interface/bouton/BoutonDLC1Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..77d37b91acd452b277c111a00fd5dcbfa0dea1e8 Binary files /dev/null and b/img/interface/bouton/BoutonDLC1Pressed.png differ diff --git a/src/info1/Vue/ChoixModePartie.java b/src/info1/Vue/ChoixModePartie.java index 12745f390057052cafe922635bc36fb35575f7a6..a5491e328915608130923c9594b415e13af779c9 100644 --- a/src/info1/Vue/ChoixModePartie.java +++ b/src/info1/Vue/ChoixModePartie.java @@ -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); } } diff --git a/src/info1/Vue/CreationFlotte.java b/src/info1/Vue/CreationFlotte.java index 21f6f36eab9fb64b59ffeeb23ca33ffcb68ea839..41a86782818b18e2adfa1e63686268d91c6e8912 100644 --- a/src/info1/Vue/CreationFlotte.java +++ b/src/info1/Vue/CreationFlotte.java @@ -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); } diff --git a/src/info1/Vue/Credits.java b/src/info1/Vue/Credits.java index d041a023568236dc744992e5df226a9c52654a05..12b6fd2f3a719a85db01855751019c9b0e5c685e 100644 --- a/src/info1/Vue/Credits.java +++ b/src/info1/Vue/Credits.java @@ -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; @@ -48,7 +53,7 @@ public class Credits extends JDialog { "Discord - pour avoir permis de garder contact entre Loïc et les autres\n" + "Wikipédia - pour ces incroyables règles de la bataille navale en partie utilisées\n" + "Les professeurs présents - pour leur soutien durant toute cette semaine\n" + - "les repas à 1€ de la cafet'", Color.WHITE); + "La cafet' - pour ses repas à 1€", Color.WHITE); credits.setMargin(new Insets(5, 5, 5, 5)); diff --git a/src/info1/Vue/IMap.java b/src/info1/Vue/IMap.java index c58b272fad544ad469540f29fb8a4467d44827f8..84465619bbd603f341426ede351faf0dcfac5999 100644 --- a/src/info1/Vue/IMap.java +++ b/src/info1/Vue/IMap.java @@ -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); } diff --git a/src/info1/Vue/ImagePanel.java b/src/info1/Vue/ImagePanel.java index bd7f12e0b820d1be5dc585a49ec957b31b4ee633..95adf4eecb94abba23d7fca651634bb5ee2e0423 100644 --- a/src/info1/Vue/ImagePanel.java +++ b/src/info1/Vue/ImagePanel.java @@ -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; diff --git a/src/info1/Vue/Map.java b/src/info1/Vue/Map.java index fa67405e9fd24997f6299b0a4cb607483d501350..6c99a73fdb23dc6a73c4a9b1d1644f3440ff6374 100644 --- a/src/info1/Vue/Map.java +++ b/src/info1/Vue/Map.java @@ -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; diff --git a/src/info1/Vue/MenuPrincipal.java b/src/info1/Vue/MenuPrincipal.java index 5eeb46c8244044421016fda6622fcdf2f271bbdd..d5db92fc16e70b56234e80249a62ac767d45c99e 100644 --- a/src/info1/Vue/MenuPrincipal.java +++ b/src/info1/Vue/MenuPrincipal.java @@ -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) { diff --git a/src/info1/Vue/OptPartie.java b/src/info1/Vue/OptPartie.java index 747e5ff52552f4604a211e1825b30ae8ca95a373..9c0ca33651c4607421f668423bad3595a9fa046f 100644 --- a/src/info1/Vue/OptPartie.java +++ b/src/info1/Vue/OptPartie.java @@ -20,46 +20,53 @@ import com.mashape.unirest.http.exceptions.UnirestException; import info1.application.appli; 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 pour la fenetre CreerPartie______*/ - private JRadioButton vFr; - private JRadioButton vBe; +//------Composant généraux------ - private JCheckBox custom; - private JCheckBox tirRepete; - private JCheckBox grosTir; + private JButton retourChoix; + private JButton retourMenu; + + private JLabel entreePseudoLabel; + private JTextField choixPseudo; - private JButton creerPartie; private JPanel optCarry; -/*______Composant pour la fenetre RejoindrePartie______*/ +//------Composant pour la fenetre CreerPartie------ + + private JButton creerPartie; + +//------Composant pour la fenetre RejoindrePartie------ - private JButton retourChoix; - private JButton retourMenu; private JButton actualiser; private JButton joinPartie; - private JLabel entreePseudoLabel; - private JTextField entreePseudo; - private JLabel ChercherLabel; - private JTextField AChercher; - + private JTextField recherche; private Game[] listeParties; private JList<Game> parties; -/*_____Composant du Panel principal_____*/ +//------Composant du Panel principal------ private JPanel rejoindre; private JPanel heberger; - private boolean customize; private boolean creer; 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. @@ -71,11 +78,10 @@ public class OptPartie extends JPanel { rejoindre = new JPanel(); heberger = new JPanel(); - customize = false; creer = false; join = false; - /*____________________panel rejoindre____________________*/ + /*------------------------panel rejoindre------------------------*/ rejoindre.setLayout(new BorderLayout()); @@ -85,10 +91,10 @@ public class OptPartie extends JPanel { joinPartie = new JButton("Rejoindre la partie"); entreePseudoLabel = new JLabel("Entrez votre pseudo : "); - entreePseudo = new JTextField(); + choixPseudo = new JTextField(); ChercherLabel = new JLabel("chercher une partie :"); - AChercher = new JTextField(); + recherche = new JTextField(); listeParties = new Game[0]; @@ -97,13 +103,13 @@ public class OptPartie extends JPanel { JPanel ecriturePanelWest = new JPanel(); ecriturePanelWest.setLayout(new GridLayout(4, 2)); ecriturePanelWest.add(entreePseudoLabel); - ecriturePanelWest.add(entreePseudo); - - ecriturePanelWest.add(new JPanel()); ecriturePanelWest.add(new JPanel()); + ecriturePanelWest.add(choixPseudo); + ecriturePanelWest.add(new JPanel()); + ecriturePanelWest.add(new JPanel()); ecriturePanelWest.add(ChercherLabel); //TODO - ecriturePanelWest.add(AChercher); + ecriturePanelWest.add(recherche); ecriturePanelWest.add(new JPanel()); ecriturePanelWest.add(new JPanel()); @@ -136,28 +142,20 @@ public class OptPartie extends JPanel { //demander une flotte rejoindre.setVisible(false); principal.add(rejoindre,BorderLayout.WEST); - /*____________________panel creer____________________*/ + /*------------------------panel creer------------------------*/ heberger.setLayout(new GridLayout()); - vFr = new JRadioButton("version Française", true); - vBe = new JRadioButton("version Belge", false); - custom = new JCheckBox("partie customisée (non fonctionnel)", false); - tirRepete = new JCheckBox("tir répété", false); - grosTir = new JCheckBox("tir amélioré", false); creerPartie = new JButton("Créer la partie"); optCarry = new JPanel(); optCarry.setLayout(new GridLayout(3,2)); - optCarry.add(vFr); - optCarry.add(vBe); - optCarry.add(custom); optCarry.add(creerPartie); heberger.add(optCarry); heberger.setVisible(false); principal.add(heberger,BorderLayout.EAST); - /*____________________fin des layouts____________________*/ + /*------------------------fin des layouts------------------------*/ principal.setVisible(true); this.add(principal); @@ -166,47 +164,62 @@ 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); } - public String getPseudoChoisi(){ - return entreePseudo.getText(); + /** + * 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 AChercher.getText(); + return recherche.getText(); } + /** + * Permet d'actualiser la recherche + */ public void actualiser(){ - if(join == true) + if(join || creer) { - this.rejoindre.setVisible(true); - this.heberger.setVisible(false); + this.rejoindre.setVisible(join); + this.heberger.setVisible(!join); //foreach partie dans la liste partie : créer un nouveau ensemble de composants // contenant : player.getName et game.getID + type (belge, fr) et bouton rejoindre } - else { - if(creer == true){ - this.heberger.setVisible(true); - this.rejoindre.setVisible(false); - if(customize == true) { //l'action listener de customize va actualiser - optCarry.add(tirRepete); - optCarry.add(grosTir); - } - } - } } //_____________________________________________listeners_____________________________________________// public void FixeListenerCreation(ActionListener listener) diff --git a/src/info1/Vue/Options.java b/src/info1/Vue/Options.java index 9328d1357e069137d7c238414870955c7d649164..3c5ab1e42e165805a24a444c38152649cdc8e9b5 100644 --- a/src/info1/Vue/Options.java +++ b/src/info1/Vue/Options.java @@ -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); } } diff --git a/src/info1/Vue/PageJeu.java b/src/info1/Vue/PageJeu.java index 3e3d77c4a011f4199363bbd06d217f5b51d78f2d..37e9703607fab8d8e5587f47fc0f0faf51277a07 100644 --- a/src/info1/Vue/PageJeu.java +++ b/src/info1/Vue/PageJeu.java @@ -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()); diff --git a/src/info1/Vue/Regles.java b/src/info1/Vue/Regles.java index 662918512d808afb00e2a4d05f2d9eb1bc14fb47..aa99cf19b0785e2f1daf1b3b99e8a28cd4d29714 100644 --- a/src/info1/Vue/Regles.java +++ b/src/info1/Vue/Regles.java @@ -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); diff --git a/src/info1/Vue/Resultat.java b/src/info1/Vue/Resultat.java index 50ddd7cdf9e57454e90fa033933b28636e4e669c..618a8ab42dac78879b6b7537d8e2dff17a32d06c 100644 --- a/src/info1/Vue/Resultat.java +++ b/src/info1/Vue/Resultat.java @@ -12,7 +12,9 @@ import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; - +/** + * JDialog affichant les résultats de la partie + */ public class Resultat extends JDialog { // Les composants graphiques de la vue soumis à modification @@ -31,6 +33,12 @@ public class Resultat extends JDialog { private int screenWidth = (int) screenSize.getWidth(); private int screenHeight = (int) screenSize.getHeight(); + /** + * Créer la vue de la fenêtre + * + * @param titre le titre de la fenêtre + * @param gagne le résultat de la partie + */ public Resultat(String titre,boolean gagne) { this.setTitle(titre); this.setModal(true); @@ -77,14 +85,29 @@ public class Resultat extends JDialog { this.setResizable(false); } + /** + * Gère le bouton "Quitter" + * + * @param action l'action d'appuyer sur le bouton + */ public void fixeQuitterListener(ActionListener action){ quitter.addActionListener(action); } + /** + * Gère le bouton "Nouvelle Flotte" + * + * @param action l'action d'appuyer sur le bouton + */ public void fixeNouvelleFlotteListener(ActionListener action) { nouvelleFlotte.addActionListener(action); } + /** + * Gère le bouton "Rejouer" + * + * @param action l'action d'appuyer sur le bouton + */ public void fixeRejouerListener(ActionListener action) { rejouer.addActionListener(action); } diff --git a/src/info1/Vue/ViewManager.java b/src/info1/Vue/ViewManager.java index 251a99099467133d07a0dac320279e80eb8f1abf..bb21b23b62188bfc1c7a9205078482a256f925e9 100644 --- a/src/info1/Vue/ViewManager.java +++ b/src/info1/Vue/ViewManager.java @@ -9,21 +9,34 @@ import javax.swing.JPanel; import info1.application.appli; +/** + * JFrame gérant les vues des différentes fenêtres + */ public class ViewManager extends JFrame { private JPanel mainView; private Dimension ScreenSize = Toolkit.getDefaultToolkit().getScreenSize(); private int screenWidth=(int) ScreenSize.getWidth(); private int screenHeight=(int) ScreenSize.getHeight(); - + /** + * Créer une JFrame + */ public ViewManager() { super(); } + /** + * @return la vue principale + */ public JPanel getMainView() { return mainView; } + /** + * Gère la ve principale + * + * @param mainView la vue principale + */ public void setMainView(JPanel mainView) { this.mainView = mainView; Dimension taille = mainView.getPreferredSize(); @@ -39,10 +52,18 @@ public class ViewManager extends JFrame { System.gc(); //garbage Collector pour supprimer les vues et controlleurs qui ne sont plus utilisés. } + /** + * @return les titres des fenêtres + */ public String getTitre() { return this.getTitle(); } + /** + * Gère les titres des fenêtres + * + * @param titre les titres des fenêtres + */ public void setTitre(String titre) { setTitle(titre); } diff --git a/src/info1/application/appli.java b/src/info1/application/appli.java index 4df43a6c07f4229f0207eef9ec9422bc89296b19..aff23ec1f841287df9d1fe4622adccf87d403ca0 100644 --- a/src/info1/application/appli.java +++ b/src/info1/application/appli.java @@ -4,6 +4,7 @@ import java.awt.Color; import java.awt.Component; import javax.swing.JPanel; +import javax.swing.JTextField; import com.mashape.unirest.http.exceptions.UnirestException; @@ -206,8 +207,8 @@ public class appli { if (component instanceof JPanel){ setBgColorComponents((JPanel) component, c); } - component.setForeground(Color.WHITE); - component.setBackground(c); + component.setForeground(component instanceof JTextField ? c : Color.WHITE); + component.setBackground(component instanceof JTextField ? Color.WHITE : c); } jPanel.setOpaque(false); jPanel.setBackground(c); diff --git a/src/info1/controlleur/AjouterBateau.java b/src/info1/controlleur/AjouterBateau.java index f68a890d630a2ea38b5ffe8603de8cee5a359fa7..a8e4300a50f6741d8e5ffb74d1dcae946a680358 100644 --- a/src/info1/controlleur/AjouterBateau.java +++ b/src/info1/controlleur/AjouterBateau.java @@ -12,6 +12,9 @@ import info1.ships.Coord; import info1.ships.CoordsBadShipException; import info1.ships.IShip; +/** + * Gère l'ajout des bateaux + */ public class AjouterBateau implements MouseListener { CreationFlotte pageCreation; diff --git a/src/info1/controlleur/ChangerVersionControleur.java b/src/info1/controlleur/ChangerVersionControleur.java index a6269ceadfc24124a87f75945a872f3d09bf4134..57551ea50434262919a19b7a08a9a5993a70eba4 100644 --- a/src/info1/controlleur/ChangerVersionControleur.java +++ b/src/info1/controlleur/ChangerVersionControleur.java @@ -8,15 +8,26 @@ import javax.swing.JOptionPane; import info1.Vue.CreationFlotte; import info1.application.appli; +/** + * Gère le changement de version entre Belge et Français + */ public class ChangerVersionControleur implements ActionListener { private CreationFlotte pageCreation; + /** + * Change la flotte dans la fenêtre "Création de la flotte" + * + * @param pageCreation la page de création de la flotte + */ public ChangerVersionControleur(CreationFlotte pageCreation) { this.pageCreation = pageCreation; } @Override + /** + * Gère le bouton "Reset" + */ public void actionPerformed(ActionEvent e) { if (JOptionPane.showConfirmDialog(appli.getFenetre(), "Voulez vous vraiment réinitialiser la flotte ?", "Réinitialiser ?", JOptionPane.YES_NO_OPTION) == 0) { @@ -24,5 +35,4 @@ public class ChangerVersionControleur implements ActionListener { appli.afficherCreationFlotte(); } } - -} +} \ No newline at end of file diff --git a/src/info1/controlleur/FermerOptionsControleur.java b/src/info1/controlleur/FermerOptionsControleur.java index ced12cd143e22fe5cd4574b477ead5c513adc0a5..a59f8da9c7051d7acd012444b8327b4038f85434 100644 --- a/src/info1/controlleur/FermerOptionsControleur.java +++ b/src/info1/controlleur/FermerOptionsControleur.java @@ -6,18 +6,28 @@ import java.awt.event.ActionListener; import info1.Vue.Options; import info1.application.appli; - +/** + * Gère la fermeture des options + */ public class FermerOptionsControleur implements ActionListener { private Options option; + /** + * Gère le bouton "Fermer" + * + * @param opt les options + */ public FermerOptionsControleur(Options opt) { option = opt; } @Override + /** + * Gère les options + */ public void actionPerformed(ActionEvent e) { appli.setVersion(option.getLangueChoisie()); System.out.println(appli.getVersion()); option.dispose(); } -} +} \ No newline at end of file diff --git a/src/info1/controlleur/OuvrirChoixPartieControleur.java b/src/info1/controlleur/OuvrirChoixPartieControleur.java index 8303e692228aef655deabbb9844dd6cac81dfc2c..76146413a68bf51f937b797a0d8262f2dc309921 100644 --- a/src/info1/controlleur/OuvrirChoixPartieControleur.java +++ b/src/info1/controlleur/OuvrirChoixPartieControleur.java @@ -8,11 +8,18 @@ import javax.swing.JOptionPane; import info1.application.appli; - +/** + * Gère l'ouverture des choix de partie + */ public class OuvrirChoixPartieControleur implements ActionListener { private JDialog dialog; + /** + * Ouvre la fenêtre de choix + * + * @param dialog la fenêtre + */ public OuvrirChoixPartieControleur(JDialog dialog) { this.dialog = dialog; } @@ -21,6 +28,9 @@ public class OuvrirChoixPartieControleur implements ActionListener { } @Override + /** + * Gère la fenêtre de choix + */ public void actionPerformed(ActionEvent e) { if (!((appli.getFlotte().isBelgianConfiguration()) && !appli.getVersion() || (appli.getFlotte().isFrenchConfiguration()) && appli.getVersion())){ diff --git a/src/info1/controlleur/OuvrirCreditsControleur.java b/src/info1/controlleur/OuvrirCreditsControleur.java index 4aa4752cc66815d089d9fa2548dd5e09fce0a6e5..ced89403f0671e3f9833d2ba6e5ed423fb3b5a56 100644 --- a/src/info1/controlleur/OuvrirCreditsControleur.java +++ b/src/info1/controlleur/OuvrirCreditsControleur.java @@ -8,13 +8,18 @@ import javax.swing.JPanel; import info1.Vue.Credits; import info1.application.appli; - +/** + * Gère l'ouverture des crédits + */ public class OuvrirCreditsControleur implements ActionListener { public OuvrirCreditsControleur() { } @Override + /** + * Gère l'action effectuée + */ public void actionPerformed(ActionEvent e) { Credits credits = new Credits("Crédits"); System.out.println(credits.getContentPane()); diff --git a/src/info1/controlleur/OuvrirCreerFlotteControleur.java b/src/info1/controlleur/OuvrirCreerFlotteControleur.java index 628733a2f9ada28b5c5c56f38a88dde2b3cb78d3..d7008056cc7e2da1c50453026a945447e69bd628 100644 --- a/src/info1/controlleur/OuvrirCreerFlotteControleur.java +++ b/src/info1/controlleur/OuvrirCreerFlotteControleur.java @@ -7,7 +7,9 @@ import javax.swing.JDialog; import info1.application.appli; - +/** + * Gère l'ouverture de la création de flotte + */ public class OuvrirCreerFlotteControleur implements ActionListener { private JDialog dialog; @@ -16,7 +18,9 @@ public class OuvrirCreerFlotteControleur implements ActionListener { } public OuvrirCreerFlotteControleur(){} - @Override + /** + * Gère l'action effectuée + */ public void actionPerformed(ActionEvent e) { if (dialog!=null) dialog.dispose(); appli.afficherCreationFlotte(); diff --git a/src/info1/controlleur/OuvrirCreerPartieControleur.java b/src/info1/controlleur/OuvrirCreerPartieControleur.java index 5f91b046b2449d7d172a567b47f6e404ce3ee0e3..deabd9a26aafd8d1231c700a9a55d51c1d4b9aa1 100644 --- a/src/info1/controlleur/OuvrirCreerPartieControleur.java +++ b/src/info1/controlleur/OuvrirCreerPartieControleur.java @@ -7,6 +7,9 @@ import javax.swing.JDialog; import info1.application.appli; +/** + * Gère l'ouverture de la création de partie + */ public class OuvrirCreerPartieControleur implements ActionListener { private JDialog dialog; diff --git a/src/info1/controlleur/OuvrirOptionsControleur.java b/src/info1/controlleur/OuvrirOptionsControleur.java index 847f8967bd8396a6b44481d552c4f22c3aea31c1..725d51b2893cbf004b3ab05ea7a1de174996d761 100644 --- a/src/info1/controlleur/OuvrirOptionsControleur.java +++ b/src/info1/controlleur/OuvrirOptionsControleur.java @@ -8,7 +8,9 @@ import javax.swing.JPanel; import info1.Vue.Options; import info1.application.appli; - +/** + * Gère l'ouverture des options + */ public class OuvrirOptionsControleur implements ActionListener { diff --git a/src/info1/controlleur/OuvrirPageJeuControleur.java b/src/info1/controlleur/OuvrirPageJeuControleur.java index 5acc203e895456bdcfd4ed384658b0756c3c2dc0..c9859c98074b18fc858a87acff5d79871e69121d 100644 --- a/src/info1/controlleur/OuvrirPageJeuControleur.java +++ b/src/info1/controlleur/OuvrirPageJeuControleur.java @@ -5,6 +5,9 @@ import java.awt.event.ActionListener; import info1.application.appli; +/** + * Gère l'ouverture de la page de jeu + */ public class OuvrirPageJeuControleur implements ActionListener { public OuvrirPageJeuControleur() { diff --git a/src/info1/controlleur/OuvrirReglesControleur.java b/src/info1/controlleur/OuvrirReglesControleur.java index 8a29d09cbfb6ce7b74c67e5a896174b9eaf75e04..10ab7534baa81069ef65b1b9754150c138fe3bb0 100644 --- a/src/info1/controlleur/OuvrirReglesControleur.java +++ b/src/info1/controlleur/OuvrirReglesControleur.java @@ -8,13 +8,13 @@ import javax.swing.JPanel; import info1.Vue.Regles; import info1.application.appli; - +/** + * Gère l'ouverture des règles + */ public class OuvrirReglesControleur implements ActionListener { - - -public OuvrirReglesControleur() { - } + public OuvrirReglesControleur() { + } @Override public void actionPerformed(ActionEvent e) { @@ -23,29 +23,29 @@ public OuvrirReglesControleur() { regles.setVisible(true); } } -//* des possibles modifications à faire pour le lien wikipédia - /* - JLabel lb_url = new JLabel(); - lb_url.setText("http://www.fobec.com"); - lb_url.setCursor(new Cursor(Cursor.HAND_CURSOR)); - addListener(lb_url); - JPanel panel = new JPanel(); - panel.add(lb_url); - getContentPane().add(panel); - } + //* des possibles modifications à faire pour le lien wikipédia + /* + JLabel lb_url = new JLabel(); + lb_url.setText("http://www.fobec.com"); + lb_url.setCursor(new Cursor(Cursor.HAND_CURSOR)); + addListener(lb_url); + JPanel panel = new JPanel(); + panel.add(lb_url); + getContentPane().add(panel); + } -private void addListener(JLabel lb_url) { - lb_url.addMouseListener(new MouseAdapter() { - //Click sur le lien - public void mouseClicked(MouseEvent e) { - JLabel label=(JLabel)e.getSource(); - String plainText = label.getText().replaceAll("\<.*?\>", ""); - try { - Desktop.getDesktop().browse(new URI(plainText)); - } catch (URISyntaxException ex) { - Logger.getLogger(JLabelHyperlink.class.getName()).log(Level.SEVERE, null, ex); - } catch (IOException ex) { - Logger.getLogger(JLabelHyperlink.class.getName()).log(Level.SEVERE, null, ex); + private void addListener(JLabel lb_url) { + lb_url.addMouseListener(new MouseAdapter() { + //Click sur le lien + public void mouseClicked(MouseEvent e) { + JLabel label=(JLabel)e.getSource(); + String plainText = label.getText().replaceAll("\<.*?\>", ""); + try { + Desktop.getDesktop().browse(new URI(plainText)); + } catch (URISyntaxException ex) { + Logger.getLogger(JLabelHyperlink.class.getName()).log(Level.SEVERE, null, ex); + } catch (IOException ex) { + Logger.getLogger(JLabelHyperlink.class.getName()).log(Level.SEVERE, null, ex); + } } - } - */ + */ diff --git a/src/info1/controlleur/OuvrirRejoindrePartieControleur.java b/src/info1/controlleur/OuvrirRejoindrePartieControleur.java index d95becd79a6e4b732ac44e7f3283b8525e4c3405..e46d683a6a450f0fa66e5bf6b51983992e23b70a 100644 --- a/src/info1/controlleur/OuvrirRejoindrePartieControleur.java +++ b/src/info1/controlleur/OuvrirRejoindrePartieControleur.java @@ -7,6 +7,9 @@ import javax.swing.JDialog; import info1.application.appli; +/** + * Gère l'ouverture de la page pour rejoindre une partie + */ public class OuvrirRejoindrePartieControleur implements ActionListener { private JDialog dialog; diff --git a/src/info1/controlleur/QuitterJeuControleur.java b/src/info1/controlleur/QuitterJeuControleur.java index 75fad6ea797f28ea865d9d360f924d20883e35ff..a360ec5b81ab22c89944f40628c4e55ecf2789a2 100644 --- a/src/info1/controlleur/QuitterJeuControleur.java +++ b/src/info1/controlleur/QuitterJeuControleur.java @@ -8,6 +8,9 @@ import javax.swing.JOptionPane; import info1.application.appli; +/** + * Gère le bouton "Quitter" du jeu + */ public class QuitterJeuControleur implements ActionListener { private JDialog dialog; diff --git a/src/info1/controlleur/RetourAuMenuControleur.java b/src/info1/controlleur/RetourAuMenuControleur.java index 19cea5ca38296b6474a265c4f9ff3619f31977a4..7bbabed256701e516dd3bc17d98058ef5afd3422 100644 --- a/src/info1/controlleur/RetourAuMenuControleur.java +++ b/src/info1/controlleur/RetourAuMenuControleur.java @@ -7,7 +7,9 @@ import javax.swing.JDialog; import info1.application.appli; - +/** + * Gère le bouton de retour au menu + */ public class RetourAuMenuControleur implements ActionListener { private JDialog dialog; diff --git a/src/info1/controlleur/SelectCell.java b/src/info1/controlleur/SelectCell.java index ad18edde1d77349381e4d1850e54a73f31a7139e..4e665b79060c9733464f1b51d91eae44e2b30dff 100644 --- a/src/info1/controlleur/SelectCell.java +++ b/src/info1/controlleur/SelectCell.java @@ -10,6 +10,9 @@ import info1.application.appli; import info1.ships.BadCoordException; import info1.ships.Coord; +/** + * Gère la sélection des cellules sur la carte + */ public class SelectCell implements MouseListener { private PageJeu pageJeu; diff --git a/src/info1/controlleur/Shoot.java b/src/info1/controlleur/Shoot.java index eb7edc4a06b64725f7be8df3b1cd4ca239b7c186..2297b6570e08de84f1136c2f02f1902a1e8f0766 100644 --- a/src/info1/controlleur/Shoot.java +++ b/src/info1/controlleur/Shoot.java @@ -14,6 +14,9 @@ import info1.network.Network; import info1.ships.BadCoordException; import info1.ships.Coord; +/** + * Gère le tir sur la carte + */ public class Shoot implements ActionListener { private PageJeu pageJeu;