ZX Spectrum
Game

Take a Running Jump

Your Spectrum (Великобритания),

Автор:

Жанр: Программирование: BASIC


Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один

Доступные версии

Неофициальное издание
Играть!

Доступные версии

Неофициальное издание
Играть!
  •  Описание (авт.пер.)
  •  Информация
Описание Take a Running Jump (автоматический перевод)

! 0 ^ ^ ^ ..

! B ! P H11 H07 H10 H00              Т К Е             РАБОТА              J U M P ! 0 ^ ^ ^ ..

! 2 ^ ^ ^ ^ ^ ^

! P H11 H02 H10 H00   Если вы удивлялись маниакальные фигуры сжать вокруг вашего  не видеоэкран – потом удивляются, больше не в том, как это делается. Улучшать Ваши собственные аркадные игры не по дням, а по часам с этой Zappy Литтл          рутина из машинного кода маэстро, Тони Бейкер.

! 1 ^ ^ ^ ^

Объектом упражнения этого выпуска является

представить подпрограмму машинного кода, который может быть использован в Основных программ для широкого спектра полностью бессмысленно – но весело – игры. С его помощью в Операция вы видите фигурку на экране, что при нажатии левой или правой курсора ключи, с удовольствием бегать по экрану в Горизонтальная прямая. Прикосновение к вверх курсор ключ и mischevious персонаж прыгать в воздух и землю обратно вниз!

Не спрашивайте меня, зачем – ты программист!

  Несколько простых выглядывает все, что необходимо для сообщить программе, где этот показатель составляет, и Пару тычет будет двигаться наш друг к любой части экрана. Таким образом, Основной полностью интерактивная с машинным кодом. Вполне возможно сделать какой-то видеоигры из эта процедура не используя никакой другой машинный код вообще – Так вот, если вы чувствуете, что особенно область за Вы в настоящее время, есть еще много для вас, чтобы сделать в это время.

! 0 ^ ^ ^ ..

! B В чем дело ! 1 ^ ^ ^ ^ Если вы не понимаете, машинный код, то Пару моментов достойны объяснения.

Левая колонка из листинга машинного кода является все, что нужно, чтобы прокормить в компьютер.

Другие столбцы только там, чтобы дать дополнительный Информация. Тем не менее, вы заметите, что есть Пару вопросительных знаков в левой колонке из списка, которые не являются частью машины Код; они предупреждают, что это адреса, которые вы должны будете работать для сами. Например, где он говорит, CD ???? в левая колонка рука, и ВЫЗОВ фигурой в средняя колонка, это означает, что вопросительные знаки в левой колонке должны быть заменены адрес линии машинного кода, который имеет лейбл РИС написано в секунду колонка. Этот адрес должен быть в шестнадцатеричном формате, и с двух компонентных байтов в обратном Порядок – так, например, если линия с пометкой Рис заканчивается по адресу 24962, то вопросительные знаки в строке вызова цифра нужна должны быть заменены 8261, так как 24962 (десятичное) равен 6182 (Hex). Если вы запустите программу, как Весь в адресной 6000 (HEX), то это будет на самом деле имеет место.

  Процедура использует пару адресов в системных переменных, которые вы можете Peek и POKE в Basic для того, чтобы сделать игру сделать все, что пожелаете. Эти: ! 2 ^ ^ ^ ^ ^ ^

    23726 у координата по горизонтали

          Линия, вдоль которой этот показатель работает.     23727 координаты Х на рисунке.

    23729 Высота фигуры над землей.

! 1 ^ ^ ^ ^

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

Эти: ! 2 ^ ^ ^ ^ ^ ^

    23724 В 23726 изначально

    23725 В 23727 изначально     23728 Должен быть тычут нуля первоначально.

   (Отметим также, что 23 729 должны быть тычут нуля изначально)

! 1 ^ ^ ^ ^

На рисунке 1 показана первой необходимости такого игры. Линии 10, 20 и 50 POKE начальная ценности, необходимые в системных переменных, но эти адреса не должны быть доступны снова в Основные. Линии 30, 40 и 60 POKE переменные которые позволили заглянуть и POKE всей игра. Линии 70 и 80 являются «игра».

машинный код будет только переместить фигуру одного квадрат, если вообще, и поэтому между этими движется Вы можете положить все, что вы хотите, и это будет определяют игру.

! 2 ^ ^ ^ ^ ^ ^

! B

! P H11 H07 H10 H00 H13 H00

10 POKE 23724,16 у координата                           фигура. 20 POKE 23725,0 х координата                           фигура. 30 POKE 23726,16 Как строке 10. 40 POKE 23727,0 Как строке 20. 50 POKE 23728,0 Сбросьте все флаги в                           A_FLAGS. 60 POKE 23729,0 Сброс высоты                           над землей. 70 RANDOMIZE USR ????? Это относится к                           Этикетка START в                           Программа. 80 GO TO 70

Рисунок 1. самое необходимое из игры, так что

Вы можете увидеть потенциал код в действии.

! 0 ^ ^ ^ ..

! B Кошелек или угроза?

! 1 ^ ^ ^ ^ Существует еще одна хитрость стоит знать о (Тот, который в некотором смысле противоречит тому, что было сказано ранее). Следующая программа будет СТОП цифра от падения снова после прыжков и следует назвать пока игрок находится в в воздухе: ! 0 ^ ^ ^ ..

1000 POKE 23726, PEEK 23724 1010 POKE 23728,0 1020 POKE 23729,0 1030 ВОЗВРАЩЕНИЕ ! 1 ^ ^ ^ ^ Удачного программирования – может глупость царить!

! 0 ^ ^ ^ ..

! P H11 H07 H10 H00 H13 H00 ! B ДВИЖЕНИЕ графические данные ! 2 ^ ^ ^ ^ ^ ^ ! P H11 H07 H10 H00 H13 H00

ЦИФРЫ

DEFB 00 01 03 03 01 00 01 3F данных для левого, обращенной фигуры (1) DEFB 00 80 C0 C0 80 80 C0 E0 DEFB 01 02 02 04 04 38 00 00 DEFB 80 40 20 10 08 38 00 00

DEFB 00 01 03 03 01 00 01 3F данных для левого, обращенной фигуры (2)

DEFB 00 80 C0 C0 80 80 C0 E0 DEFB 01 01 02 04 0F 00 03 00 DEFB 80 80 80 80 90 90 F0 00

DEFB 00 01 13 0B 05 02 01 01 Данные для левого, обращенной рисунке

DEFB 00 80 C0 C0 80 80 C0 A0 прыжки.

DEFB 01 01 02 04 02 01 03 00 DEFB C0 80 40 40 40 40 00 C0

DEFB 00 00 00 00 00 00 00 00 Данные за пустое пространство.

DEFB 00 00 00 00 00 00 00 00 DEFB 00 00 00 00 00 00 00 00 DEFB 00 00 00 00 00 00 00 00

DEFB 00 01 03 03 01 01 03 07 Дата для правой сталкиваются фигуры (1)

DEFB 00 80 C0 C0 80 00 80 FC DEFB 01 02 04 08 10 1C 00 00 DEFB 80 40 40 20 20 1C 00 00

DEFB 00 01 03 03 01 01 03 07 Дата для правой сталкиваются фигуры (2)

DEFB 00 80 C0 C0 80 00 80 FC DEFB 01 01 01 01 0F 09 09 00 DEFB 80 80 40 20 F0 00 C0 00

DEFB 00 01 03 03 01 01 03 05 Данные для правой, обращенной рисунке

DEFB 00 80 C8 D0 A0 40 80 80 прыжков.

DEFB 03 01 02 02 02 02 03 00 DEFB 80 80 40 20 40 80 C0 00

Эти данные должны быть введены в конце основного машинного кода

перечисление. Затем вы должны заменить вопросительные знаки на LD До н.э., ЦИФРЫ рутина указывать на начало перемещения графические данные.

! 2 ^ ^ ^ ^ ^ ^

! B Машина код ассемблера Комментарии FD5676 START LD D, (A_FLAGS) CBA2 RES 4, D Сигнал “Нет шаг сделал еще” CB4A БИТ 1, D Разве эта цифра прыжки?

2033 JR NZ, UP / DOWN Идите прямо к «вверх / вниз»                                       рутина, если так 3EF7 LD A, # F7 Примечание: бит 3 сбрасывается DBFE IN, (# FE) Scan сегмент 3                                       клавиатура E610 И # 10: = 00, если ключ ‘5’ нажата,                                       10 иначе 47 LD B, AB: = 00, если ключ ‘5’ нажата,                                       10 иначе 3EEF LD A, # EF Примечание: бит 4 сброс DBFE IN, (# FE) Scan сегмент 4 из                                       клавиатура E604 И # 04: = 00, если ключ ‘8’ нажата,                                       04 иначе.

B0 ИЛИ BA: = 00, если оба ключа ‘5’ и ‘8’                                       нажата;                                       04 если ключ ‘5’ нажата, но                                       не ключ ‘8’;                                       10 если ключ ‘8’ нажата, но                                       не ключ ‘5’;                                       14 при нажатии ни ключ FE04 CP # 04 Тест для ключа ‘5’ только 2814 JR Z, Влево фигура слева, если так FE10 CP # 10 Тест для ключа ‘8’ только 201D JR NZ, UP / DOWN Идите прямо к «вверх / вниз»                                       не рутина, если нажата CBD2 правильный набор 2, цифра D Сигнал сталкивается право 3AAF5C LD, (POS_X): = текущие координаты х FE1E CP # 1E ли мы в праве                                       Экран?

2814 JR Z, UP / DOWN Exit если так FD3475 INC (POS_X) В противном случае изменить х                                       координировать CBE2 SET 4, рис D Сигнал переехал 180D JR UP / DOWN Перейти к испытанию клавишу прыжка CB92 ЛЕВЫЙ RES 2, цифра D Сигнал была слева 3AAF5C LD, (POS_X): = х координата                                       фигура A7 И это у левой части экрана?

2805 JR Z, UP / DOWN Exit если так FD3575 DEC (POS_X) В противном случае изменить х                                       координировать CBE2 SET 4, рис D Сигнал переехал 3EEF UP / DOWN LD A, # EF Примечание: бит 4 сброс DBFE IN, (# FE) Scan сегмент 4 из                                       клавиатура E608 И # 08: = 00, если ключ ‘7’ нажата,                                       08 иначе 2804 JR Z, J_PRESSED Перейти если клавишу прыжка                                       прессованный АРОБ RES 5, D Сигнал клавишу прыжка не                                       прессованный 180A JR JUMP_TEST CB6A J_PRESSED БИТ 5, D Был ключ уже                                       нажата?

CBEA SET 5, нажата клавиша D Сигнал ПЕРЕХОД 2004 JR NZ, нажата JUMP_TEST Выход, если ключ                                       впервые CBCA SET 1, показатель D Сигнал прыгает CBB2 RES 6, D Сигнал фигура движущегося                                       вверх CB4A JUMP_TEST БИТ 1, D Разве эта цифра прыжки?

  • 281C JR Z, распечатка Выход, если не CBE2 SET 4, рис D Сигнал переехал CB72 BIT 6, D фигура движется вверх или                                       вниз?
  • 2809 JR Z, UP FD3577 DOWN DEC (JUMP_HGHT) Уменьшить высоту выше                                       земля 2011 JR NZ, распечатка Перейти если этот показатель не имеет                                       достиг земли не CB8A RES 1, D Сигнал больше не понять                                       прыжки 180D JR Распечатка 3AB15C UP LD, (JUMP_HGHT): = высота над землей 3C INC AA: = новую высоту 32B15C LD (JUMP_HGHT), магазин новая высота FE04 CP # 04 Неужели мы на вершине скачка?
  • 2002 JR NZ, распечатка Выход, если не CBF2 SET 6, цифра D Сигнал сейчас движется                                       вниз FD360200 Распечатка LD (TVFLAG), # 00 Прямая печать на верхней части                                       экрана 7А LD, DA: содержит все флаги CB4A БИТ 1, D Разве эта цифра прыжки?
  • 2804 JR Z, XXX E6FE И #FE Если это так, то сброс                                       Флаг анимация 1802 JR YYY EE01 XXX XOR # 01 В противном случае дополняют                                       Флаг анимация 32B05C YYY LD (A_FLAGS), магазин поправками флаги CB62 БИТ 4, D ли эта цифра переехал?

C8 RET Z Возврат если не ED5BAC5C LD DE, (LAST_POS) DE: = предыдущие координаты                                       фигуры 3E03 LD A, # 03: = код пробел CDA260 ЗВОНОК РИС Распечатать пробел,                                       перезаписи предыдущая фигура ED5BAE5C LD DE, (POS) DE: = текущее положение (с                                       фигура предполагаются                                       на земле) 7В LD, EA: = у координата                                       земля FD9677 SUB (JUMP_HGHT): = правда у координата                                       фигура 5F LD E, DE: = правда тока                                       координаты ED53AC5C LD (LAST_POS), DE Храните эти координаты 3AB05C LD, (A_FLAGS): содержит все флаги E607 И # 07: = код approp’ate                                       фигура для печати 6F РИС LD L, 2600 LD H, # 00 HL: = код на рисунке                                       печать

29 ДОБАВИТЬ HL, HL
29 ДОБАВИТЬ HL, HL
29 ДОБАВИТЬ HL, HL
29 ДОБАВИТЬ HL, HL
29 ДОБАВИТЬ HL, HL умножить на 20 часов

01C760 LD BC, ЦИФРЫ BC: = точки с данными для                                       цифры 09 ДОБАВИТЬ HL, BC HL: = указывает на данные для                                       указано фигура 010800 LD BC, # 0008 BC: = количество байт в                                       квадрат характер CD0000 ЗВОНОК HALF_FIG Распечатать верхнюю половину фигуры 1С INC E Изменить координату в                                       для того, чтобы напечатать нижнюю половину                                       фигуры 3E16 HALF_FIG LD, “на контроль” D7 RST # 10 PRINT AT 7В LD A, E D7 RST # 10 E 7А LD A, D D7 RST # 10 D CD0000 ЗВОНОК FIG_SQ печати квадрат один символ                                       фигуры. (Теперь, чтобы                                       распечатать вторую сЬаг квадрат) 227B5C FIG_SQ LD (УДГ), HL USR “A” указывает на данных                                       для печати 3E90 LD, “Графический” D7 RST # 10 Печать одного символа                                       фигура 09 ДОБАВИТЬ HL, BC точка HL данным на                                       на следующий квадрат C9 RET Конец подпрограммы ! 1 ^ ^ ^ ^

! B – с Вашего Spectrum # 2 (Mar.1984) – $

?

Краткая информация о Take a Running Jump

Играйте в Take a Running Jump онлайн. Эта приложения для разработки программ на бейсике, изданное в Великобритании в 1984 году командой Your Spectrum, которое написал Toni Baker.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

Subscribe
Уведомлять об
guest
0 комментариев
Inline Feedbacks
View all comments

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

  • x1
  • x2
  • x3

Кликни в окно эмулятора, чтобы управлять!
<<<<

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Поделиться
Close
0
Would love your thoughts, please comment.x