Организовать перемещение буквы вдоль определенной координаты при нажатии клавиш - 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.
Объяснение кода листинга программы
- В начале кода объявляются переменные x, y и f типа integer.
- Далее определена процедура K, которая рисует букву
К
заданного размера в заданной точке. - Следующая процедура KeyDown обрабатывает нажатия клавиш.
- Затем определена переменная n типа integer, которая используется для ввода масштаба буквы.
- Код устанавливает размер окна в соответствии с введенным масштабом.
- Затем устанавливаются начальные координаты x и y.
- Код входит в цикл, который повторяется до тех пор, пока пользователь не введет некорректное значение масштаба.
- В этом цикле рисуется буква
К
и ожидается нажатие клавиши. - Если нажата клавиша
вправо
, значение переменной x увеличивается на 10. - Если нажата клавиша
влево
, значение переменной x уменьшается на 10. - Если нажата клавиша
вверх
, значение переменной y уменьшается на 10. - Если нажата клавиша
вниз
, значение переменной y увеличивается на 10. - Если нажата клавиша, не соответствующая ни одному из вышеуказанных, то переменная f устанавливается в false.
- Если пользователь вводит некорректное значение масштаба, то цикл продолжается.
- Когда пользователь прекращает ввод, цикл завершается и программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д