home *** CD-ROM | disk | FTP | other *** search
/ Game Killer / Game_Killer.bin / 268.EDITBASE.INC < prev    next >
Text File  |  1991-07-08  |  3KB  |  112 lines

  1. procedure MakePort;
  2. var
  3.   s : SectorIndex;
  4.   pt : integer;
  5. begin
  6.   write('Make a port out of which ');
  7.   s := GetSector;
  8.   if s <> 0 then
  9.     if space.sectors[ s ].portType <> NotAPort then
  10.       writeln( s, ' is already a port!')
  11.     else
  12.       begin
  13.         repeat
  14.           writeln('Describe this port:');
  15.           writeln(' 0 : BBB Buy all products');
  16.           writeln(' 1 : SBB Sell Fuel Ore; buy Organics and Equipment');
  17.           writeln(' 2 : BSB Sell Organics; buy Fuel Ore and Equipment');
  18.           writeln(' 3 : SSB Sell Fuel Ore and Organics; buy Equipment');
  19.           writeln(' 4 : BBS Sell Equipment; buy Fuel Ore and Organics');
  20.           writeln(' 5 : SBS Sell Equipment and Fuel Ore; buy Organics');
  21.           writeln(' 6 : BSS Sell Equipment and Organics; buy Fuel Ore');
  22.           writeln(' 7 : SSS Sell all products');
  23.           writeln(' 8 : Sell fighter, shields, holds (Class 0)');
  24.           writeln;
  25.           write('Port description? ');
  26.           readln( pt );
  27.         until (0<=pt) and (pt <= 8);
  28.         space.sectors[s].portType := pt;
  29.       end; {if else}
  30. end;
  31.  
  32. procedure KillPort;
  33. var
  34.   s : SectorIndex;
  35.   p1 : portIndex;
  36. begin
  37.   write('Remove Record for Port in which ');
  38.   s := GetSector;
  39.   if s <> 0 then
  40.     if space.sectors[s].PortType = NotAPort then
  41.       writeln( 'I have no record of ', s, ' being a port.')
  42.     else
  43.       begin
  44.         space.sectors[s].portType := NotAPort;
  45.         p1 := portNumber( s );
  46.         space.ports.data[ p1 ] := space.ports.data[ space.ports.top ];
  47.         space.ports.top := space.ports.top - 1;
  48.       end;
  49. end;
  50.  
  51. procedure SetDock;
  52. var
  53.   sd : SectorIndex;
  54. begin
  55.   if space.dock = 0 then
  56.     writeln('Space Dock location is not known')
  57.   else
  58.     writeln('Current space dock in sector ', space.dock );
  59.   write('Put Space Dock in which ');
  60.   sd := GetSector;
  61.   if sd = 0 then
  62.     if not prompt('Make stardock location unknown?') then
  63.       exit;
  64.   space.dock := sd;
  65.   if sd <> 0 then
  66.     with space.sectors[ sd ] do
  67.       etc := etc or StarDock;
  68. end;
  69.  
  70. procedure Unexplore;
  71. var
  72.   us : sectorIndex;
  73. begin
  74.   write('Mark as Unexplored Which ');
  75.   us := GetSector;
  76.   if us <> 0 then
  77.     if space.sectors[ us ].number = Unexplored then
  78.       writeln( 'Sector ', us, ' is already marked as unexplored.')
  79.     else
  80.       begin
  81.         writeln('Marking ', us, ' as unexplored.');
  82.         space.sectors[ us ].number := Unexplored;
  83.       end; {if else}
  84. end; {unexplore}
  85.  
  86. procedure EditMenu;
  87. { choices for direct editing the data base }
  88. var
  89.   ch : char;
  90. begin
  91.   repeat
  92.     repeat
  93.       writeln('Declare a sector to be a <P>ort');
  94.       writeln('Declare a sector <N>OT to be a port');
  95.       writeln('Define location of Star <D>ock');
  96.       writeln('Make sector <U>nexplored');
  97.       writeln;
  98.       writeln('<Q>uit');
  99.       writeln;
  100.       write('Your choice? ');
  101.       readln( ch );
  102.       ch := upcase( ch );
  103.     until ch in ['P', 'N', 'D', 'U', 'Q'];
  104.     case ch of
  105.       'P' : Makeport;
  106.       'N' : Killport;
  107.       'D' : setDock;
  108.       'U' : unexplore;
  109.       'Q' : ;
  110.     end; {case}
  111.   until ch = 'Q';
  112. end; {Edit Menu}