Aller au contenu

CC3

Aperçu du document CC3.pdf, page 1 sur 2
Page 1 sur 2Lire le document
Texte de la première page
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 : 

 

‐
‐

‐

3 
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 



Partager ce document

CC3fichier-pdf.frPDF2 pages

Vos contacts verront cette carte, avec la première page en image.

QR Code de ce document
Sur un téléphoneScannez le code pour ouvrir le document.Enregistrer le QR Code

Télécharger le fichier

Première page du document
Téléchargement gratuit

CC3.pdf

PDF 1.354 Ko2 pages

Faire un lien vers ce document

Lien permanentpour un message, un forum, un réseau social
Lien courtpour un SMS ou un profil
Code HTMLpour un site ou un blog

Sur le même sujet

Les mots qui reviennent le plus dans ce document. Chacun lance une recherche dans les fichiers publics.