| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- Uses Graph,CRT,MytPU;
- Const
- v0 = 10; {� ç «ì ï ᪮à®áâì}
- al = 3.14*270/180; {� ç «ìë© ã£®«}
- up = 0.8; {“¯à㣮áâì è à }
- BallSize = 7;
- Var
- x,y,vx,vy : real;
- t : longint;
- Procedure WriteBall(x,y:real);
- Begin
- FillEllipse(Round(x),Round(470-Y),BallSize,BallSize);
- End;
- Procedure BallFly(v0,al0,x0,y0:real);
- Var x,y : real;
- Begin
- t := 1;
- repeat
- vx := v0*cos(al0);
- vy := v0*sin(al0);
- x := Vx*(t/100)+x0;
- Y := Vy*(t/100) - 5*sqr((t/100))+y0;
- WriteBall(x,y);
- Delay(10);
- inc(t);
- If y < 0 then
- begin
- if not Keypressed then BallFly(v0*up,abs(ArcTan(abs(Vy/Vx))),x,y);
- exit;
- end;
- Until (t = 2147483647) or (x > 640) or (KeyPressed);
- End;
- Begin
- InitVGA;
- Randomize;
- SetColor(Blue);
- SetFillStyle(SolidFill,Green);
- SetWriteMode(XORPut);
- BallFly(v0,al,320,240);
- ReadKey;
- CloseGraph;
- End.
|