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.