Archived
1
0
This repository has been archived on 2025-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
pascal/991011.PAS
2001-11-30 12:14:44 +01:00

61 lines
1.3 KiB
Plaintext

program JumpDot;
uses Crt, Graph, BGIP, DOS;
const grav=9.80665;
fac=15;
var xmax,ymax: word;
xmed,ymed: word;
dx, dy: word;
i: integer;
down: boolean;
di: word;
h,m,s,ss: word;
sts, sss: longint;
procedure Init;
var grDriver, grMode : integer;
begin
grDriver := VGA;
grMode := VGAHi;
InitGraph(grDriver,grMode,BGIPath);
xmax := GetMaxX+1; { Bildschirmbreite in Pixeln }
ymax := GetMaxY+1; { Bildschirmh”he in Pixeln }
xmed := xmax DIV 2;
ymed := ymax DIV 2;
end;
begin
Init;
dx := 0; dy := 10;
down := true;
{ GetTime(h,m,s,ss);
sts := h*60*60*100 + m*60*100 + s*100 + ss; }
di := 0;
for i:=0 to xmax do begin
{ GetTime(h,m,s,ss);
sss := (h*60*60*100 + m*60*100 + s*100 + ss)-(sts); }
dx := i;
{ dy := Round((9.80665)*Sqr(sss/100)); }
if (down) then dy := Round((grav/2)*Sqr((i-di)/fac)) else dy := Round((grav/2)*Sqr((di-(i-di))/fac));
if (dy>ymax) then begin
down:=false;
dy:=ymax-1;
di:=i-di;
end;
if (dy<=0) AND (di<i-10) then begin
down:=true;
dy:=0;
di:=i;
end;
PutPixel(dx,dy,15);
if (down) then PutPixel(0,0,10) else PutPixel(0,0,12);
Delay(10);
end;
end.