Программа перемещающая по экрану ваше имя клавишами управления движением курсора - Turbo Pascal

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

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

Напишите программу перемещающую по экрану ваше имя клавишами управления движением курсора. Каждый шаг "имени" должен быть озвучен, причём высота звука должна зависеть от направления движения. Окончание работы программы - клавиша Ins.

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

textual
Листинг программы
uses crt;
var s,s1:string;
    c:char;
    x,y:integer;
begin
clrscr;
writeln('Перемещайте имя стрелками, выход клавиша Insert');
s:='Иван';
s1:='    ';
x:=37;
y:=13;
gotoXY(x,y);
write(s);
repeat
c:=readkey;
if c=#0 then c:=readkey;
case c of
#72:begin
    if y>2 then
     begin
      gotoXY(x,y);
      write(s1);
      y:=y-1;
      gotoXY(x,y);
      write(s);
      sound(1000);
      delay(100);
      nosound;
     end;
    end;
#75:begin
    if x>1 then
     begin
      gotoXY(x,y);
      write(s1);
      x:=x-1;
      gotoXY(x,y);
      write(s);
      sound(800);
      delay(100);
      nosound;
     end;
    end;
#77:begin
    if x<79 then
     begin
      gotoXY(x,y);
      write(s1);
      x:=x+1;
      gotoXY(x,y);
      write(s);
      sound(600);
      delay(100);
      nosound;
     end;
    end;
#80:begin
    if y<24 then
     begin
      gotoXY(x,y);
      write(s1);
      y:=y+1;
      gotoXY(x,y);
      write(s);
      sound(400);
      delay(100);
      nosound;
     end;
    end;
end;
until c=#82;
end.

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

  1. Программа начинается с инициализации переменных и объявления строки, которую мы будем перемещать по экрану.
  2. Функция clrscr() используется для очистки экрана.
  3. Программа выводит сообщение и предлагает пользователю перемещать имя с помощью клавиш управления курсором.
  4. Переменные x и y инициализированы значениями 37 и 13 соответственно. Это координаты, где будет отображаться имя.
  5. Функция gotoxy(x,y) используется для установки курсора на экран по координатам x,y.
  6. Строка s содержит имя, которое мы будем перемещать.
  7. Строка s1 содержит символ пробела, который будет отображаться между перемещением имени.
  8. В цикле repeat программа ожидает ввода пользователя с помощью функции readkey(). Если пользователь вводит символ #0, цикл прерывается.
  9. В случае символа #72 программа перемещает курсор влево, если y больше 2, и вправо, если y меньше 24. При этом имя перемещается на одну строку вниз или вверх.
  10. В случае символа #75 программа перемещает курсор вверх, если x больше 1, и вниз, если x меньше 1. При этом имя перемещается на одну строку влево или вправо.
  11. В случае символа #77 программа перемещает курсор вверх, если x меньше 79, и вниз, если x больше 79. При этом имя перемещается на одну строку влево или вправо.
  12. В случае символа #80 программа перемещает курсор вниз, если y меньше 24, и вверх, если y больше 24. При этом имя перемещается на одну строку вправо или влево.
  13. Цикл до тех пор, пока пользователь не введет символ #82, который является командой выхода.
  14. В конце программы функция nosound() отключает звуковой сигнал, чтобы не мешать пользователю.

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


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

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

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