Реализовать движение графического рисунка - Pascal ABC

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

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

Напишите пожалуйста графический рисунок, необходимо, чтобы фигура двигалась. Фигура компьютерная мышка Работу нужно сдать 25.03.16

Решение задачи: «Реализовать движение графического рисунка»

textual
Листинг программы
uses graphABC;
var x,y:integer;
procedure mouse(x,y:integer);
begin
pen.Color:=clBlack;
arc(x,y-50,50,0,180);
arc(x,y+50,50,180,360);
line(x-50,y-50,x-50,y+50);
line(x+50,y-50,x+50,y+50);
floodfill(x,y,clBlack);
pen.Color:=clSilver;
arc(x,y-50,50,45,135);
line(x-25,y,x+25,y);
line(x-25,y,x-25,y-92);
line(x+25,y,x+25,y-92);
floodfill(x-15,y-15,clSilver);
pen.Color:=clBlack;
line(x-10,y-30,x-10,y-80);
line(x+10,y-30,x+10,y-80);
arc(x,y-35,10,180,360);
arc(x,y-80,10,0,180);
floodfill(x,y-50,clBlack);
end;
 
procedure KeyDown(key:integer);
begin
case key of
Vk_Up:if y-100>0 then y:=y-5;
Vk_Down:if y+100<windowheight then y:=y+5;
Vk_Left:if x-50>0 then x:=x-5;
Vk_Right:if x+50<windowwidth then x:=x+5;
end;
end;
 
begin
x:=windowwidth div 2;
y:=windowheight div 2;
mouse(x,y);
textout(10,10,'Управление стрелками');
lockdrawing;
repeat
clearwindow;
onkeydown:=KeyDown;
textout(10,10,'Управление стрелками');
mouse(x,y);
redraw;
until 1>2;
end.

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

  1. В начале кода подключается библиотека graphABC, которая предоставляет функции для работы с графикой.
  2. Далее объявляются две переменные: x и y, которые представляют координаты точки на графике.
  3. Затем определяется процедура mouse, которая реализует движение графического рисунка. Внутри этой процедуры используются функции arc, line и floodfill для создания и изменения формы графического элемента.
  4. Далее определена процедура KeyDown, которая обрабатывает нажатие клавиш на клавиатуре. Внутри этой процедуры используется оператор case для определения действия, которое нужно выполнить при нажатии определенной клавиши. В данном случае, при нажатии клавиши Vk_Up, значение переменной y уменьшается на 5, при нажатии клавиши Vk_Down, значение переменной y увеличивается на 5, при нажатии клавиши Vk_Left, значение переменной x уменьшается на 5, и при нажатии клавиши Vk_Right, значение переменной x увеличивается на 5.
  5. Затем начинается основной цикл программы, который включает в себя следующие действия:
    • x и y устанавливаются в середину окна (x = windowwidth / 2, y = windowheight / 2).
    • Вызывается процедура mouse, чтобы нарисовать графический элемент.
    • Выводится текст Управление стрелками.
    • Включена блокировка рисования.
    • Начиная с цикла repeat...until, происходит очистка окна, вызывается процедура KeyDown, рисуется графический элемент, выводится текст Управление стрелками и включается возможность рисования.
    • Цикл повторяется до тех пор, пока условие 1 > 2 не будет выполнено.

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

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