cr et modif nom .soil

This commit is contained in:
vSpaike 2025-01-20 00:09:53 +01:00
parent 04a7c05eca
commit 3d1e805a0c
3 changed files with 199 additions and 0 deletions

199
Compte-Rendu/cr Normal file
View file

@ -0,0 +1,199 @@
| **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.