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 запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!