classer des joueurs avec Delphi 6 - Delphi/Pascal - Programmation
Marsh Posté le 25-04-2008 à 20:04:15
Salut 
 
donne un peu plus d'info sur le type de variables utilisée etc et dans quoi ou comment tu affiche le resultat
Marsh Posté le 25-04-2008 à 20:24:39
Salut
Chaque joueur est "représenté" par un pointeur de type T_joueur, qui est un record avec les champs suivant: pseudo(string), cpt_jeton(integer) et suivant(T_ptr_joueur)
J'avais écrit cette procédure, qui affiche les informations de chaque joueur à la fin de la partie:
Procedue AFFICH_SCORE(ptr_courant:T_ptr_joueur);
var
   i:integer;
begin
   For i:=1 to 3 do
      begin
         Writeln('La partie est finie. Les scores sont les suivants : ');
         With ptr_courant^ do
            writeln(pseudo,', vous avez gagne ',cpt_jeton,'jetons pendant la partie.');
      end;
   ptr_courant:=ptr_courant^.suivant
end;
Je voudrais juste que ça s'affiche dans la fenêtre d'exécution comme ça:
joueur X a gagné Z jetons,
joueur Y a gagné W jetons
                . 
                .
                .
en commençant par celui qui en a gagné le plus.
Seulement ce que j'ai écrit ne se contente que d'afficher les champs de chaque joueur, et ne fait pas le classement.
Voilà, j'espère que ça sera suffisant, sinon dis moi ce qu'il te manque
Merci 
 
Marsh Posté le 25-04-2008 à 20:35:08
oulala j'voyais ça plus simple que ça  ![[:barthaliastoxik] [:barthaliastoxik]](https://forum-images.hardware.fr/images/perso/barthaliastoxik.gif) 
 
 
le plus simple serait de faire une procédure de classement avec comme paramètres les 3 scores puis de chopper le plus grand, le plus petit et enfin celui qui reste non? 
 
edit: vais te faire un ptit code mais attention code flagada   
 
Marsh Posté le 25-04-2008 à 20:56:00
J'ai essayé de l'écrire cette procédure de classement, mais je m'embrouille complètement. En gros, j'y arrive pas.
Alors je me suis dit qu'il y avait peut-être un moyen de classer les joueurs dans la procédure d'affichage, même si ca serait plus propre de faire cette procédure de classement 
Sinon j'avais pensé à tableau ...
Marsh Posté le 25-04-2008 à 21:05:09
ouais pas facile  , je continue t'adaptera après
 , je continue t'adaptera après 
 
bon... 
 
| procedure tform1.classement(one:integer;two:integer;three:integer);  | 
 
 
voila comme ça , ça roule 
Marsh Posté le 25-04-2008 à 21:46:26
après t'appèle avec  
 
classement (ptr1, ptr2, ptr3); ou un truc comme ça mais c'est pas ça lol 
 
pis writeln au lieu de showmessage 
 
ouais après tu utilise ce code en modifiant juste les premières attibutions des Tentest[1] et tout rentre facilement dans la procédure d'affichage 
Marsh Posté le 25-04-2008 à 22:18:40
C'est vaiment sympa de ta part, je vais me débrouiller avec ca. 
 
Merci 
Marsh Posté le 25-04-2008 à 19:17:20
Bonjour à tous

Je suis actuellement en train de coder un programme qui simule le jeu du Nain Jaune. J'ai presque fini, y'a juste un truc, tout bête a priori, que je n'arrive pas à faire. A la fin de la partie, chaque joueur se voit afficher les jetons qu'il a cumulé au cours des manches. Je voudrais que l'affichage se fasse en par ordre décroissant, celui qui en a le plus d'abord ... (3 joueurs au total)
J'arrive pas à l'écrire, si vous aviez une méthode à me proposer, ou des conseils, ce serait gentil.
Merci