Pascal графика тип движения
Подскажите как в паскале реализуется движение обьектов? Нужно сделать Движение в случайном направлении. Смена направления движения производится через случайное количество тактов. Предусмотреть отражение от границ экрана.
Через что его можно выразить? Вот собственно моя работа только здесь скопипастенное движение по диагонали. Код:
Uses Crt,Graph; |
Движение можно реализовать несколькими способами. Но основной принцип: затирание на старом месте и рисование на новом - неизменно лежит в основе движения. Pascal предоставляет следующие возможности:
а) рисование с помощью примитивов - медленно и неэффективно, но доступно любому начинающему; б) метод PutImage и работа с памятью и графическими матрицами - быстрее но требует четкого определения размера объекта; в) формирование изображения на странице видеопамяти и переключение между страницами - используется в игровых приложениях и сейчас. Так, к примеру, можно задать цикл движения до тех пор, пока не будет нажата клавиша. В цикле в переменную считывать случайное значение направления движения, которое будет служить условием для вложенного цикла перемещения объекта на случайные dx и dy. По достижении границ экрана внутренний цикл прерывается и управление передается внешнему циклу, в котором опять генерируется значение для направления. Пример использования метода PutImage. Реализовано движение только по горизонтали. Цитата:
|
У меня вот как получилось
Цитата:
|
Часовой пояс GMT +4, время: 21:54. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.