| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- Uses Objects,Graph;
- Procedure EGAVGADriver;external;
- Function KeyPressed:boolean;assembler;
- asm
- mov ah, 1
- int 16h
- mov al, 0
- jz @@2
- mov al, 1
- @@2:
- end;
- var
- Wrld : PWorld;
- Timer : LongInt Absolute $0040:$006c;
- Last,i : Longint;
- MyRAH : pRAH;
- MyStinger : pSting;
- mP : TParams;
- Page : byte;
- gD,gM : integer;
- begin
- {$L EGAVGA.OBJ}
- RegisterBGIDriver(@EGAVGADriver);
- Gd:=VGA;
- Gm:=VGAHi;
- INitGraph(gD,gM,'');
- New(Wrld,Init('BG.dat'));
- With mP do begin
- Pos.x:=75.0;
- Pos.y := 400.0;
- Speed.X := 20.0;
- Speed.Y := 0.0;
- Accel.X := 0.02;
- Accel.Y := -0.01;
- end;
- New(MyRAH,Init('rah-66-2.dat',mP,100));
- Wrld^.AddObject(MyRAH);
- With mP do begin
- Pos.x:=320.0;
- Pos.y := 50.0;
- Speed.X := -2;
- Speed.Y := 30;
- Accel.X := 0.0;
- Accel.Y := -0.9;
- end;
- New(MyStinger,Init('stinger.dat',mP,110));
- Wrld^.AddObject(MyStinger);
- TIME_FACTOR := 0.1;
- FPS := 1;
- FIELD_X := 600;
- Last := timeR;
- i:=0;
- page:=0;
- Wrld^.Draw;
- while not (Wrld^.Ending or KeyPressed) do
- begin
- { SetActivePage(Page); }
- Wrld^.Draw;
- { SetVisualPage(Page);
- Page:=1-Page; }
- repeat until (Timer-Last) <> 0;
- { Wrld^.Frame(Timer-Last);}
- Wrld^.Frame(1);
- Last := timeR;
- { Write(#13,i,' ',Timer);}
- Inc(i);
- end;
- CloseGraph;
- end.
|