Pendu


Contenu du snippet

Jeu du pendu assez basic.

Source / Exemple :


program pendu;
(* Jeu du pendu - à 2 joueurs *)

uses windows;

var MotSaisi, MotAfficher :string;
    TailleChaine, i, Ver, Erreur :integer;
    Lettre, Menu :char;

begin

writeln('+-----------------------------+');
writeln('|            PENDU            |');
writeln('+-----------------------------+');

writeln;

// Initialisation de Menu
Menu := '1';

// Boucle de sortie de menu
while (Menu <> '2') do
begin

writeln('+-----------------------------+');
writeln('|         MENU DE JEU         |');
writeln('+-----------------------------+');
writeln('| 1 | Jouer                   |');
writeln('| 2 | Quitter                 |');
writeln('+-----------------------------+');
writeln;

write('Entrer votre choix : ');
readln(Menu);
writeln;

case Menu of
'1': begin

// -- Choix 1 --------------------------------------------------------------- //
// -------------------------------------------------------------------------- //

     // Initialisation de variables
     MotAfficher := '';
     Erreur := 10;

     // Saisi du MotSaisi
     writeln('| Joueur 1 |');
     write('Entrer un mot a deviner : ');
     readln(MotSaisi);

     // Taille de la chaine
     TailleChaine := length(MotSaisi);

     // Passage en majuscule
     for i:=0 to TailleChaine do
     begin
       MotSaisi[i] := upcase(MotSaisi[i]);
     end;

     // Initialisation de MotAfficher
     for i:=1 to TailleChaine do
     begin
       MotAfficher := '-'+MotAfficher;
     end;

     // Effacement de l'écran
     for i:=0 to 25 do
     begin
          writeln;
     end;
// -------------------------------------------------------------------------- //
       

// -------------------------------------------------------------------------- //
     while (Erreur <> 0) and (MotAfficher <> MotSaisi)  do
     begin
     
     // Initialisation de Ver
     Ver := 0;

     // Saisi d'une lettre du joueur 2
     writeln('| Joueur 2 | ', Erreur);
     write('Entrez une lettre : ');
     readln(Lettre);

     // Passage de lettre en majuscule
     Lettre := upcase(Lettre);

     // Gestion des lettres
     for i:=0 to TailleChaine do
     begin

       if (Lettre = MotSaisi[i]) then
       begin
         Ver := 1;
         MotAfficher[i] := Lettre;
       end
       
     end;

     // Décrémentation du compteur si la lettre n'est pas dans le mot
     if (Ver = 0) then
     begin
       Erreur := Erreur - 1;
     end;

     // Affichage de MotAfficher
     writeln(MotAfficher);
     writeln;

     end;

     // Test si perdu
     if (Erreur = 0) then
     begin
       writeln('| Joueur 2 | Perdu, le mot etait : ', MotSaisi);
       writeln;
     end;

     // Test si gagné
     if (MotAfficher = MotSaisi) then
     begin
       writeln('| Joueur 2 | Gagnee, le mot etait : ', MotSaisi);
       writeln;
     end;

   end;

// -------------------------------------------------------------------------- //
// -------------------------------------------------------------------------- //

// -- Choix 2 --------------------------------------------------------------- //
// -------------------------------------------------------------------------- //

   '2': writeln('Fin du Jeu')

// -------------------------------------------------------------------------- //
// -------------------------------------------------------------------------- //

   else writeln('Mauvaise saisie dans le choix du menu.');

   // Fin du case of
   end;
// Fin de boucle du menu
end;

end.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.