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. |
Partager