Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Loïc Perine
ProjetS2-2021-20-JMM
Commits
eb881951
Commit
eb881951
authored
Jun 25, 2021
by
Léo DUBOIS--JULIENNE
Browse files
les javadocs (sauf appli)
parent
9d6acc1f
Changes
13
Hide whitespace changes
Inline
Side-by-side
src/info1/Vue/ChoixModePartie.java
View file @
eb881951
...
...
@@ -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
);
}
}
src/info1/Vue/CreationFlotte.java
View file @
eb881951
...
...
@@ -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
);
}
...
...
src/info1/Vue/Credits.java
View file @
eb881951
...
...
@@ -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
;
...
...
src/info1/Vue/IMap.java
View file @
eb881951
...
...
@@ -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
);
}
src/info1/Vue/ImagePanel.java
View file @
eb881951
...
...
@@ -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
;
...
...
src/info1/Vue/Map.java
View file @
eb881951
...
...
@@ -15,7 +15,7 @@ import info1.ships.IShip;
public
class
Map
extends
JPanel
implements
IMap
{
/**
*
r
eprésentation graphique de la grille de jeu, permets d'ajouter les images
*
R
eprésentation graphique de la grille de jeu, permets d'ajouter les images
* sur la grille de jeu
*/
private
BufferedImage
image
;
...
...
src/info1/Vue/MenuPrincipal.java
View file @
eb881951
...
...
@@ -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
)
{
...
...
src/info1/Vue/OptPartie.java
View file @
eb881951
...
...
@@ -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
)
{
...
...
src/info1/Vue/Options.java
View file @
eb881951
...
...
@@ -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
);
}
}
src/info1/Vue/PageJeu.java
View file @
eb881951
...
...
@@ -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
());
...
...
src/info1/Vue/Regles.java
View file @
eb881951
...
...
@@ -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
);
...
...
src/info1/Vue/Resultat.java