Как передвигать объект клавишами: вперед,назад,влево,вправо? - Pascal ABC

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

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

эту тему уже многие затрагивали но не можите ли сказать?

Решение задачи: «Как передвигать объект клавишами: вперед,назад,влево,вправо?»

textual
Листинг программы
uses crt,graphABC;
var x0,y0,w,h,x,y:integer;
    c:char;
procedure Move(x,y,c:integer); //рисование
begin
setpencolor(c);
circle(x,y,20);
end;
begin
HideCursor; //уберем курсор
w:=windowwidth; //середина экрана
h:=windowheight;
x0:=w div 2;
y0:=h div 2;
x:=x0;y:=y0;
setpenwidth(3); //толшина линии
Move(x0,y0,clred);//рисуем
textout(10,5,'Управление - стрелки');
textout(10,25,'Выход - Esc');
x:=x0;
y:=y0;
repeat
if keypressed then
 begin
  c:=readkey;
  case c of
  #72:begin //вверх
      Move(x,y,clwhite);//стираем(рисуем белым)
      y:=y-5;//перемещаемся
      Move(x,y,clred);//снова рисуем
      end;
  #75:begin //вправо
      Move(x,y,clwhite);
      x:=x+5;
      Move(x,y,clred);
      end;
  #80:begin //вниз
      delay(50);
      Move(x,y,clwhite);
      y:=y+5;
      Move(x,y,clred);
      end;
  #77:begin //влево
      delay(50);
      Move(x,y,clwhite);
      x:=x-5;
      Move(x,y,clred);
     end;
  end;
 end;
until c=#27;
end.

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

  1. Установка начального положения объекта на экране.
  2. Отображение клавиш управления и выхода.
  3. Проверка нажатия клавиш.
  4. Перемещение объекта вверх при нажатии клавиши вверх.
  5. Перемещение объекта вправо при нажатии клавиши вправо.
  6. Задержка перед перемещением объекта вниз для создания эффекта движения.
  7. Перемещение объекта вниз при нажатии клавиши вниз.
  8. Задержка перед перемещением объекта влево для создания эффекта движения.
  9. Перемещение объекта влево при нажатии клавиши влево.
  10. Проверка нажатия клавиши выхода.
  11. Повторение цикла до тех пор, пока не будет нажата клавиша выхода.
  12. Установка начального цвета линии и рисование объекта в его новом положении.
  13. Смена цвета линии на белый для стирания предыдущего объекта.
  14. Изменение координат объекта в соответствии с направлением движения.
  15. Возвращение к начальному цвету линии после стирания.
  16. Изменение координат объекта в соответствии с направлением движения.
  17. Смена цвета линии на белый для стирания предыдущего объекта.
  18. Изменение координат объекта в соответствии с направлением движения.
  19. Возвращение к начальному цвету линии после стирания.
  20. Изменение координат объекта в соответствии с направлением движения.

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

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