Движение текста по экрану с помощью клавиш управления курсором - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

осуществить движение текста по экрану с помощью клавиш управления курсором. Текст содержит имя студента и номер группы;

Решение задачи: «Движение текста по экрану с помощью клавиш управления курсором»

textual
Листинг программы
uses crt;
const s='Андрей 1234';
var c1,c:char;
    n,x,y:integer;
begin
clrscr;
n:=length(s);
x:=(80-n)div 2;
y:=13;
gotoXY(x,y);
write(s);
repeat
if keypressed then
 begin
  c:=readkey;
  if c=#0 then c:=readkey;
  case c of
  #75:if x>2 then
       begin
        clrscr;
        x:=x-1;
        gotoXY(x,y);
        write(s);
        delay(100);
       end;
  #77:if x<80-n then
       begin
        clrscr;
        x:=x+1;
        gotoXY(x,y);
        write(s);
        delay(100);
       end;
  #72:if y>2 then
       begin
        clrscr;
        y:=y-1;
        gotoXY(x,y);
        write(s);
        delay(100);
       end;
  #80:if y<24 then
       begin
        clrscr;
        y:=y+1;
        gotoXY(x,y);
        write(s);
        delay(100);
       end;
  #27:exit
  end;
 end;
until c=#27;
end.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека crt, которая обеспечивает функции для работы с консолью.
  2. Далее объявляются переменные: s - строка, содержащая текст Андрей 1234; c1 и c - символы, которые будут использоваться для движения курсора; n, x и y - целые числа, которые определяют положение курсора на экране.
  3. Затем происходит очистка экрана с помощью функции clrscr.
  4. После этого вычисляется значение x, которое равно 80 минус длине переменной s, деленной на 2, и округленное вниз до ближайшего целого числа. Значение y устанавливается равным 13.
  5. Далее происходит вызов функции gotoXY, которая устанавливает положение курсора в точку x, y на экране.
  6. Затем выполняется запись переменной s на экран с помощью функции write.
  7. После этого начинается цикл repeat, который будет продолжаться до тех пор, пока не будет нажата клавиша с номером 27.
  8. Внутри цикла проверяется, была ли нажата клавиша. Если да, то считывается символ, который будет использоваться для движения курсора. Если считанный символ равен #0, то повторяется попытка его считывания.
  9. Далее происходит проверка нажатой клавиши. Если это клавиша #75, то курсор перемещается на одну позицию влево, если текущая позиция курсора больше 2, и экран очищается, иначе курсор перемещается на одну позицию вправо. После этого происходит запись переменной s на экран и задержка в 100 мс.
  10. Если нажата клавиша #77, то ситуация аналогична предыдущему пункту, но движение происходит вправо.
  11. Если нажата клавиша #72, то ситуация аналогична предыдущему пункту, но движение происходит вниз.
  12. Если нажата клавиша #80, то ситуация аналогична предыдущему пункту, но движение происходит вверх.
  13. Если нажата клавиша #27, то цикл повторяется до тех пор, пока не будет нажата эта клавиша, после чего программа завершается.
  14. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы