diff --git a/Compte-Rendu/ENSIBS_LOGO.png b/Compte-Rendu/ENSIBS_LOGO.png new file mode 100644 index 0000000..e3d8e83 Binary files /dev/null and b/Compte-Rendu/ENSIBS_LOGO.png differ diff --git a/Compte-Rendu/cr b/Compte-Rendu/cr new file mode 100644 index 0000000..0800704 --- /dev/null +++ b/Compte-Rendu/cr @@ -0,0 +1,199 @@ +| **LEIZOUR** | **Lukian** | **DEMON** | **Jérémy** | +|------------------|-------------|-------------|---------| +
+ ENSIBS_LOGO +
+
+ + +# 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. \ No newline at end of file diff --git a/merde.soil b/initialisation.soil similarity index 100% rename from merde.soil rename to initialisation.soil