Année Universitaire : 2018 -2019
Examen
Session Principale
Module : Conception orientée objet et programmation Java Documents autorisés : Non
Enseignants : Equipe JAVA Nombre de pages : 4
Vous devez développer les méthodes nécessaires si vous en aurez besoin
FREE FIRE
Le fournisseur de plate-forme Internet grand public basé en Asie « Garena » et l’auteur du
fameux jeux mobile « Free Fire » souhaite implanter un système informatique qui permet de
gérer les joueurs ainsi que les joueurs et les équipes au sein du jeu.
Pour ce faire, vous avez ce diagramme de classe qui détaille les principales classes utilisées
dans le système :
1
I. La classe Joueur (2.5 pts)
1. Le constructeur paramétré de la classe (0,5pt)
2. La méthode toString() qui permet d’afficher les détails du joueur (0,5pt)
3. Implémenter les méthodes nécessaires pour que le même joueur ne soit pas inséré 2
fois dans l’équipe (1,5pt)
II. La classe Equipe (12pt)
En tenant compte qu’une équipe ne doit pas contenir plus que 4 joueurs différents groupés
dans une collection, non ordonnée, et qui n’accepte pas les doublons, vous devez
développer :
1- Les attributs de la classe Equipe
2- Le constructeur paramétré
3- La méthode equals selon le libelle
4- Implémenter la méthode void ajouterJoueur(Joueur j) qui permet d’affecter un
joueur j à une équipe(2pt)
5- Implémenter la méthode void retirerJoueur(Joueur j) qui permet de retirer un joueur
d’une équipe (2pt)
6- Implémenter la méthode TreeSet<Joueur> trierListeJoueurs() qui permet de
retourner la liste de joueurs triés selon le nom (2pt)
III. La classe Partie (12pt)
1- Les attributs de cette classe (en notant que cette classe contient une variable
« participants » de type Map<String, Set<Equipe>> ou String présente le libelle
de la place du combat ainsi que l’ensemble des équipes qui participent à une
partie)
2- Le constructeur paramétré
3- La méthode long nbJoueursParEquipe(String r,Equipe p) qui permet de retourner
le nombre des joueurs dans une équipe p (avec String r représente le libelle de la
place) (avec l’api Stream)
4- La méthode void eliminerJoueur(String place, Joueur j1,Joueur j2) ou le joueur j1
élimine un joueur j2 dans une partie qui se déroule dans la place place (il faut
2
prendre en considération que le nb de diamonds s’incrémente pour j1 et se
décrémente pour j2).
5- La méthode List<Joueur> joueursVivants() qui permet de retourner la liste des
joueurs qui sont toujours vivants
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bon Courage…