home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG133.ARC / VILLAGE2.ARC / VILLMAIN.PAS < prev   
Pascal/Delphi Source File  |  1988-08-07  |  3KB  |  87 lines

  1. program VillagerMaintainer;
  2. { To be run once per day. Resets people who have previously played, and erases
  3.   some of newspaper to shorten it. - By Andrew Scott }
  4.  
  5. type
  6.   strng = string[80]; { String Data }
  7.   people = record { Player file data }
  8.     name: strng;
  9.     x, y, gold, foodheld, foodrtrn, scouts, bonus: integer;
  10.     dead, expert, played: boolean;
  11.     end;
  12.  
  13. var
  14.   newspaper: file of strng; { Newspaper }
  15.   newsback: file of strng; { Backup Newspaper }
  16.   news: strng; { Line of news }
  17.   personfile: file of people; { Player file }
  18.   personback: file of people; { Backup Player file }
  19.   person: people; { Player info }
  20.   length, i: integer; { Length of paper, and Misc. }
  21.  
  22. begin
  23.   writeln('Villager Maintainer Program. To be run once per day.');
  24.   writeln(' - Written by Andrew Scott');
  25.   writeln('Shortening Newspaper:-');
  26.   assign(newspaper,'VILPAPER.DAT');
  27.   assign(newsback,'VILPAPER.BAK');
  28.   {$I-} reset(newspaper); {$I+}
  29.   if ioresult<>0 then writeln('** Error ** File doesn''t exist!') else begin
  30.     writeln('  Reading Length.');
  31.     length:=0;
  32.     while not eof(newspaper) do begin
  33.       read(newspaper,news);
  34.       length:=length+1;
  35.     end;
  36.     writeln('  Copying File to backup (after shortening).');
  37.     rewrite(newsback);
  38.     length:=length div 4;
  39.     reset(newspaper);
  40.     if length<>0 then for i:=1 to length do read(newspaper,news);
  41.     while not eof(newspaper) do begin
  42.       read(newspaper,news);
  43.       write(newsback,news);
  44.     end;
  45.     close(newsback);
  46.     close(newspaper);
  47.     writeln('  Copying Backup to Newspaper..');
  48.     reset(newsback);
  49.     rewrite(newspaper);
  50.     while not eof(newsback) do begin
  51.       read(newsback,news);
  52.       write(newspaper,news);
  53.     end;
  54.     close(newspaper);
  55.     close(newsback);
  56.     writeln('  Erasing Backup.');
  57.     erase(newsback);
  58.   end;
  59.   writeln('Updating Characters who played:-');
  60.   assign(personfile,'VILL1.DAT');
  61.   assign(personback,'VILL3.DAT');
  62.   {$I-} reset(personfile); {$I+}
  63.   if ioresult<>0 then writeln('** Error ** File doesn''t exist!') else begin
  64.     rewrite(personback);
  65.     writeln('  Reading Characters and Writing to Backup.');
  66.     while not eof(personfile) do begin
  67.       read(personfile,person);
  68.       person.played:=false;
  69.       write(personback,person);
  70.     end;
  71.     close(personfile);
  72.     close(personback);
  73.     writeln('  Reading from Backup to update Charaters File.');
  74.     reset(personback);
  75.     rewrite(personfile);
  76.     while not eof(personback) do begin
  77.       read(personback,person);
  78.       write(personfile,person);
  79.     end;
  80.     close(personfile);
  81.     close(personback);
  82.     writeln('  Erasing Backup File.');
  83.     erase(personback);
  84.   end;
  85.   writeln('Villager Maintainer Completed.');
  86. end.
  87.