Conversion du pascal en c

Fermé
maria_physio Messages postés 26 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 30 juillet 2010 - 9 mars 2008 à 11:53
 amigo - 9 mars 2008 à 23:16
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 1928 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 5 août 2015 120
9 mars 2008 à 11:58
Parce-que tu comprendras mieux en language C ?
0
maria_physio Messages postés 26 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 30 juillet 2010
9 mars 2008 à 23:01
wé je comprendrai mieux car j'ai étudié le langage c et non le pascal
0
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