IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

Jeu du pendu


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 4
    Par défaut Jeu du pendu
    Salut à tous
    Voici mon jeu du pendu.

    Voici l'unité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    unit jdp;
     
    interface
     
    function longueur (ch:string):integer;
    function saisie:string;
    function Code(mot__saisie:string):string;
    procedure resultat (mot__saisie,mot__code:string;nb__propos:integer);
    procedure cherche(mot__saisie:string; var mot__code:string;letre:char;var trouve:boolean);
    procedure init(var mot__saisie,mot__code:string);
    procedure jeu (mot__saisie:string;var mot__code:string);
     
    IMPLEMENTATION
    function longueur (ch:string):integer;
    begin
    longueur :=length(ch);
    end;
     
     
    function saisie:string;
    var chain:string;
    begin
      repeat
    writeln('entrer un mot a coder');
    readln(chain);
    if(length(chain)<=3) then
    writeln('entrer un mot superieur a 3 caractere')
    else      writeln('le mot est ',chain);
     
    until(length(chain)>=3);
       saisie:=chain;
    end;
    {****************************-*-*-*-****************************************************}
    function Code(mot__saisie:string):string;
    var chain:string;
    i:integer;
    begin
          chain :=  mot__saisie;
    chain [1]:=mot__saisie[1];
    chain [longueur(mot__saisie)]:=mot__saisie[longueur(mot__saisie)];
    for i:=2 to longueur(mot__saisie)-1 do chain[i]:='_';
     
    code:=chain;
    end;
     
    {*****************************-*-*-*-****************************************************}
    procedure resultat (mot__saisie,mot__code:string;nb__propos:integer);
    begin
    if mot__saisie=mot__code then writeln('vous avez gagn‚, trouv‚ en ',nb__propos,' propositions')
    else writeln('vous avez perdu, le mot a trouver etait :',mot__saisie);
    end;
    {*****************************-*-*-*-****************************************************}
     
    procedure cherche(mot__saisie:string; var mot__code:string;letre:char;var trouve:boolean);
    var i:integer;
    begin
    trouve:=false;
    for i:=2 to longueur (mot__saisie)-1 do
       if mot__saisie[i]=letre then
       begin
       mot__code[i]:= letre;
       trouve:=true;
       end;
    end;
    {*****************************-*-*-*-****************************************************}
     
    procedure init(var mot__saisie,mot__code:string);
    begin
    mot__saisie:=saisie;
    writeln(mot__saisie);
    mot__code:=code(mot__saisie);
      writeln(mot__code);
    end;
    {*****************************-*-*-*-****************************************************}
    procedure jeu (mot__saisie:string;var mot__code:string);
    const max_erreur=8;
    var letre:char;
         trouve:boolean;
    	 nb_erreur,nb__propos:integer;
     
    begin
    nb__propos:=0;
    nb_erreur:=0;
    repeat
     
      writeln(mot__code);
      writeln('entrer une lettre');
      readln(letre);
      nb__propos:=nb__propos+1;
      cherche(mot__saisie,mot__code,letre,trouve);
      if not (trouve)then
      begin
           nb_erreur:=nb_erreur+1;
           if(nb_erreur<>8)   then
     
           writeln('faut, il vous reste ',8-nb_erreur,' tentative')
      end
     
     else  writeln('vous avez trouv‚ une lettre')
      until(mot__saisie=mot__code) or(nb_erreur=8);
      resultat(mot__saisie,mot__code,nb__propos);
    end;
     
     
    end.
    Et le programme principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    program JEDUP1;
    uses crt,jdp;
    var mot__saisie,motcode:string;
        nbpropos:integer ;
    begin
                       clrscr;
    init(mot__saisie,motcode) ;
    jeu(mot__saisie,motcode)  ;
    writeln(' veuillez appuyer sur entrer  pour quitter ');
    readln;
    end.
    Mais le probléme est que le principe de ce jeu sert à donner une seule lettre à la fois et voir si elle existe dans le mot.

    Mais ce que je veux c'est : donner un mot complet, s'il y'a des lettres existantes dans la bonne position il me dit que la lettre est en bonne position et si la lettre existe mais dans la mauvaise position il me dira que la lettre est existante mais pas à sa vraie place.
    (exemple le mot a trouver est bonjour et moi je propose bsrnotr: alors il me dis que n existe mais pas dans la vraie position et o existe dans la bonne position et ainsi de suite...)

    Alors, quelqu'un pourrait-il m'aider comment proposer un nom complet (un string) et faire ce traitement.

    Et merci d'avance.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Qie,

    Retour au papier + crayon :

    Note tout ce dont tu as besoin, comment tu procèdes à la main, etc.

    et tu auras au moins une manière de procéder.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 4
    Par défaut
    Citation Envoyé par droggo Voir le message
    Qie,

    Retour au papier + crayon :

    Note tout ce dont tu as besoin, comment tu procèdes à la main, etc.

    et tu auras au moins une manière de procéder.
    il est evident qu'il faut apporter des modifications a cette procedure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure cherche(mot__saisie:string; var mot__code:string;letre:char;var trouve:boolean);
    var i:integer;
    begin
    trouve:=false;
    for i:=2 to longueur (mot__saisie)-1 do
       if mot__saisie[i]=letre then
       begin
       mot__code[i]:= letre;
       trouve:=true;
       end;
    end;
    et mettre a la place de la variable letre:char
    la variable mot:string

    mais comment ecrire

    for i:=2 to longueur (mot__saisie)-1 do
    if mot__saisie[i]=mot[2] ou mot[3] etc...
    est ce que ca c faisable?
    si non comment faire pour connaitre la position du mot en string et merci

Discussions similaires

  1. Code en bourne shell du jeu Le "PENDU"
    Par piment dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 20/07/2007, 14h17
  2. Jeu Bonhomme pendu
    Par yinyann86 dans le forum Delphi
    Réponses: 11
    Dernier message: 14/11/2006, 17h03
  3. Le jeu du pendu.
    Par giggs dans le forum C
    Réponses: 5
    Dernier message: 31/10/2006, 13h40
  4. jeu du pendu
    Par krachik dans le forum Langage
    Réponses: 5
    Dernier message: 24/10/2006, 12h48
  5. Réponses: 4
    Dernier message: 24/03/2006, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo