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
Wrap
Pascal/Delphi Source File
|
1988-08-07
|
3KB
|
87 lines
program VillagerMaintainer;
{ To be run once per day. Resets people who have previously played, and erases
some of newspaper to shorten it. - By Andrew Scott }
type
strng = string[80]; { String Data }
people = record { Player file data }
name: strng;
x, y, gold, foodheld, foodrtrn, scouts, bonus: integer;
dead, expert, played: boolean;
end;
var
newspaper: file of strng; { Newspaper }
newsback: file of strng; { Backup Newspaper }
news: strng; { Line of news }
personfile: file of people; { Player file }
personback: file of people; { Backup Player file }
person: people; { Player info }
length, i: integer; { Length of paper, and Misc. }
begin
writeln('Villager Maintainer Program. To be run once per day.');
writeln(' - Written by Andrew Scott');
writeln('Shortening Newspaper:-');
assign(newspaper,'VILPAPER.DAT');
assign(newsback,'VILPAPER.BAK');
{$I-} reset(newspaper); {$I+}
if ioresult<>0 then writeln('** Error ** File doesn''t exist!') else begin
writeln(' Reading Length.');
length:=0;
while not eof(newspaper) do begin
read(newspaper,news);
length:=length+1;
end;
writeln(' Copying File to backup (after shortening).');
rewrite(newsback);
length:=length div 4;
reset(newspaper);
if length<>0 then for i:=1 to length do read(newspaper,news);
while not eof(newspaper) do begin
read(newspaper,news);
write(newsback,news);
end;
close(newsback);
close(newspaper);
writeln(' Copying Backup to Newspaper..');
reset(newsback);
rewrite(newspaper);
while not eof(newsback) do begin
read(newsback,news);
write(newspaper,news);
end;
close(newspaper);
close(newsback);
writeln(' Erasing Backup.');
erase(newsback);
end;
writeln('Updating Characters who played:-');
assign(personfile,'VILL1.DAT');
assign(personback,'VILL3.DAT');
{$I-} reset(personfile); {$I+}
if ioresult<>0 then writeln('** Error ** File doesn''t exist!') else begin
rewrite(personback);
writeln(' Reading Characters and Writing to Backup.');
while not eof(personfile) do begin
read(personfile,person);
person.played:=false;
write(personback,person);
end;
close(personfile);
close(personback);
writeln(' Reading from Backup to update Charaters File.');
reset(personback);
rewrite(personfile);
while not eof(personback) do begin
read(personback,person);
write(personfile,person);
end;
close(personfile);
close(personback);
writeln(' Erasing Backup File.');
erase(personback);
end;
writeln('Villager Maintainer Completed.');
end.