Bonjour, svp je cherche a comprendre le fonctionnement d'un ptit jeu programmé en pascal donc svp si vous pouvez me donner le programme equivalent en c je vous serez reconnaissant. voici le programme en pascal :
program jeu;
uses crt;
var c:char;i,l,t,s,x1,y1,x,y,x2,y2:integer;toucher,sortir:boolean;
sc:text; nom:string[50];
procedure afficher;
begin
repeat
randomize;
x1:=random(79);
y1:=random(4);
until ((x1<>0)and(y1<>0));
gotoxy(x1,y1);write(chr(5));
end;
procedure score;
begin
clrscr;
gotoxy(10,10);
write(' votre score est : ',s);
readln;
end;
procedure ajout_score;
begin
s:=s+1;
gotoxy(70,25);write(s);
end;
procedure bip;
begin
Sound(220);
Delay(200);
NoSound;
end;
procedure droit;
begin
if x<79 then
begin
gotoxy(x,y);write(' ');
x:=x+1;
gotoxy(x,y);
write(chr(2));
end;
end;
procedure gauche;
begin
if x>1 then
begin
gotoxy(x,y);write(' ');
x:=x-1;
gotoxy(x,y);
write(chr(2));
end;
end;
procedure supprimer;
begin
gotoxy(x1,y1);
write(' ');
if t<>0 then afficher;
end;
procedure tirer;
begin
toucher:=false;
x2:=x; y2:=y;
repeat
y2:=y2-1;
gotoxy(x2,y2);write(chr(4));
if ((x2=x1)and(y2=y1)) then
begin
ajout_score;
bip;
toucher:=true;
supprimer;
end
else
begin
delay(50);
gotoxy(x2,y2);write(' ');
end;
until ((y2<=y1)or(toucher=true));
gotoxy(x2,y2);write(' ');
t:=t-1;
end;
procedure enregistrer;
begin
assign(sc,'c:\score.txt');
append(sc);
l:= length(nom);
for i:=l+1 to 23 do
nom:= nom +' ';
write(sc,nom);
writeln(sc,s);
close(sc);
end;
procedure aff_score;
begin
clrscr;
assign(sc,'c:\score.txt');
reset(sc);
gotoxy(10,10);
while not eof(sc) do
begin
readln(sc,nom);
writeln(nom);
end;
close(sc);
readln;
end;
begin
clrscr;
s:=0; sortir:=false;
gotoxy(15,15);
write('votre nom: ');readln(nom);
clrscr;
textcolor(5);
gotoxy(10,25);write('Enter: tirer Echape:sortir');
textcolor(2);
gotoxy(60,25);write('score : ');
gotoxy(70,25);write(s);
textcolor(7);
t:=5;
x:=10;y:=24;
gotoxy(x,y);write(chr(2));
afficher;
repeat
c:=readkey;
case c of
#13:tirer;
#77:droit;
#75:gauche;
#27:sortir:=true;
end;
until ((sortir=true) or (t=0));
score;
if (sortir=false) then
begin
enregistrer;
write('voulez-vous afficher les scores (o/n) ?: ');
c:=readkey;
if c='o' then aff_score;
end;
end.
Configuration: Windows XP
Internet Explorer 6.0