home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pctchnqs / 1990 / number3 / tiles.pas < prev    next >
Pascal/Delphi Source File  |  1990-05-14  |  1KB  |  65 lines

  1. {Listing 3 - TILES unit interface section}
  2.  
  3. UNIT Tiles;
  4.  
  5. INTERFACE
  6.  
  7. USES GRAPH, DOS, PRINTER, Lists, ParDet, VGAExtra;
  8.  
  9. CONST
  10.    UL = 1; UR = 2;
  11.    LR = 3; LL = 4;
  12.  
  13.    EndOfPattern = '!';
  14.  
  15.    MaxPatternColors = 16;
  16.  
  17. TYPE
  18.    Location = OBJECT(ListNode)
  19.       X,Y : INTEGER;
  20.       PROCEDURE Init;
  21.       FUNCTION GetX : INTEGER;
  22.       FUNCTION GetY : INTEGER;
  23.    END;
  24.  
  25.  
  26.    TilePtr = ^Tile;
  27.  
  28.    Tile = OBJECT(Location)
  29.      Color : INTEGER;
  30.      CONSTRUCTOR Init;
  31.      PROCEDURE Draw; VIRTUAL;
  32.      PROCEDURE Import(VAR PatFile : TEXT); VIRTUAL;
  33.      PROCEDURE ChooseTileColor(ColorIndex : INTEGER);
  34.    END;
  35.  
  36.  
  37.    HalfTilePtr = ^HalfTile;
  38.  
  39.    HalfTile = OBJECT(Tile)
  40.      Corner : 1..4;
  41.      CONSTRUCTOR Init;
  42.      PROCEDURE Draw; VIRTUAL;
  43.      PROCEDURE Import(VAR PatFile : TEXT); VIRTUAL;
  44.    END;
  45.  
  46.  
  47.    PatternPtr = ^Pattern;
  48.  
  49.    Pattern = OBJECT(Location)
  50.      Width,Height : INTEGER;
  51.      Name : String;
  52.      Tiles : TilePtr;
  53.      CONSTRUCTOR Init(NameStr : String);
  54.      PROCEDURE Draw;
  55.      PROCEDURE Import(VAR PatternFile : TEXT);
  56.    END;
  57.  
  58. VAR
  59.    dX,dY,Scale : INTEGER;
  60.    Trace : BOOLEAN;
  61.  
  62. PROCEDURE SetScale(NewScale : INTEGER);
  63. PROCEDURE InitGraphics;
  64. PROCEDURE DoneGraphics;
  65.