199 lines
No EOL
5.5 KiB
Text
199 lines
No EOL
5.5 KiB
Text
| **LEIZOUR** | **Lukian** | **DEMON** | **Jérémy** |
|
|
|------------------|-------------|-------------|---------|
|
|
<div style="text-align: right; margin-top: -40px;">
|
|
<img src="ENSIBS_LOGO.png" alt="ENSIBS_LOGO" width="195">
|
|
</div>
|
|
<br>
|
|
|
|
|
|
# Compte Rendu du Diagrammes de Classes et d'Instances
|
|
|
|
## Diagramme de Classe
|
|
|
|
### 1. Jeu
|
|
La classe jeu permettra l'initialisation et le lancement.
|
|
- **Relations** :
|
|
- Contient plusieurs instances de la classe `Joueur` (relation "joueur").
|
|
- Contient plusieurs instances de la classe `Plateau` (relation "plateau").
|
|
|
|
### 2. Joueur
|
|
Défini le nom et les actions du joueur.
|
|
- **Attributs** :
|
|
- `nom` : String
|
|
- **Relations** :
|
|
- Associe un joueur à une `Flotte` (relation "flotte").
|
|
- Un joueur peut effectuer des `Coup` (relation "coups").
|
|
|
|
### 3. Flotte
|
|
Stock les instances bateaux.
|
|
- **Relations** :
|
|
- Contient plusieurs instances de la classe `Bateau` (relation "bateaux").
|
|
|
|
### 4. Bateau
|
|
Défini les bateaux.
|
|
- **Attributs** :
|
|
- `type` : TypeBateau (énumération)
|
|
- `longueur` : Integer
|
|
- `etat` : EtatBateau (énumération)
|
|
- `x1` : Integer
|
|
- `y1` : Integer
|
|
- `x2` : Integer
|
|
- `y2` : Integer
|
|
- **Relations** : Aucune relation spécifique n'est listée.
|
|
|
|
### 5. Plateau
|
|
Stock les cases.
|
|
- **Relations** :
|
|
- Contient plusieurs instances de la classe `Case` (relation "cases").
|
|
|
|
### 6. Case
|
|
Défini l'état d'une case et sa position.
|
|
- **Attributs** :
|
|
- `x` : Integer
|
|
- `y` : Integer
|
|
- `type` : TypeCase (énumération)
|
|
- **Relations** : Aucune relation spécifique n'est listée.
|
|
|
|
### 7. Coup
|
|
Défini un coup qui va changer l'état de la case par la suite.
|
|
- **Attributs** :
|
|
- `type` : TypeCoup (énumération)
|
|
- **Relations** :
|
|
- Associe un coup à une `Case` (relation "case").
|
|
|
|
## Énumérations
|
|
|
|
### 1. TypeCase
|
|
- **Valeurs** : Vide, Bateau, Touché, Raté
|
|
|
|
### 2. EtatBateau
|
|
- **Valeurs** : Opérationnel, Coulé
|
|
|
|
### 3. TypeCoup
|
|
- **Valeurs** : Raté, Touché, Touché_Coulé
|
|
|
|
### 4. TypeBateau
|
|
- **Valeurs** : Torpilleur, Contre_Torpilleur, Croiseur, Porte_Avions
|
|
|
|
## Relations
|
|
|
|
- Un `Jeu` contient plusieurs `Joueur` et `Plateau`.
|
|
- Un `Joueur` possède une `Flotte` et effectue des `Coup`.
|
|
- Une `Flotte` contient plusieurs `Bateau`.
|
|
- Un `Plateau` contient plusieurs `Case`.
|
|
- Un `Coup` est associé à une `Case`.
|
|
|
|
Ce diagramme de classe permet de modéliser les interactions entre les différents éléments du jeu de bataille navale, en définissant clairement les attributs et les relations entre les classes.
|
|
|
|
## Diagrammes d'Instances
|
|
|
|
### Jeu
|
|
Initialise le jeu avec les 2 joueurs.
|
|
- Instance : jeu1
|
|
- Relations :
|
|
- Contient deux instances de Joueur : joueur1 et joueur2.
|
|
- Contient deux instances de Plateau : plateau1 et plateau2.
|
|
|
|
### Joueur
|
|
Initialise les joueur avec leurs attributs et leur flotte.
|
|
- Instances :
|
|
- joueur1 :
|
|
- nom : Alpha
|
|
- Relations :
|
|
- Possède une instance de Flotte : flotte1.
|
|
- Effectue des coups (non spécifiés dans ce diagramme).
|
|
- joueur2 :
|
|
- nom : Beta
|
|
- Relations :
|
|
- Possède une instance de Flotte : flotte2.
|
|
- Effectue des coups (non spécifiés dans ce diagramme).
|
|
|
|
### Flotte
|
|
Contient les bateaux différents en vie du joueur.
|
|
- Instances :
|
|
- flotte1 :
|
|
- Relations :
|
|
- Contient plusieurs instances de Bateau : bateau1, bateau2, bateau3, bateau4, bateau5.
|
|
- flotte2 :
|
|
- Relations :
|
|
- Contient plusieurs instances de Bateau : bateau6, bateau7, bateau8, bateau9, bateau10.
|
|
|
|
### Bateau
|
|
On vient définir les 5 bateaux disponibles. On les déclares 2 fois afin d'avoir un positionnement différent pour les deux joueurs (Ici seuls ceux du joueur 1 sont mis par soucis de lisibilité.).
|
|
- Instances :
|
|
- bateau1 :
|
|
- type : Torpilleur
|
|
- longueur : 2
|
|
- etat : Opérationnel
|
|
- x1 : 1
|
|
- y1 : 1
|
|
- x2 : 1
|
|
- y2 : 1
|
|
- bateau2 :
|
|
- type : Contre_Torpilleur
|
|
- longueur : 3
|
|
- etat : Opérationnel
|
|
- x1 : 3
|
|
- y1 : 3
|
|
- x2 : 3
|
|
- y2 : 3
|
|
- bateau3 :
|
|
- type : Croiseur
|
|
- longueur : 3
|
|
- etat : Opérationnel
|
|
- x1 : 5
|
|
- y1 : 5
|
|
- x2 : 5
|
|
- y2 : 5
|
|
- bateau4 :
|
|
- type : Porte_Avions
|
|
- longueur : 4
|
|
- etat : Opérationnel
|
|
- x1 : 4
|
|
- y1 : 4
|
|
- x2 : 4
|
|
- y2 : 4
|
|
- bateau5 :
|
|
- type : Torpilleur
|
|
- longueur : 2
|
|
- etat : Opérationnel
|
|
- x1 : 6
|
|
- y1 : 6
|
|
- x2 : 6
|
|
- y2 : 6
|
|
|
|
|
|
### Plateau
|
|
Définit les 2 plateaux, celui d'attaque,où l'on tire, et celui ou l'on place les bâteaux dit de défense
|
|
- Instances :
|
|
- plateau1 :
|
|
- Relations :
|
|
- Contient plusieurs instances de Case : case1, case2, case3.
|
|
- plateau2 :
|
|
- Relations :
|
|
- Contient plusieurs instances de Case (non spécifiées dans ce diagramme).
|
|
|
|
### Case
|
|
Concernant les cases, chaque plateau est composés de 100 cases or on ne peut pas toute les initialiser car cela prendrais trop de place sur le diagramme.
|
|
- Instances :
|
|
- case1 :
|
|
- x : 1
|
|
- y : 1
|
|
- type : Vide
|
|
- case2 :
|
|
- x : 2
|
|
- y : 2
|
|
- type : Raté
|
|
- case3 :
|
|
- x : 3
|
|
- y : 3
|
|
- type : Vide
|
|
|
|
### Relations
|
|
|
|
- Un Jeu (jeu1) contient deux Joueur (joueur1 et joueur2) et deux Plateau (plateau1 et plateau2).
|
|
- Chaque Joueur possède une Flotte (flotte1 pour joueur1 et flotte2 pour joueur2).
|
|
- Chaque Flotte contient plusieurs Bateau (bateau1 à bateau5 pour flotte1 et bateau6 à bateau10 pour flotte2).
|
|
- Chaque Plateau contient plusieurs Case (case1 à case3 pour plateau1).
|
|
|
|
Ce diagramme d'instances illustre une configuration de début du jeu de bataille navale, montrant comment les différentes instances des classes interagissent entre elles. |