Появление объектов(картинок) - Free Pascal
Формулировка задачи:
Доброго времени суток, товарищи. Мне нужно сделать проект в виде игры на FPC, и у меня есть несколько вопросов. Как можно описать положение и шаг "врага", чтобы он "ехал" с правого края экрана в левую(чтобы его траектория была рандомной). Вроде как нужно по x:=x-%шаг% сделать, но что делать с y? как его описать? И да, почему-то, когда игра начинается, у меня мой "корабль" в месте появления не стирается(делаю всё через putimage), однако дальше всё нормально, кораблик затирается. Если надо, вброшу часть кода по этому вопросу. И да, не надо мне полностью писать программу, просто скажите как правильно записать значения в переменные(для перемещения врага). Спасибо.
Решение задачи: «Появление объектов(картинок)»
textual
Листинг программы
for n:=x div шаг downto 1 then begin y:=Random(высота_битовой_матрицы или на чём рисуете); if y < высоты_караблика then y:=высота_караблика; // Чтобы он не выходил сверху за предел экрана. x:=x-шаг; end;
Объяснение кода листинга программы
В данном коде выполняется следующий алгоритм:
for n:=x div шаг downto 1 then begin
— это цикл, который выполняется отx
(которое является текущим значением координаты по оси X) деленное нашаг
(величина, на которую уменьшается значениеx
после каждой итерации) до 1. То есть, это цикл, который выполняется, покаx
большешаг
.y:=Random(высота_битовой_матрицы или на чём рисуете);
— это генерация случайного числа в диапазоне от 0 довысота_битовой_матрицы
илина чём рисуете
. Здесь предполагается, чтовысота_битовой_матрицы
— это высота изображения, на котором рисуются объекты, или размер матрицы, если используется битовая матрица.if y < высоты_караблика then y:=высота_караблика;
— это проверка, что сгенерированное случайное числоy
меньшевысоты_караблика
(предполагается, что это высота объекта, который рисуется). Если это условие выполняется, тоy
устанавливается равнымвысоты_караблика
. Это сделано для того, чтобы объект не выходил за пределы экрана по оси Y.x:=x-шаг;
— это уменьшение значенияx
нашаг
после каждой итерации цикла. Таким образом, данный код генерирует случайные координаты по оси X в пределах изображения или матрицы и проверяет, что объект не выходит за пределы экрана по оси Y.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д