Организовать перемещение буквы вдоль определенной координаты при нажатии клавиш - PascalABC.NET

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

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

Всем привет, как организовать перемещение буквы вдоль определенной координаты при нажатии клавиш? Буквы я с помощья оператора "Line" нарисовал, а как перемещать их не доходит.

Решение задачи: «Организовать перемещение буквы вдоль определенной координаты при нажатии клавиш»

textual
Листинг программы
uses graphABC;
var x,y:integer;
    f:boolean;
procedure K(n:integer);
begin
Line(x+10*n,y+20*n,x+20*n,y+10*n); //Буква "К"
Line(x+20*n,y+10*n,x+40*n,y+10*n);
Line(x+40*n,y+10*n,x+30*n,y+20*n);
Line(x+10*n,y+20*n,x+30*n,y+20*n);
Line(x+30*n,y+20*n,x+30*n,y+50*n);
Line(x+30*n,y+50*n,x+60*n,y+20*n);
Line(x+60*n,y+20*n,x+80*n,y+20*n);
Line(x+80*n,y+20*n,x+40*n,y+60*n);
Line(x+40*n,y+60*n,x+80*n,y+100*n);
Line(x+80*n,y+100*n,x+60*n,y+100*n);
Line(x+60*n,y+100*n,x+30*n,y+70*n);
Line(x+30*n,y+70*n,x+30*n,y+100*n);
Line(x+30*n,y+100*n,x+10*n,y+100*n);
Line(x+10*n,y+100*n,x+10*n,y+20*n);
Line(x+40*n,y+10*n,x+40*n,y+40*n);
Line(x+40*n,y+80*n,x+40*n,y+90*n);
Line(x+40*n,y+90*n,x+30*n,y+100*n);
Line(x+60*n,y+20*n,x+70*n,y+10*n);
Line(x+70*n,y+10*n,x+90*n,y+10*n);
Line(x+90*n,y+10*n,x+80*n,y+20*n);
Line(x+80*n,y+100*n,x+90*n,y+90*n);
Line(x+90*n,y+90*n,x+50*n,y+50*n);
end; 
procedure KeyDown(key:integer);
begin
case key of
VK_Right:x:=x+10;
VK_Left: x:=x-10;
VK_Up:   y:=y-10;
VK_Down: y:=y+10;
else f:=false; 
end;
end;
var n:integer;
begin
f:=true;
repeat
write('Введите число от 3 до 10: ');
readln(n); //Масштаб
until n in [3..10];
SetWindowSize (250*n,150*n); //Размер окна
x:=0;
y:=0;
lockdrawing;
repeat
clearwindow;
onkeydown:=KeyDown;
K(n);
sleep(50);
redraw;
until not f;
 
end.

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

  1. В начале кода объявляются переменные x, y и f типа integer.
  2. Далее определена процедура K, которая рисует букву К заданного размера в заданной точке.
  3. Следующая процедура KeyDown обрабатывает нажатия клавиш.
  4. Затем определена переменная n типа integer, которая используется для ввода масштаба буквы.
  5. Код устанавливает размер окна в соответствии с введенным масштабом.
  6. Затем устанавливаются начальные координаты x и y.
  7. Код входит в цикл, который повторяется до тех пор, пока пользователь не введет некорректное значение масштаба.
  8. В этом цикле рисуется буква К и ожидается нажатие клавиши.
  9. Если нажата клавиша вправо, значение переменной x увеличивается на 10.
  10. Если нажата клавиша влево, значение переменной x уменьшается на 10.
  11. Если нажата клавиша вверх, значение переменной y уменьшается на 10.
  12. Если нажата клавиша вниз, значение переменной y увеличивается на 10.
  13. Если нажата клавиша, не соответствующая ни одному из вышеуказанных, то переменная f устанавливается в false.
  14. Если пользователь вводит некорректное значение масштаба, то цикл продолжается.
  15. Когда пользователь прекращает ввод, цикл завершается и программа завершается.

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


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

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

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