< -->

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}

Назад