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

 Delphi Discussion :

Comment vérifier si une lettre est présente dans un mot (jeu du pendu) ?


Sujet :

Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Comment vérifier si une lettre est présente dans un mot (jeu du pendu) ?


    bonjour, je suis en train de realiser le jeu du pendu sous delphi,et je souhaiterai que quelqun m'aide ,afin de verifier si lorsque que lon clique sur un bouton correspondant a une lettre, si cette lettre est presente dans le mot.

    voici le code que g commence a taper:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure verifier(longueur:integer);
    var
    i:integer;
     
    begin
    longueur:=length('motatrouver');
    For i:=1 to longueur do
      begin

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 158
    Points : 158
    Points
    158
    Par défaut
    Bonjour

    Regarde du coté de la fonction Pos

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ex : if Pos(Atrouver,Mot) >0 then ..Trouvé else ...NonTrouvé...
    A+
    Pitango
    -------------------------------------------------
    [Delphi7.1 Entreprise][MYSQL 5.0.27][SQL SERVER 7][W2000/NT4]

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    Bonjour,
    un petit tour sur la Faq: http://delphi.developpez.com/faq/?page=typechaine

    André
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  4. #4
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    SAlut
    Bienvenu.
    Ben les gars sont plutot sympa les exos qu'on vous fait faire en classe, si tu recherches dans le forum, tu vas trouver un gars qui a le meme passe temps que toi
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Points : 2
    Points
    2
    Par défaut help
    g essaye de faire comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure verifier(lettre:char);
    var
    i:integer;
     
    begin
    longueur:=length('cachermot');
    For i:=1 to longueur do
      begin
        if cachermot[i]=lettre then
         Form1.Editmotcache.text:=lettre
     
      end;

    lorsque que jappui sur le bouton nouveau jeu g ecrit ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if Buttonnouveaujeu.Enabled then
      begin
        Listdico.Items.LoadFromFile('dicoelec.Txt');
        motatrouver:=Listdico.Items[random(Listdico.Items.Count)];
        Form1.Editmotcachedico.Text:=motatrouver;
        cachermot:='';
        for i:=1 to length(Editmotcachedico.Text) do
          begin
            cachermot:=cachermot+'*';
          end;
        Editmotcache.Text:=cachermot;
      end;

    le probleme est avec la procedure verifier,lorsque je complie que je fai nouveau jeu tt fonctionne bien mai des que je clique sur une lettre,rien ne se passe,les caractere que jai mi en * ne se change pas en la lettre que g clique(lettre presente dans le mot evidemment)!

    si quelqun pouvai maider sa serai cool,dautan plus que je dois le rendre demain et sa fait deux jour que je reste bloque.merci davance

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Salut,

    Je ne connais pas le jeu du pendu mais il y a un truc qui me surpred dans la procedure verifier(lettre:char);

    Pourquoi tu écris longueur:=length('cachermot'); au lieu de longueur:=length(cachermot); ???
    ... vu qu'ailleurs tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
          for i:=1 to length(Editmotcachedico.Text) do
          begin
            cachermot:=cachermot+'*';
          end;
    ... ce qui fait que cachermot peut avoir une longueur variable.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    sa ne vient pas de sa je le corrige tt a leur et le resultat est le meme

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    J'ai fait ceci vite fait :

    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
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        BtnNouveau: TButton;
        ListDico: TListBox;
        EditMot: TEdit;
        BtnVerifier: TButton;
        EditLaLettre: TEdit;
        procedure BtnNouveauClick(Sender: TObject);
        procedure BtnVerifierClick(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
        procedure verifier(lettre:PChar);
      end;
     
    var
      Form1: TForm1;
      MotEnClair:string;
      MotCacher:string;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.verifier(lettre:PChar);
    var
    i,longueur:integer;
    begin
      longueur:=length(MotEnClair);
      For i:=1 to longueur do
      begin
        // Si c'est la bonne lettre, on remplace * par la lettre 
        if MotEnClair[i]=lettre[0] then
         MotCacher[i]:=lettre[0];
      end;
      // On réaffecte le mot à l'edit
      EditMot.Text:=MotCacher;
    end;
     
    procedure TForm1.BtnNouveauClick(Sender: TObject);
    var
    i:integer;
    begin
      // Chargement des données
      Listdico.Items.LoadFromFile('dicoelec.Txt');
      // On garde en le mot en clair dans une variable
      MotEnClair:=Listdico.Items[random(Listdico.Items.Count)];
      MotCacher:='';
      // On va mettre les * pour cacher le mot dans l'edit
      for i:=1 to length(MotEnClair) do
        MotCacher:=MotCacher+'*';
      // On affecte le Mot cacher à l'edit
      EditMot.Text:=MotCacher;
    end;
     
    procedure TForm1.BtnVerifierClick(Sender: TObject);
    begin
      // Vérification
      verifier(PChar(EditLaLettre.Text));
    end;
     
    end.
    Au lieu d'utiliser le Char comme type, j'ai utilisé PChar car je ne sais plus comment on fait la conversion de String ->Char ... Char -> String ...

    Voilà
    A+ et bon courage

    Je te laisse regader le code et si tu as des questions, n'hésites pas

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    merci pour laide
    je voi pas pk tu utilise un bouton verifier
    mon but c que quan je clique sur une lettre sa verifie si cette lettre est contenu dans le mot

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Ba j'ai mis un bouton vérifier car dans mon cas, l'utilisateur entre un lettre dans un TEdit et en cliquant sur vérifier, on vérifie si la lettre entrée est comprise dans le mot ou pas ...

    Après, tu peux t'amuser à faire des boutons pour chaque lettre et remettre le même code pour chaque lettre ...

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Points : 2
    Points
    2
    Par défaut rar
    g essayer de rajouter la gestion de limage
    Fichiers attachés Fichiers attachés

  12. #12
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Bon, j'ai modifié pas mal de chose ...

    Compare ton code avant et le mien pour comprendre tes erreurs ... Je t'ai mis juste les fichiers essentiels! ...
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Comment vérifier si une valeur est incluse dans un tableau
    Par hornetbzz dans le forum Contribuez
    Réponses: 2
    Dernier message: 01/03/2011, 01h32
  2. Comment vérifier si une variable est contenu dans un tableau ?
    Par larffas68 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 05/01/2011, 23h17
  3. Réponses: 0
    Dernier message: 15/11/2009, 17h40
  4. Vérifier si une chaine est présente dans une autre
    Par Galdon dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/10/2008, 14h42
  5. Réponses: 2
    Dernier message: 17/08/2005, 14h40

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