Program Prllx01;

Uses Mode13h,Crt;

Var Xland,Width:Integer;

Procedure ScrollUpLand;
Begin
     WaitVbl;
     Move(Mem[Vp[2]:320],Mem[Vp[2]:0],63680);

     Line(0,199,319,199,2,Vp[2]);

     Line(Xland,199,Xland+Width,199,1,Vp[2]);
     Xland:=Xland+Random(5)-2;
     If Xland<0 Then Xland:=0;
     If Xland>319 Then Xland:=319;
     Width:=Width+Random(5)-2;
     If Width+Xland>319 Then Width:=319-Xland;
End;

Procedure GlobalInit;
Begin
     Randomize;
     Initgraph;
     InitVirt;
End;

Procedure GlobalClose;
Begin
     Closegraph;
     Closevirt;
End;

Procedure LandInit;
Begin
     SetColor(0,0,0,0);
     SetColor(1,0,50,0);
     SetColor(2,0,25,63);
     Width:=150;
     Xland:=50;
     Cls(0,Vp[2]);
End;

Begin
     GlobalInit;
     LandInit;

     Repeat
           ScrollUpLand;
           CopyPage(Vp[2],Vga);
     Until Keypressed;

     GlobalClose;
End.
