Program Parrot;{Version 3.0}
const
fnp:string[26]='parrot.shu';
var
f : Text;
Useranswer : String[80];
Frazes : array[1..795] of String[80];
i : Integer;
x : Boolean;
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^}
Procedure Delay;Assembler;
asm
@1:
mov cx, 30
mov dx, 0000
mov ah, $86
int $15
jc @1
end;
Procedure ClrScr; Assembler;
asm
mov ax, 3
int $10
end;
Procedure Rem_f;{Вспоминает фразы, записанные в файле.}
begin
i:=1;
Assign(f,fnp);
Reset(f);
While NOT EOF(f) Do
begin
ReadLn(f,Frazes[i]);
i:=i+1;
end;
Close(f);
end;
{--------------------------------------------}
Procedure Mem_f;{Запоминает фразы в файл}
begin
Assign(f,fnp);
Rewrite(f);
for i:=1 to 795 Do
begin
Writeln(f,Frazes[i]);
end;
Close(f);
end;
{============================================}
begin {parrot}
ClrScr;
WriteLn('Програма "П О П У Г А Й". Версия 3.0');
WriteLn('Продукт выпуска 2000 г., 27 июля.');
WriteLn('Добро пожаловать.');
WriteLn('Болтайте наздоровье!');
WriteLn;
WriteLn(' Изготовитель-Округин А.А.');
Delay;
ClrScr;
{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
x:=false;
Rem_f;
Randomize;
Repeat
begin
Writeln(Frazes[Round(Random(795)+1)]);
Readln(UserAnswer);
if (Useranswer<>'.') and (Useranswer<>'Пора спать')
and (Useranswer<>'Спать пора')
Then Frazes[Round(Random(795)+1)] :=Useranswer
else x:=true ;
end;
until (Useranswer='.') or (Useranswer='Пора спать')
or (Useranswer='Спать пора') or (x=true) ;
Mem_f;
WriteLn('Люблю!!! Пока!');
end. {parrot}