home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 09 / tricks / spacedem.pas < prev   
Pascal/Delphi Source File  |  1990-08-03  |  3KB  |  85 lines

  1. (* ------------------------------------------------------ *)
  2. (*                    SPACEDEMO.PAS                       *)
  3. (*            Demoprogramm für Unit SPACE.PAS             *)
  4. (*         (c) 1990 Andreas Heinemann & TOOLBOX           *)
  5. (* ------------------------------------------------------ *)
  6.  
  7. PROGRAM spacedemo;
  8.  
  9. USES Crt, Graph, space;
  10.  
  11. CONST bgi_path = '';
  12.       ux1      = 100;         { Koordinaten des 1.Fensters }
  13.       uy1      = 50;
  14.       ux2      = 250;
  15.       uy2      = 200;
  16.  
  17.       ax1      = 300;         { Koordinaten des 2.Fensters }
  18.       ay1      = 50;
  19.       ax2      = 700;
  20.       ay2      = 300;
  21.  
  22. VAR   Gd, Gm    : INTEGER;
  23.       i        : INTEGER;
  24.       p1, p2    : space_data_Ptr;   { Verwaltungsdaten der }
  25.                                     { beiden Fenster       }
  26. BEGIN
  27.  Gd := Detect;
  28.  InitGraph(Gd, Gm, bgi_path);
  29.  
  30.  New(p1);      { Fenster 1 Verwaltungsdaten initialisieren }
  31.  
  32.  WITH p1^ DO BEGIN
  33.       x1 := ux1 + 1;  x2 := ux2 - 1;
  34.       y1 := uy1 + 1;  y2 := uy2 - 1;
  35.  
  36.       color := 1;
  37.       FOR i := 1  TO max_layers DO BEGIN
  38.           layer_stars[i] := i * 10;
  39.           layer_jmp[i]   := i;
  40.       END;
  41.  END;
  42.  Rectangle(ux1, uy1, ux2, uy2);
  43.  
  44.  New(p2);      { Fenster 2 Verwaltungsdaten initialisieren }
  45.   WITH p2^ DO BEGIN
  46.       x1 := ax1 + 1;  x2 := ax2 - 1;
  47.       y1 := ay1 + 1;  y2 := ay2 - 1;
  48.  
  49.       color := 1;
  50.  
  51.       FOR i := 1  TO max_layers DO BEGIN
  52.           layer_stars[i] := i * 10;
  53.           layer_jmp[i]   := - i;
  54.       END;
  55.       layer_jmp[1] := 1;
  56.       layer_jmp[3] := 3;
  57.  END;
  58.  Rectangle(ax1, ay1, ax2, ay2);
  59.  
  60.  SetFillStyle(WideDotFill, white);
  61.  Bar (ax1 + 50, ay1 + 100, ax2 - 50, ay2 - 100);
  62.  OutTextXY(1, 1, 'Bitte [Return] druecken ...');
  63.  
  64.  init_space(p1);                { Fenster 1 initialisieren }
  65.  init_space(p2);                { Fenster 1 initialisieren }
  66.  
  67.  put_Space(p1);       { Fenster 1 Weltraum auf den Monitor }
  68.  put_Space(p2);       { Fenster 2 Weltraum auf den Monitor }
  69.  
  70.  REPEAT Move_space(p1);     { Fenster 1 : Weltraum bewegen }
  71.         Move_space(p2);     { Fenster 2 : Weltraum bewegen }
  72.  UNTIL KeyPressed;
  73.  
  74.  IF ReadKey = '*' THEN ;           { überflüssiges Zeichen
  75.                                         aus TastaturBuffer }
  76.  
  77.  Dispose_space(p1);                   { Fenster 1 abmelden }
  78.  Dispose_space(p2);                   { Fenster 2 abmelden }
  79.  
  80.  Dispose(p1);  { Verwaltungsdaten beider Fenster freigeben }
  81.  Dispose(p2);
  82.  
  83.  CloseGraph;
  84. END.
  85.