март 21, 2022

Petefall 10

Добавить в
Мои игры
Торрент
Скачать

Это мой четвертый десятистрочный текст, написанный на BASIC для Commodore 64.

Эта игра была представлена ​​на конкурсе Basic 10-Liner Contest 2022 в категории PUR-80.

Вдохновленный старой демоверсией "3 приключения", которую я сделал еще в 90-х.

Сюжет

Немногие знают, что у Гарри Питфолла есть брат, и его зовут Пит. Ваша цель — помочь Питу в его приключении, когда он путешествует по 32 мирам, полным ям. Никому из вас не нравится эта идея, но другого пути, кроме как вперед, нет. Помогите Питу выбраться из этого. Я знаю, ты справишься.

Его брат Гарри будет гордиться вами.

Экран

В левом верхнем углу вы можете увидеть текущий мир и количество жизней.

Элементы управления

Используйте джойстик в порту 2. Нажмите кнопку огня, чтобы прыгнуть.

Описание кода

В этой игре я хотел использовать генерируемые уровни (миры) вместо рандомизации. Основываясь на одном значении, я добился некоторого разнообразия для 32 миров. Это не идеально, но было действительно сложно втиснуть его менее чем в 2 строки кода. Я надеюсь, что это даст хорошее ощущение разнообразия в игре, поскольку я хотел включать более короткие и длинные ямы. Еще я добавил в дизайн разную длину платформ, поэтому в большинстве случаев игрок не может прыгать вслепую от начала до конца, а должен прыгать в нужный момент.

Также хотелось вписать анимацию ям, так как она выглядит намного живее, особенно вместе с анимацией героя.

Построчный обзор кода

- Лв 0:

    – Инициализация некоторых переменных, включая анимацию главного героя.

    – Настройка цвета экрана и рамки

    – Данные за X$

- Строка 1:

    - Увеличить текущий номер мира, если у героя есть несколько жизней, в противном случае произойдет сброс к первому миру.

    - Сброс количества жизней до 7 в случае окончания игры или первого запуска.

    – Создайте мир на основе значения переменной G, от 0 до 9 достаточно, чтобы заполнить строку, представляющую текущий мир, длиной не менее 40 символов.

    - Вычисление начальной позиции мировой графики (переменная A), которая будет взята из строк W$ и X$

    – Данные для сингапурских долларов, Y

- Строка 2:

    - Вычисление длины мировой графики (переменная B), которая будет вырезана из строк W$ и X$

    - Обе строки N$ и $M$ будут созданы для создания эффекта анимации ям.

     – выполняет цикл FOR в строке 1 10 раз.

    – Очистить экран

- Строка 3:

    - Считайте джойстик в порту 2

    – Установите L, если джойстик перемещается влево, R, если джойстик перемещается вправо, F, если нажата кнопка огня.

    - На основе значений джойстика можно установить следующее горизонтальное положение героя по X

    - Увеличивать шаг анимации героя только при его движении (переменная C)

- Строка 4:

    – шаг анимации героя сохраняется в переменной C (от 0 до 2)

    - В какую сторону должна быть направлена ​​голова героя, сохраняется в переменной H

    - Ч.проверьте, требуется ли герою подпрыгнуть, что может произойти только тогда, когда он находится на полу (переменная U)

- Строка 5:

    - Рассчитать позицию героя при прыжке (переменная P) до достижения максимальной высоты (Y = 0)

    - Рассчитать положение героя при падении (переменная D) до достижения пола (Y = 3)

    - Если мир изменился на 33, завершите игру, перейдя на строку 9.

    – В противном случае отобразите фактический номер мира в верхней части экрана и перейдите к строке 6.

- Строка 6:

    – Отображение фактического количества жизней

    – Отобразить обычную графику мира, если N = 0

    - Отобразить перевернутую графику мира, если N = 1

     – установите вертикальное и горизонтальное положение, в котором будет отображаться здесь.

- Строка 7:

    - Отображение головы героя в правильном направлении на основе переменной H

    – Отображение верхней и нижней части тела героя на основе переменной C.

    - Считайте экранную память рядом с ногой героя и сохраните ее в переменной A, чтобы определить, наступает ли герой на яму.

- Строка 8:

    - Уменьшает одну жизнь, если герой сталкивается с ямой (когда A = 102 или 230)

    - Пока герой не дошел до правой части экрана (X меньше 36) и количество жизней не стало положительным, продолжаем основной цикл игры, переходя на строку 3

    - В противном случае подготовьте N$ и M$ для создания нового мира и переместите героя в левую часть экрана, а затем перейдите к строке 1, где находится мир.происходит объединение

    – Данные для Q$

- Строка 9:

    – сюда программа переходит, когда герой выигрывает игру.

    - Данные для W$, H, S, C$(0...5)

    

Обзор переменных

- X$ — перевернутая графика мира, 3 последовательных байта определяют платформу или яму

- S$ – смещение экрана по вертикали

- Y – вертикальное положение героя

- Q$ — перемещает курсор печати главного героя на следующую строку

- W$ - нормальная графика мира (см.: X$)

- H – положение анимации головы героя

- S - память адреса цвета экрана

- C$() - таблица с анимацией героя, содержащая 3 кадра (верхняя часть, за которой следует нижняя часть тела героя)

- G – текущий мир

- Ви – жив

- I – используется для итераций цикла

- A — хранит начало мировой графики, которая будет вырезана из графических строк уровня X$ и W$ во время генерации мира, также используется для обнаружения столкновения с ямой

- B — хранит длину графики мира, которая будет вырезана из графических строк уровней X$ и W$ во время генерации мира.

- N$ – хранит обычную графику мира из строки W$

- M$ – хранит инвертированную графику мира из строки X$

- J - значение адреса порта 2 джойстика

- L – порт 2 джойстика сдвинут влево

- R – порт 2 джойстика сдвинут в правильном направлении

- F – нажата ли кнопка огня порта 2 джойстика

- K - следующая позиция героя на основе переменных L и R

- X - геройгоризонтальное положение

- C – шаг анимации героя

- U – героя просят подпрыгнуть

- N — переключить анимацию мира (использовать обычную или инвертированную графику)

- P – используется для расчета, подпрыгивает ли герой

- D – герой падает

От автора

Удачи с другими играми, представленными на конкурсе BASIC 10-Liner!

Спасибо https://lvllvl.com/c64/ за отличное встраивание JS-эмулятора!

Зайдите на сайт www.commocore.com, чтобы увидеть больше игр и проектов с открытым исходным кодом!

Бартош Жолыньский

Как скачать Petefall 10 через торрент

Всего несколько простых шагов:

  • Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
  • Выбираем и скачиваем подходящий торрент-файл репака Petefall 10
  • Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
  • После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!