0% ont trouvé ce document utile (0 vote)
20 vues3 pages

Créez Pour Un Nouveau Projet Pour Chaque Partie

Ce document décrit un TP sur la POO en Java avec la création de classes représentant des personnes (étudiants, professeurs, doctorants) implémentant des interfaces et des classes héritées. Il présente également la modélisation d'une armée avec différents types de soldats (archers, chevaliers, paladins) se battant au sein d'armées.

Transféré par

PLAY AFIFI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
20 vues3 pages

Créez Pour Un Nouveau Projet Pour Chaque Partie

Ce document décrit un TP sur la POO en Java avec la création de classes représentant des personnes (étudiants, professeurs, doctorants) implémentant des interfaces et des classes héritées. Il présente également la modélisation d'une armée avec différents types de soldats (archers, chevaliers, paladins) se battant au sein d'armées.

Transféré par

PLAY AFIFI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP2:

BUT TP : notions classes, objets, attributs, méthodes, héritage,


polymorphisme
Créez pour un nouveau projet pour chaque partie.
Tous les attributs sont par défaut privées

Partie 1 :
Créer une classe abstract personne dont les attributs sont : String Nom, String email.

a. Ajouter deux constructeurs avec et sans paramètres.


b. Ajouter des guetteurs et setteurs.
2) Modifier votre code pour que les deux classes Etudiant et Professeur héritent de la
classe personne.
3) Ajouter une interface Enseignent qui déclarent les méthodes suivantes :
a. Double getChargeHoraire() ;
b. Double getVacations()
4) Ajouter un attribut Module[4] cours dans la classe Professeur et un attribut String
grade (PA, PH ou PES).
5) Ajouter une classe doctorant qui hérite de la classe étudiant et implémente l’interface
Enseignent.
a. Les attributs sont : String SujetThese, professeur[2] encadrant, Module[2]
cours.
b. Ajouter un constructeur sans paramètres , des guetteurs et des setteurs.
c. Le calcul des vacations se fait avec les règles suivantes :
i. Chaque heure est rémunéré par 400 DRH, si le nbr d’heures dépasse
32, les heures sont considères comme heures sup et sont rémunéré par
600 DRH.
ii. Une déduction de 34% est effectuée sur les heures normales. Pour les
heures sup c’est 17%.
6) La classe professeur implémente l’interface Enseignent.
a. Le calcul des vacations se fait avec les règles suivantes :
i. Les heures sup sont calculés avec les deux formules suivantes :
1. HeuresSup = ChargeHoraire – ChargeMinimale
2. ChargeMinimal est 320 pour PA, 300 pour PH et 280 pour PES
ii. Chaque heure est rémunéré par 400 DRH, si le nbr d’heures dépasse
32, les heures sont considères comme heures sup et sont rémunéré par
600 DRH.
iii. Une déduction de 34% est effectuée sur les heures normales. Pour les
heures sup c’est 17%.
iv. Une prime d’encadrement de 5000 DRH est ajoutée au vacations.
7) Modifier la classe UFR :
a. Ajouter un attribut Enseignent[] enseignent
b. Ajouter un attribut Module[] modules
c. Ajouter un constructeur sans paramètres.
d. Ajouter une méthode void afficher() qui affiche la charge horaire de chaque
enseignent.
e. Ajouter une méthode double getVacations() qui calcule la charge financière
des vacations de l’UFR.

Partie 2 :
Nous souhaiterons réaliser un petit jeu de rôle. Chaque joueur à une armée, la constitution
d’une armée est un bon exemple pour illustrer l’héritage.

On vous propose donc de commencer par créer une classe Soldat qui contient (entre autres) :

-un attribut nom qui représente le nom du Soldat.

-un attribut hp (pour Health Points) qui représente les points de vie du Soldat

-un attribut qui s’appelle atk qui représente la force de base de l’attaque du Soldat.

-un constructeur pour instancier des Soldat adéquatement.

-des getters (accesseurs) qui permettent de consulter les attributs du Soldat.

-une méthode isDead() qui retourne un boolean pour indiquer si un Soldat

est mort (hp == 0) ou non.

-une méthode attaquer(Soldat p) qui permet au Soldat appelant d’attaquer le Soldat passé en
paramètre. L’attaque déduit atk points de la vie hp du Soldat attaqué p.

-une redéfinition de la méthode toString qui affiche les informations du Soldat.

En plus des Soldat normaux (décrits à travers la classe Soldat) on ressence trois types de
Soldat. Les paladins, les cavaliers, les archers.

- les Soldats de type Archées sont super efficaces contre les Soldat de type

Paladin et leur infligent deux fois plus de dégâts (2*atk). Par contre, ils sont

très peu efficaces contre les Soldat de type cavalier et ne leur

infligent que la moitié des dégâts (0.5*atk). Ils infligent des dégâts normaux aux archers

- les Soldats de type Paladins sont super efficaces contre les Soldat de type

Chevalier et leur infligent deux fois plus de dégâts (2*atk). Par contre, ils sont
très peu efficaces contre les Soldat de type arché et ne leur

infligent que la moitié des dégâts (0.5*atk). Ils infligent des dégâts normaux aux paladins

- les Soldats de type Chevalier sont super efficaces contre les Soldat de type

archée et leur infligent deux fois plus de dégâts (2*atk). Par contre, ils sont

très peu efficaces contre les Soldat de type paladin et ne leur

infligent que la moitié des dégâts (0.5*atk). Ils infligent des dégâts normaux aux chevalier

1-Créer les quatre classes :Soldat , Paladin, Archée, Chevalier. La classe Soldat doit être
abstract.

2-Créer Une classe Armée dont les attributs sont les suivant :

1- max_hp : max_totale vie armée

2- max_atk :max_totale attaque armée

3-un tableau de taille 10 de type soldats

Ajouter deux constructeur sans paramètres et avec paramètres (max_hp, max_atk)

Ajouter des getteurs pour max_hp, max_atk

Ajouter une méthode add_Soldat(Soldat soldat) qui permit d’ajouter un soldat ( on doit
vérifier que le max_hp et max_atk n’est pas dépassé pour l’ensemble des soldats)

Ajouter une méthode afficher()

Ajouter une méthode boolean combattre( Armée armée) : cette méthode doit effectuer des
tirages aléatoire d’un soldat de chaque armée et les faire combattre jusqu'à qu’une des armées
soit anéanti. On renvoie true si notre armée a gagné et false dans le cas contraire.

3-Crée une classe test et réaliser un combat entre deux armées.

Vous aimerez peut-être aussi