Появление объектов(картинок) - 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;

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

В данном коде выполняется следующий алгоритм:

  1. for n:=x div шаг downto 1 then begin — это цикл, который выполняется от x (которое является текущим значением координаты по оси X) деленное на шаг (величина, на которую уменьшается значение x после каждой итерации) до 1. То есть, это цикл, который выполняется, пока x больше шаг.
  2. y:=Random(высота_битовой_матрицы или на чём рисуете); — это генерация случайного числа в диапазоне от 0 до высота_битовой_матрицы или на чём рисуете. Здесь предполагается, что высота_битовой_матрицы — это высота изображения, на котором рисуются объекты, или размер матрицы, если используется битовая матрица.
  3. if y < высоты_караблика then y:=высота_караблика; — это проверка, что сгенерированное случайное число y меньше высоты_караблика (предполагается, что это высота объекта, который рисуется). Если это условие выполняется, то y устанавливается равным высоты_караблика. Это сделано для того, чтобы объект не выходил за пределы экрана по оси Y.
  4. x:=x-шаг; — это уменьшение значения x на шаг после каждой итерации цикла. Таким образом, данный код генерирует случайные координаты по оси X в пределах изображения или матрицы и проверяет, что объект не выходит за пределы экрана по оси Y.

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


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

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

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