Le pendu en pascal

Signaler
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004
-
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004
-
bonjour a tous je dois faire le jeu du pendu en pascal
jaimeré pouvoir joué contre lordinateur en utilisant un dictionnaire.
Mais la programmation en pascal je maîtrise pas trop.
Merci d'avance

20 réponses

Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
10
Précise les endroits où tu as des problèmes et on essayera de répondre ! On ne va pas faire le programme à ta place...
;)

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004

g commencer a faire une fonction pour répété n étoile
puis g fé une fonction qui permet de tester si le caractère appartient o mot
g fé osi une fonction qui permet de savoir si la proposition est correcte
le pb c'est ke je dois faire une procédure qui permet de modifier le mot caché et je ny arrive pa de plus je ne sais pas a quel moment je dois faire apparaitre le potence ni comment........
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
10
Comment est stocké ton mot caché (dans une variable, un edit) ? qu'entends tu par le modifier ?

Pour la potence, tu peux utiliser plusieurs compos Shape. Pour les afficher ou les cacher tu utilise la propriété Shape1.Visible := True/False

Sinon, pourrais-tu me donner ton code pour que je te donne plus de précisions ?

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004

g juste définit mot_cache comme string dans ma fonction proposition_correcte
en fait le modifier c faire apparaitre la lettre ki a été trouvé.

é kel code tu ve????
Messages postés
1722
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
22 octobre 2020
5
Ben, le morceau de code qui te pose problème, tiens...
Comme le dit justement ni69, on va pas faire tout le programme à ta place...
D'autant plus qu'on peut trouver sur le net (merci Google) des codes traitant du sujet.
Si tu ne "maîtrises pas trop la programmation en Pascal", tu as peut-être "mis la charrue avant les boeufs", comme on dit...
Essaye donc d'être plus clair et précis dans ta question, quoi, on pourra certainement de répondre ;)

Bonne prog', faut pas mollir :-p

N'oubliez pas de valider "Réponse acceptée" si ça vous convient, de toute manière vous ne pouvez pas valider autre chose ! :big)
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
10
Japee ;) : Effectivement, il faut connaitre les bases du langage avant de vouloir faire des progs....

Voilà cependant un exemple qui pourrait t'être utile angel591.
Il montre comment tester la présence d'un caractère dans le mot caché et comment remplacer le '?' correspondant par la lettre juste :
Tu as besoin d'un label, d'un Edit, et d'un bouton.
var
Mot_Cache: string; // Le vrai mot caché à trouver

procedure TForm1.FormCreate(Sender: TObject);
var
a : byte;
begin
Mot_Cache := 'ABCDEF'; 
Label1.Caption := ''; // On vide le label qui affiche les '?'
for a := 1 to Length(Mot_Cache) do
Label1.Caption := Label1.Caption + '?';
// On remplit le label de a '?'
// correspondant au nombre de lettres de Mot_Cache
end;

procedure TForm1.Button1Click(Sender: TObject);
var
a : Byte;
Mot_Apparent, LettreTapee, txtfinal : string;
begin
LettreTapee := Edit1.Text; // La lettre tapée est cosidérée comme le caractère étant dans Edit1 actuellement
txtfinal := ''; // Texte qui sera assigné au label affichant le mot
Mot_Apparent := Label1.Caption;  // Le mot apparent dans le label1 est stocké dans Mot_Apparent
for a := 1 to Length(Mot_Cache) do
begin
 if LettreTapee = Mot_Cache[a] then // Si la lettre est dans le mot caché
   txtfinal := txtfinal +LettreTapee // Alors on ajoute cette lettre à la lettre finale
 else
   txtfinal := txtfinal + Mot_Apparent[a]; // Ou alors on laisse ce qu'il ya avait avant dans le mot
end;
Label1.Caption := txtfinal; //On actualise le Label1
end;


Pour plus de fiabilité, tu peux mettre Edit1.MaxLength := 1; et Edit1.CharCase := ecUpperCase; si le mot à trouver est en majuscules ou ecLowerCase si il est en minuscules.

Ce code pourrait je pense être complêté et simplifié, mais je n'ai pas vraiment le temps maintenant, et je n'ai pas delphi sous la main...

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004

on m'as jamé parler de code......
et le problème c'est que tout les programme qui pouré maider sont bien trop compliquer et sa fait ke depuis octobre que je fait du pascal......
comme l'exemple qui au-dessu j'ai jamais utilisé de telle chose je connait que les bases de la programmtion en pascal.....
merci quand même......
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
ha, il le fais en pascal, turbo pascal mode console ??
:/ les codes donnés ici sont sous Delphi

qqn peut l'aider sous TP ?

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004

ok merci jvé allé voir en effet c en pascal simple.........
merci beaucoup.
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004

jsuis allé voir le programme maide pas beaucoup car c pour jouer a deux et pas contre lordi....... donc c assez différent du mien même si il est bien en pascal mais c pas grave je vais persévérer........
De plus ce n'est meme pas du turbo pascal que j'étudie c'est du pascal tout simple....
@+
Messages postés
3
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
16 décembre 2004

salut je pari ktu doi faire ca pour la semaine du 13 en tp a lille 1 c ca?? moi oci jdoi le faire et jsui justement en train de faire la fonction ktu di (c la fontion découvrir) si jme trompe pas
deja du doi créer une variable i:integer; (qui servira de compteur pour que le programme parcour toute les lettre du mot).

if appartient(lettre,mot_a_trouver)
then begin
for i:=& to length(mot_a_trouver) do
begin if mot_a_trouver[i]=lettre
then begin
mot_cache[i]:=lettre;
end;{if}
end;{for
end;{if}
Messages postés
5
Date d'inscription
mardi 4 mars 2003
Statut
Membre
Dernière intervention
7 février 2007

Salut tout monde, moi aussi je suis à l'université de Lille1 et je dois rendre ce TP lundi 13, et je suis en train de galérer pour trouver la réponse, en fait j'ai juste réussi à faire la function repeter_etoiles :((((
Donc si quelqu'un trouve une autre function, merci de bien vouloir la mettre sur ce forum :))
Merci à tous
Messages postés
1
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
8 décembre 2004

Alors moi dans ces cas la je ne vosi que une seule solution il faut demander a madame lecouffe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

humm......
Messages postés
5
Date d'inscription
mardi 4 mars 2003
Statut
Membre
Dernière intervention
7 février 2007

alexportos , le code que t'a donné est faux :)
Messages postés
3
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
16 décembre 2004

c pas & mai 1
apré si ya dotre faute je c pas
Messages postés
1
Date d'inscription
samedi 11 décembre 2004
Statut
Membre
Dernière intervention
13 décembre 2004

if appartient(lettre,mot_a_trouver)
then begin
for i:=& to length(mot_a_trouver) do
begin if mot_a_trouver[i]=lettre
then begin
mot_cache[i]:=lettre;
end;{if}
end;{for
end;{if}

c'est pas avec ca que ca risque de marcher!! y manque plein de truc

yan 8-)
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
10
Cela ne sert à rien de dire que cela marche pas... Autant proposer une solution :shock) !

@+
Bonne Prog'
Nico
Messages postés
3
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
16 décembre 2004

si ta une proposition mai là sans problème.mai bon juste pour dire ke sil manke bcp de truc jaimeré bien ktu le dise puiske mon programme marche parfaitement(bref maintenant ca sert plus a rien fallai le rendre le 13)
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004

slt jesper ke vs avé réussi votre projet ......
pr finir g réussi a le fer kan mem avc kelke erreur mé bon il marche c le principal.....
o fait jesper ke votre tp c bien paC..........
a+ :kisses)

angel
Messages postés
8
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2004

slt jesper ke vs avé réussi votre projet ......
pr finir g réussi a le fer kan mem avc kelke erreur mé bon il marche c le principal.....
o fait jesper ke votre tp c bien paC..........
a+ :kisses)

angel
angel