ASCII-art Анимация в Паскаль (консоль). Задержка выполнения (пауза) и очистка консоли. Примеры программ

В этом уроке из нашей серии мы рассмотрим вопрос вывода анимации в стиле ASCII-art в ЯП Паскаль.

В частности для вывода отдельных кадров мы будем использовать процедуры.

Пример №1 -- поющая птица

Рассмотрим пример программы, которая делает двух кадровую ASCII-art анимацию в консоли:

var i: integer;

procedure  frame1();  // процедура вывода первого кадра
begin
  writeln();
  writeln('   <")'); 
  writeln('   ( >\'); 
  writeln('    " \\');
  writeln('        \');
end;

procedure  frame2();   // процедура вывода  2-ого кадра
begin
  writeln();
  writeln('   >")');
  writeln('   ( >\');
  writeln('    " \\');
  writeln('        \');
end;

begin

  for i:=1 to 10000 do // достаточно длинный цикл
  begin
    frame1();  // выводим первый кадр
    Delay(500); // задерка на полсекунду (500 милисекунд)
    ClrScr; // очищаем консоль
    
    frame2(); // выводим второй  кадр
    Delay(500); 
    ClrScr;
  end;

  readln();
end.

В этой анимации мы использовали два кадра -- 1-ый:

   <")
   ( >\
    " \\
       \

и 2-ой:

   >")
   ( >\
    " \\
       \