Нарисовать дом и заставить его двигаться в произвольном направлении - Turbo Pascal
Формулировка задачи:
Привет всем. Помогите разобраться с движением объектов в турбо паскаль. Необходимо нарисовать дом и заставить его двигаться в произвольном направлении. Дом нарисовал, но перемещать его не получается. Заранее благодарю!
Собственно код:
Решение задачи: «Нарисовать дом и заставить его двигаться в произвольном направлении»
textual
Листинг программы
program L10; uses crt,graph; var gd,gm:integer; x,y,dx,dy:integer; ptr:pointer; size:integer; begin gd := detect; initgraph(gd,gm,'c:\tp7\BGI'); line(100,100,100,200); line(100,200,200,200); line(200,200,200,100); line(100,100,200,100); line(100,100,150,50); line(150,50,200,100); size:=imagesize(100,50,200,200); getmem(ptr,size); getimage(100,50,200,200,ptr^); putimage(100,50,ptr^,xorput); x:=10; y:=10; dx:=10;dy:=10; repeat x:=x+dx; y:=y+dy; putimage(X,Y,ptr^,xorput); delay(100); putimage(X,Y,ptr^,xorput); if (x>520) or (x<10)then dx:=-dx else if(y<10) or (y>310) then dy:=-dy; until keypressed; end.
Объяснение кода листинга программы
- Создание программы L10 с использованием Turbo Pascal.
- Использование библиотек crt и graph.
- Инициализация графического дисплея с помощью функции initgraph.
- Создание дома с помощью функции line.
- Получение размера изображения с помощью функции imagesize.
- Выделение памяти с помощью функции getmem.
- Получение изображения с помощью функции getimage.
- Отображение изображения на графическом дисплее с помощью функции putimage.
- Установка начальных координат для движения дома с помощью переменных x, y, dx, dy.
- Цикл повторения движения дома:
- Обновление координат x и y на основе переменных dx и dy.
- Отображение обновленного изображения на графическом дисплее с помощью функции putimage.
- Задержка отображения изображения на экране с помощью функции delay.
- Проверка условий для изменения направления движения дома:
- Если x больше 520 или x меньше 10, то значение dx меняется на -dx.
- Если y меньше 10 или y больше 310, то значение dy меняется на -dy.
- Ожидание нажатия клавиши с помощью функции keypressed.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д