Réalisé par Vu Hoang Thuy Duong
Numéro d'étudiant : 21110221
Groupe : 7
Ce projet vise à réaliser une simulation simple de la pêche et du phénomène de la Marée noire, qui consiste principalement à faire comprendre mieux l’impact sérieux de ce genre de catastrophe ayant lieu fréquemment dans la mer.
La simulation aura lieu sur un Terrain de dimension 20x20, dont les Ressources sont : algues, coraux et rochers; les Agents viennent de 2 types : Animaux et Bateaux. Nous allons prendre en argument 2 types d’animaux : les oiseaux sur mer et les poissons, dont chaque type d’animal recevra différent chaine indiquant leur race. Pour les bateaux, on suppose 2 types : bateaux de pêches et les conteneurs transportant l’essence dans la mer.
Ce projet est réalisé dans le cadre du projet de fin semestre, contribuant 10% de la note totale de l'UE 2IN002 - Introduction à la Programmation Orientée Objet que propose Sorbonne Université durant le premier semestre en L2 Informatique.
Vous pouvez retrouvez ci-dessous la liste des methodes accessibles à partir des classes définies dans ce projet (non compris les accesseurs aux variables protected et private).
Simulation not included
public void bouger(Terrain t);
Faire bouger tout un ArrayList de type Animal, définir concrètement dans les classes filles
public boolean animal_en_XY(int x, int y);
Vérifier s'il existe un animal au coordonnée [x,y] dans l'input
public void seDeplacer(int xnew, int ynew);
Déplacer l'animal au coordonnée [xnew, ynew]
public String toString();
Renvoie toutes les informations de l'animal
extends Animal
public Bird clone();
Instruction de clone de type Bird
extends Animal
public Fish clone();
Instruction de clone de type Fish
extends ArrayList< Bird > implements Animaux
public EnsBird clone();
Instruction de clone de type EnsBird
@Override
public void bouger(Terrain t);
public boolean animal_en_XY(int x, int y);
Méthodes redéfinies Overrided depuis l'interface Animaux
public String toString();
Renvoie l'information de tous les oiseaux contenus dans EnsBird
extends ArrayList< Fish > implements Animaux
public EnsFish clone();
Instruction de clone de type EnsFish
@Override
public void bouger(Terrain t);
public boolean animal_en_XY(int x, int y);
Méthodes redéfinies Overrided depuis l'interface Animaux
public String toString();
Renvoie l'information de tous les oiseaux contenus dans EnsFish
public void reproduce();
Faire reproduire les poissons
public abstract String toString();
Méthode abstraite qui sera définie prochainement dans les classes filles
public void seDeplacer(int xnew, int ynew);
Faire déplacer les bateaux au coordonnée [xnew, ynew] dans l'input
extends Boat
public void setCapacite(int c);
Modifie la capacité du bateau
public String toString();
Définition de la méthode toString() à partir de sa méthode abstraite dans la classe mère
public FishingBoat clone();
Instruction clone de type FishingBoat
extends Boat
public String toString();
Définition de la méthode toString() à partir de sa méthode abstraite dans la classe mère
public Tank clone();
Instruction clone de type Tank
public void ajoutBoat(Boat b) throws ExceptionsPlacement;
Ajouter un bateau b dans l'ArrayList de bateaux de pêche. Rattraper l'exception de placement au cas où les coordonnées du bateau restent hors zone étudié
public void rafraichir_fish();
3 étapes principales :
- faire bouger les animaux
- baisser l'énergie des animaux (sauf s'il y a des algues au même coordonnée qu'animal, son énergie cumule une même quantité que celle des algues, et on initialise la quantité des algues à temp_repousse_algue)
- faire reprodure les animaux
public void rafraichir_monde();
Cumule la quantité des ressources de 1 à chaque appel à cette fonction
public void fishing();
Pêcher les poissons
public void tragedy() throws ExceptionsCapacite, ExceptionsDepart;
Initier la tragédie de Marée noire en rattrapant 2 type d'exception de capacité et de départ
public void depart();
Faire partir les bateaux restant au port
public String toString();
Renvoie une image concrète et simplifiée du Terrain
public class ExceptionsCapacite extends Exception;
Exception concernant la capacité des conteneurs
public class ExceptionsDepart extends Exception;
Exception concernant le départ du conteneurs
public class ExceptionsPlacement extends Exception;
Exception concernant l'emplacement des bateaux sur le Terrain
extends JPanel
Réaliser un graphe montrant le nombre d'animaux affecté lors du catastrophe de la Marée noire
Je tiens à exprimer mes sincères remerciements à mes professeurs, notamment les chargés du groupe 7 Informatique pour des lecons de Programmation Orienté Objet qui m'intéressent vraiment et qui m'ont donné une telle motivation depuis le début des cours.
Et merci beaucoup à vous tous à avoir jeté un coup d'oeil sur ce projet simple de simulation maritime :)
