Conversion du pascal en c
maria_physio
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
amigo -
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.
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:
- Conversion du pascal en c
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Logiciel gratuit conversion calendrier républicain - Télécharger - Études & Formations
- Conversion mb en mo ✓ - Forum Matériel & Système
2 réponses
Parce-que tu comprendras mieux en language C ?
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
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.
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.