CC3 .pdf


Nom original: CC3.pdf
Titre: examCC3
Auteur: Antoine Cazes

Ce document au format PDF 1.3 a été généré par Microsoft Word / Mac OS X 10.5.8 Quartz PDFContext, et a été envoyé sur fichier-pdf.fr le 17/06/2011 à 22:05, depuis l'adresse IP 2.3.x.x. La présente page de téléchargement du fichier a été vue 1295 fois.
Taille du document: 54 Ko (2 pages).
Confidentialité: fichier public


Aperçu du document


Mardi 23 novembre 2010    

 

 

 

 

 

 

   PHY2002L 

 
 
PROGRAMMATION C++ 
 
CONTROLE ECRIT 
 
Durée : 1h – Nombre de pages : 2 – documents autorisés : supports de cours, TD et TP 
 
 
But : Ecrire un jeu faisant un combat entre une liste d’adversaires. 
 
Le programme comportera 3 fichiers : main.cpp, perso.cpp et perso.h. Vous devrez écrire 
le contenu de ces trois fichiers. 
 
Le fichier perso.h contiendra : 
 
‐ [facile]  une  structure  nommée  perso  décrivant  les  caractéristiques  des 
combattants du tournoi, à savoir une chaine de caractères pour le nom, suivie de 
trois réels respectivement pour les points de vie, de force et de défense. 
‐ [facile] Les déclarations des fonctions combat, tirage et affiche qui seront écrites 
dans le fichier perso.cpp 
 
 
Le fichier perso.cpp contiendra les fonctions suivantes : 
 
‐ [facile] Une fonction affiche qui affichera à l’écran toute les caractéristiques d’un 
personnage 
‐ [moyen]  Une  fonction  tirage  qui  retourna  un  nombre  aléatoire  entre  0  et  une 
valeur réelle max passée en argument de la fonction. 
‐ [difficile] Une fonction combat qui effectuera le combat entre deux personnages 
de  type  perso.  Les  modifications  des  personnages  devront  être  conservées  pour 
les  combats  suivants.  Si  un  des  personnages  est  déjà  éliminé,  le  combat  n’a  pas 
lieu. Il se déroule de la façon suivante : 
o Tant  qu’aucun  des  deux  personnages  n’est  éliminé  (un  personnage  est 
éliminé quand ses points de vie sont  négatifs) 
 Le  premier  personnage  porte  un  coup au  second :  Le  coup  est 
calculé de la façon suivante : un tirage aléatoire entre 0 et la force 
de  l’attaquant  moins  un  tirage  aléatoire  entre  0  et  la  défense  de 
l’attaqué. Si le coup est négatif, il est paré et rien ne se passe. Si il 
est positif, on retranche à la vie de l’attaqué la valeur du coup. 
 Si  le  second  personnage  n’est  pas  éliminé,  il  porte  à  son  tour  un 
coup au premier, de la même façon que précédemment.  
 
Dans le fichier main.cpp, la fonction main() contiendra les actions suivantes : 
‐ [facile] initialisation du générateur de nombres aléatoires 
‐ [moyen] lecture du fichier personnages.txt qui a le format suivant : 
o Première  ligne :  un  entier  donnant  le  nombre  de  personnages  dans  le 
fichier 

Page 1/2 

o Puis, une ligne par personnage composée d’une chaine de caractères (sans 
espaces)  et  de  3  réels  pour  son  nom,  ses  points  de  vie,  de  force  et  de 
défense. Par exemple : 

 







Isidor 10.6 4.2 6.7 
TropFort 15.2 8.5 6.8 
Looser 4.2 5.3 4.2 
 
 
On  crée  un  tableau  dynamique  de  type  perso  ayant  pour  taille  le  nombre  de 
personnages lus en première ligne. Et on remplit chaque case de ce tableau par 
les personnages lus dans le fichier. 
[facile] On affiche l’ensemble des personnages. 
[difficile]  Viens  ensuite  le  tournoi  qui  se  fait  sous  la  façon  suivante  :  Chaque 
personnage doit rencontrer l’ensemble des autres personnages. On prendra soin 
qu’un personnage ne se combatte pas lui même !  Par contre, un personnage peut 
combattre un personnage déjà éliminé (le cas est traité à l’intérieur de la fonction 
combat). 
[moyen]  A  l’aide  d’une  boucle,  on  affiche    le  vainqueur  du  tournoi,  à  savoir  le 
dernier personnage non éliminé. 

 

Page 2/2 


Aperçu du document CC3.pdf - page 1/2

Aperçu du document CC3.pdf - page 2/2




Télécharger le fichier (PDF)


CC3.pdf (PDF, 54 Ko)



Sur le même sujet..





Ce fichier a été mis en ligne par un utilisateur du site. Identifiant unique du document: 00055987.
⚠️  Signaler un contenu illicite
Pour plus d'informations sur notre politique de lutte contre la diffusion illicite de contenus protégés par droit d'auteur, consultez notre page dédiée.