Conversion du pascal en c

maria_physio Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
 amigo -
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.
A voir également:

2 réponses

tatou_38 Messages postés 1937 Date d'inscription   Statut Membre Dernière intervention   121
 
Parce-que tu comprendras mieux en language C ?
0
maria_physio Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
wé je comprendrai mieux car j'ai étudié le langage c et non le pascal
0
amigo
 
Bonjour,

Apparemment, le jeu consiste à détruire des "aliens" affichés aléatoirement sur 4 lignes de l'ecran. On se met en face d'eux avec les flèches et on tire dessus avec la touche Enter, Si on touche on entend un bip et la compteur de score s'incrémente. On sort du jeu en appuyant sur Esc.

C'est un jeu bien rétro comme on en trouvait sur les toutes premières consoles.
Terriblement ennuyeux.

Salut.
0