pryamoug.PAS

{* Движение прямоугольника *}

Unit PRYAMOUG;
Interface
Implementation
Begin
 writeln('Программа выполнена в текстовом режиме. Прямоугольник движется с помощью стрелок. При перемещении за край экрана прямоугольник появляется с другой стороны.');
End.

Program pas;

Uses pryamoug.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Var {* В работе нам потребуются переменные: *}
  i              : integer;
  x              : integer;
  y              : integer;
  ch             : char;
Procedure sq(x : byte);
y              : byte);
cl             : byte);
Var {* Необходимые переменные *}
  j  : integer;
  lx : integer;
  ly : integer;
  i  : integer;
Begin
  lx := 4;
  ly := 2;
  gotoxy(x, y);
  textcolor(cl); {*  текст *}
  For i := 1 To ly Do {* Переменная i увеличивается с 1 до ly *}
    For j := 1 To lx Do {* Цикл для j => [1 .. lx] *}
    Begin
      gotoxy(x + j - 1, y + i - 1);
      write('█
      '
);
    End;
  
End;
Begin
  clrscr; {* Очищаем экран *}
  x := 39;
  y := 12;
  sq(39, 12, 14);
  Repeat  ch := readkey; {* Нажмите любую клавишу *}
    sq(x, y, 0);
  Case ch Of  #72 : y := y - 1;
    #80 : y := y + 1;
  #75 : x := x - 1;
  #77 : x := x + 1;
End;
If x = 0 Then
  x := 77;
If x = 78 Then
  x := 1;
If y = 0 Then
  y := 24;
If y = 25 Then
  y := 1;
sq(x, y, 14);
Until ch = #27;
End......