home *** CD-ROM | disk | FTP | other *** search
/ Game Killer / Game_Killer.bin / 293.REPORT.PAS < prev    next >
Pascal/Delphi Source File  |  1991-07-08  |  2KB  |  77 lines

  1. program CorpReports;
  2. {
  3.   Open Corp Reports file
  4.   Open current corp report
  5.   Compute elapsed time since last corp report for this galaxy (BBS)
  6.   Look for line "Corporate Planet Scan"
  7.   skip four more lines
  8.   read a line
  9.   while doesn't have "Total Credits" in it and not eof
  10.     read sector, planet name, citadel type, population, change goods, 
  11.     goods on hand, credits;
  12.     compute change in citadel, population
  13.     store in data base
  14.   allow inquirys
  15. }
  16. const
  17.   maxSector  = 1000;
  18.   abort      = 'abort';
  19.   FileNotFound = -42;
  20.   
  21. type
  22.   NonNegInt = 0..maxint;
  23.   goods     = ( Fuel, Organics, Equipment );
  24.   stores    = array [ goods ] of NonNegInt;
  25.   string80  = string [80];
  26.   string40  = string [40];
  27.   CitadelType = 0..4;
  28.   sector    = 1..maxSector;
  29.   planetptr = ^planet;
  30.   byte      = 0..255;
  31.   planet    = record
  32.                 location  : sector;
  33.                 name      : string80;
  34.                 LastPop   : NonNegInt;
  35.                 CurrPop   : NonNegInt;
  36.                 ChangePop : integer;
  37.                 Citadel   : CitadelType;
  38.                 GoodsProd,
  39.                 GoodsOH   : stores;
  40.                 Fighters  : NonNegInt;
  41.                 Note      : string80;
  42.                 next      : planetptr;
  43.               end; {planet}
  44.    queue = record
  45.              front, rear : planetptr;
  46.            end;
  47.    corp  = record
  48.              numPlanets : NonNegInt;
  49.              territory  : queue;
  50.            end; {corp}
  51.            
  52. var
  53.   MegaCorp : corp;
  54.   changed,
  55.   quit     : boolean;
  56.  
  57. {$I general.inc }
  58. {$I CorpIO.inc }  
  59. {$I CorpRec.inc }
  60.  
  61. begin {main}
  62.   OpenCorpRecords( MegaCorp );
  63.   quit := false;
  64.   changed := false;
  65.   repeat
  66.     case GetCommand of
  67.       'R' : AddCorpReport( MegaCorp, changed );
  68.       'N' : AddNote( MegaCorp, changed );
  69.       'Q' : Quit := true;
  70.       'I' : DisplayInfo( MegaCorp );
  71.     otherwise
  72.       menu;
  73.     end; {case}
  74.   until quit;
  75.   if changed then
  76.     SaveCorpRecords( MegaCorp );
  77. end.