DEMO.PAS  ·  PAS  ·  1.4 KB  ·  1988-03-06  ·  from Compute-PC-Magazine-Disk_July-1988_Volume-2_No.4_Issue-6
PROGRAM Demo;

{$C- }

{$i Graph.p }

CONST
   NumOfShapes = 4;

TYPE
   data = RECORD
             shp : array[0..300] OF INTEGER;
          END;

VAR
   x,y,z : INTEGER;
   fil   : TEXT;
   pic   : ARRAY[1..NumOfShapes] OF data;
   blank : data;
   ch    : CHAR;

BEGIN
   GraphColorMode;
   Palette(2);
   GraphBackground(1);
   ClearScreen;
   GetPic(blank.shp,0,0,24,14);
   ASSIGN(fil,'Demo.Shp');
   RESET(fil);
   FOR x := 1 TO NumOfShapes DO
      WITH pic[x] DO
         BEGIN
            READ(fil,shp[0]);
            READ(fil,shp[1]);
            READ(fil,shp[2]);
            y := (((shp[1]+3)div 4)*shp[2]*2+6);
            FOR z := 3 to y-1 DO
               READ(fil,shp[z]);
         END;
   CLOSE(fil);
   circle(300,30,20,3); fillshape(300,30,3,3);
   Gotoxy(1,1); WRITE('This is a demostration on how to use the');
   Gotoxy(1,2); WRITE('shapes created by the Shape Edit program');
   draw(0,190,319,190,1); fillshape(0,191,1,1);
   draw(100,189,100,180,2); draw(100,180,110,170,2);
   draw(110,170,120,180,2); draw(120,180,120,189,2);
   x := 0; z := 1;
   REPEAT
      PutPic(blank.shp,x,100);
      x := x + 3; z := z + 1;
      if z>4
         then z := 1;
      if x>319
         then x := 0;
      PutPic(pic[z].shp,x,100);
      DELAY(100);
   UNTIL KEYPRESSED;
   READ(kbd,ch);
   TextMode(c80);
   clrscr;
END.