Зачем нужен аккаунт на Viva-Games?
Пользователи, у которых есть аккаунт, могут сохранять игровой процесс на сервер в любой игре и создавать списки игр (как на Youtube, например).
Создание аккаунта абсолютно бесплатно и займёт всего минуту Вашего времени.
Для создания аккаунта просто кликните в блоке "Войти на сайт" иконку социальной сети, в которой у вас уже есть активный профиль и следуйте подсказкам.
Patterns
https://viva-games.ru/game/patterns-3ZX Computing (Великобритания), 1983
Автор: Toni Baker
Жанр: Утилиты: Визуализация
Язык
- Русский
- English
Управление
- Клавиатура(?)
Игроков
- Один
Рассказать друзьям
Доступные версии
Доступные версии
- Описание (авт.пер.)
- Информация
1 2 3 4 5 6 7 8
Освоение машинного кода на Вашем Spectrum часть 5 из 8 – от ZX Computing июня / Jul’83
Машина мастер-код, Тони Бейкер, показывает, как
включить машинный код в ваш основной программы с невероятная программа для добавления визуальное сопровождение к вашим стерео.
Я бы хотел, чтобы обмануть немного сейчас, если можно, давая вам BASIC
Программа. (Вопли ужаса!) Ну, он получил некоторые машины Код в этом, но ничего нового. Это урок в том, как включить машинный код в BASIC, для нахождения применение все эти странные и удивительные процедуры, которые держат обрезка до. Почти самая трудная задача у вас есть в программировании торчать на автобусных остановках и утомительных вечеринок ждет, что наиболее призрачны качеств – вдохновение.
Машина код рутина в вопросе был показан в рамках
три из этой серии статей – это рутина изменить цвета бумаги и чернил на протяжении всего экрана быстрее, чем вы можете сказать шестой “шестого больного шейха овечий болен “без падения. BASIC, что окружает оно является новым, однако. Это программа, чтобы произвести впечатление ваш следующий соседи и фанатики лазерных шоу, или новый способ работает дискотека. Это визуальное сопровождение к вашим стерео!
Звук здорово!
Это не технически звуко- to-осветительное устройство, для Программа не имеет возможности узнать, является ли ваш стерео даже включен, не говоря уже о то, что играет на нем. Что это Однако, это очень хорошая оптическая иллюзия звука и Видение синхронизируются. То, что вы сделать, это запустить программу и входные ответы на различные вопросы, задаваемые, положить ваши любимый альбом на, выключать освещение и закрыть шторы, то просто сидеть сложа руки в то время как ваш мозг танцует вокруг в кругах.
Программа отличается на рис. 1 и 2. Вы должны ввести
машинный код сначала (с помощью основной программы, чтобы сделать это), и Затем удалить эту базовую программу для ввода заданного. Взять посмотрите на это сейчас.
Я сейчас дам вам несколько примеров о том, как запустить программу.
Введите RUN. (Еще легко, не так ли?) На вопрос “НОМЕР ЛИНИЙ “, вы должны ввести (скажем) 5. Для” INK “, вход” INT (4 * RND) +4 », и для ‘бумажных’ вход ‘0’. Наконец, для «STARS?
Вы должны ввести “Y”. Это просто пример – попробуйте ее для себя.
Что сюжет?
Программа имеет несколько дополнительных функций, которые вы должны
знать о. RUN 200 позволяет определить начальную INK и начальные цвета бумаги. Например, RUN 200 и Затем вход 0/7/4 / “7-X ‘/’ 7-Y ‘/’ Y ‘/ (‘ / ‘, считается, что ENTER). RUN 400 спасет и проверить программу и машинный код.
Я не получится выше программы в машинный код только пока.
Прежде чем сделать, я дам вам некоторую информацию о УЧАСТОК и Рисовать.
ВЫЗОВ PLOT_BC (Hex CD E522) требуется B о проведении Y координировать и C удерживать X координату. Это будет сюжет требуется точка. Бит нуль P_flag (5C91) должна быть равна нулю В течение более чем 0 или один на сумму свыше 1.
ВЫЗОВ DRAW_3 (Hex CDBA24) требуется B удерживать абсолютное Значение параметра Y, и C абсолютная величина X Параметр. Если Y больше или равно нулю, то D должны провести 01 Hex, в противном случае D следует проводить FF Hex. Если X является больше или равно нулю, то Е следует держать 01 Hex, в противном случае E следует провести УС Hex. Последовательность инструкций LD HL, 2758 / EXX должны проводиться между разговором DRAW_3 и RET (для BASIC) иначе Спектр рухнет.
Время трансформации
Мы до сих пор не могут переписать программу в машинный код еще,
так как мы не имеем процедуру для INT (X * RND). Здесь Можно написать простую случайных чисел подпрограмму, которая создает случайные числа между 0000 и FFFF Hex в HL зарегистрируйтесь пару, так взгляните на рис.3, который иллюстрирует такие подпрограммы. Она работает с использованием случайных чисел семена уже используется ПЗУ, но на самом деле не называть РНД рутина ПЗУ (так как это очень непрактично).
подпрограмма, тем не менее, работать в более или менее так же, как РНД – она принимает значение переменной SEED системы, и умножает его на какой-то постоянной. Только остальные по модулю 65536d берется в качестве нового результата. Это не совсем РНД, но она дает довольно случайные результаты.
Рисунок Четыре, с другой стороны, это еще один чайник рыбы
в целом. Это подпрограмма я назвал RAND_A в порядке чтобы отличить его от подпрограммы в рис.3. Это требует что содержит ряд между 00 и А-1. Из частности примечание подпрограмма MULT который называется изнутри RAND__A; это подпрограмма, которая будет умножить число состоится в реестр A по количеству проведенного в реестре DE пара. Результат будет формироваться в АХЛ регистра триплет (Результат всегда будет вписываться в трех байт). RAND_A работы так же, как обычной RND ПЗУ – он берет значение, семена, который умножается на 4В, а затем остаток найден от деления на Hex 10001, меньше одного. Вы можете увидеть, как Программа вычисляет этот остаток? Чтобы найти случайное число требуется, это новое начальное умножается на А и высокой части только становится случайное число.
Теперь мы почти готовы превратить программные шаблоны
полностью в машинный код. Ну – не совсем полностью, как мы до сих пор не может сделать VAL. Давайте игнорировать эту часть на время быть и оставить VAL в BASIC. Я хотел бы вам сейчас учиться Рис. 5 и 6, которые перечислены в пересмотренной программе, которая теперь называется Шаблоны 2. Если вы сейчас сравнить его с рис. 1 и 2, см, если Вы можете работать, как перевод осуществляется. Учтите, что инструкция ЗВОНОК RAND_A используется – это ссылка на подпрограмма на рис. 4.
Вы можете использовать любые адреса вы любите для этой программы. Я выбрал
использовать следующее:
Этикетка Hex декабря RAND_A 7000 28672 MULT 7021 28705 FIND_A 7030 28720 PL_DR 703b 28731 INIT 7078 28792 ГЛАВНАЯ 7098 28824 P_VAL 7105 28933 P_OVER 7106 28934 P_DRAW 7107 28935 ЛИНИИ 7108 28936 INK 7109 28937 ДОКУМЕНТ 710А 28938 ЗВЕЗДЫ 710B 28939 ARRAY 710C 28940
Важно, однако, что P_OVER и P_DRAW быть
смежные, а также этот массив указывает на старте сегмент свободное ОЗУ.
– Рис.1 Программа, паттерны: часть первая – BASIC – – – – – – – – – – – –
10 INPUT “количество строк”; п
20 DIM х (п + 1): DIM у (п + 1) 30 INPUT “INK”; х $ (использовать INK ключевое слово здесь) 40 INPUT “БУМАГИ”; у $ (использовать ключевое слово БУМАГИ здесь) 50 INPUT “STARS?”; $: Пусть S = $ = “N” ИЛИ $ = “N” 60 CLS: Пусть P = 1 70 Пусть p1 = р + 1: ЕСЛИ p1>п + 1 то пусть p1 = 1 80 LET p2 = p1 + 1: ЕСЛИ p2>п + 1 то пусть р2 = 1 90 PLOT х (P1), у (P1) 95 ЖЕРЕБЬЕВКА х (р2) -x (P1), у (р2) -y (P1) 100 PLOT над S; х (P1), у (P1) 105 рисования поверх 1; х (р2) -x (P1), у (р2) -y (P1) 110 Пусть X (p1) = INT (256 * RND) 120 Пусть Y (p 1) = INT (176 * RND) 130 PLOT х (р), у (р) 140 ЖЕРЕБЬЕВКА х (P1) -x (р), у (P1) -y (р) 150 Пусть X = VAL х $: Пусть у = VAL Y $ 160 POKE 32769, х: POKE 32770, у: Пусть P = P1 + USR 32768 170 GO TO 70 200 INPUT “НАЧАЛЬНАЯ INK”; х 210 INPUT “основополагающей работе”; у 220 GO TO 10 400 SAVE “шаблонов” ЛИНИЯ 430 410 SAVE “шаблонов” КОД 32768,34 420 ПРОВЕРКА “”: Проверьте “” CODE: СТОП 430 CLEAR, 32767: LOAD “” CODE: STOP [я добавил CLEAR. JG.]
– Рис.2 Программа, паттерны: часть вторая – машина код – – – – – – – –
01 ???? СХЕМЫ LD BC, ???? Чтобы быть ткнул по BASIC
78 LD A, B 76 HALT D3FE OUT (FE), 78 LD A, B 87 ДОБАВИТЬ, 87 ДОБАВИТЬ, 87 ДОБАВИТЬ, 81 ДОБАВИТЬ A, C 218D5C LD HL, ATTR_P 77 LD (HL), 210058 LD HL, ATTRS 110158 LD DE, ATTRS + 1 01FF02 LD BC, 02FF 77 LD (HL), EDB0 LDIR C9 RET
– Фиг.3 машинный код случайное число подпрограмма – – – – – – – – – – – – –
D5 RAND PUSH DE
2A765C LD HL, (SEED) 54 LD D, H 5D LD E, L
29 | ДОБАВИТЬ | HL, | HL |
29 | ДОБАВИТЬ | HL, | HL |
19 | ДОБАВИТЬ | HL, | DE |
29 | ДОБАВИТЬ | HL, | HL |
29 | ДОБАВИТЬ | HL, | HL |
29 | ДОБАВИТЬ | HL, | HL |
19 | ДОБАВИТЬ | HL, | DE |
22765C LD (SEED), HL D1 POP DE C9 RET
– Фиг.4 INT (RND *) подпрограмма – – – – – – – – – – – – – – – – – – – – – –
C5 RAND_A PUSH BC
D5 PUSH DE E5 PUSH HL F5 PUSH AF 3E4B LD, 4Б ED5B765C LD DE, (SEED) CD ???? ВЫЗОВ MULT A7 И 4F LD C, ED42 SBC HL, BC 3801 JR C, AA 2В декабря HL 22765C А.А. LD (SEED), HL 54 LD D, H 5D LD E, L F1 POP AF CD ???? ВЫЗОВ MULT E1 POP HL D1 POP DE C1 POP BC C9 RET 0608 MULT LD B, 08 210000 LD HL, 0000 29 LOOP ДОБАВИТЬ HL, HL 17 РБА 3003 JR NC, BB 19 ДОБАВИТЬ HL, DE CE00 АЦП, 00 10F7 BB DJNZ LOOP C9 RET
– Рис.5 Программа, Patterns2; ОСНОВНЫЕ – – – – – – – – – – – – – – – – –
10 INPUT “количество строк”; п
20 тыкать линии, н: Пусть N = USR инициализации 30 INPUT “INK”; х $ 40 INPUT “БУМАГИ”; у $ 50 INPUT “STARS?”; $: Тыкать звезды, $ = “N” ИЛИ $ = “N” 60 POKE чернила, VAL х $: POKE бумагу, VAL у $ 70 Пусть N = USR главная 80 GO TO 60 200 INPUT “НАЧАЛЬНАЯ INK”; х 210 INPUT “основополагающей работе”; у 220 GO TO 10 400 SAVE “P2” ЛИНИЯ 450 410 SAVE “P2” КОД rand_a, 263 420 ПРОВЕРКА “” 430 ПРОВЕРКА “” CODE 440 СТОП 450 CLEAR, rand_a-1: LOAD “” CODE [я добавил CLEAR. JG.]
– Рис.6 Программа, Patterns2; машинный код – – – – – – – – – – – – –
D5 FIND_A PUSH DE
11 ???? LD DE, ARRAY 6F LD L, 2600 LD H, # 00 29 ДОБАВИТЬ HL, HL 19 ДОБАВИТЬ HL, DE D1 POP DE C9 RET C5 PL_DR PUSH BC D5 PUSH DE 7А LD A, D D5 PUSH DE CD ???? ВЫЗОВ FIND_A 4E LD C, (HL) 23 INC HL 46 LD B, (HL) C5 PUSH BC 3А ???? LD, (P_OVER) 32915C LD (P_flag), CDE522 ЗВОНОК PLOT_BC C1 POP BC D1 POP DE 7В LD A, E CD ???? ВЫЗОВ FIND_A 7E LD, (HL) 23 INC HL 1E01 LD E, # 01 91 SUB C 3004 JR NC, ПД2 ED44 СЕГ 1EFF LD E, # FF 4F ПД2 LD C, 7E LD, (HL) 1601 LD D, # 01 90 SUB B 3004 JR NC, PD3 ED44 СЕГ 16FF LD D, # FF 47 PD3 LD B, 3А ???? LD, (P_DRAW) 32915C LD (P_flag), CDBA24 ЗВОНОК DRAW_3 D1 POP DE C1 POP BC C9 RET 210040 INIT LD HL, D_FILE 110140 LD DE, D_FILE + 1 01FF17 LD BC, # 17FF 3600 LD (HL), # 00 EDB0 LDIR ED4B ???? LD BC, (ЛИНИИ-1) 04 INC B 21 ???? LD HL, ARRAY AF XOR 77 IN2 LD (HL), 23 INC HL 77 LD (HL), 23 INC HL 10FA DJNZ IN2 32 ???? LD (P_VAL), C9 RET ED4B ???? ГЛАВНАЯ LD BC, (P_VAL) 3А ???? LD, (ЛИНИИ) 51 LD D, C 14 INC D BA CP D 3002 JR NC, M2 1600 LD D, # 00 5А M2 LD E, D 1С INC E BB CP E 3002 JR NC, M3 1E00 LD E, # 00 210000 M3 LD HL, # 0000 22 ???? LD (P_OVER), HL CD ???? ВЫЗОВ PL_DR 3А ???? LD, (STARS) 32 ???? LD (P_OVER), 3E01 LD A, # 01 32 ???? LD (P_DRAW), CD ???? ВЫЗОВ PL_DR 7А LD A, D CD ???? ВЫЗОВ FIND_A 3EFF LD A, # FF CD ???? ВЫЗОВ RAND_A 77 LD (HL), 23 INC HL 3EB0 LD A, # B0 CD ???? ВЫЗОВ RAND_A 77 LD (HL), 5А LD E, D 51 LD D, C 210000 LD HL, # 0000 22 ???? LD (P_OVER), HL CD ???? ВЫЗОВ PL_DR 7В LD A, E 32 ???? LD (P_VAL), 76 HALT 3А ???? LD, (ДОКУМЕНТ) D3FE OUT (#FE), 87 ДОБАВИТЬ, 87 ДОБАВИТЬ, 87 ДОБАВИТЬ, 2А ???? LD HL, (INK) B5 или L 328F5C LD (ATTR_T), 210058 LD HL, ATTRS 110158 LD DE, ATTRS + 1 01FF02 LD BC, # 02FF 77 LD (HL), EDB0 LDIR 215827 LD HL, # 2758 D9 EXX C9 RET
– Другой прекрасный продукт расшифрованы: Джим Grimwood (jimg@globalnet.co.uk), Weardale, Англия –
?
Играйте в Patterns без эмуляторов прямо на сайте. Программа для визуального представления, которую подарил миру Toni Baker, была выпущена творческой группой ZX Computing в 1983 году в Великобритании.
Сохранённые игры[X]
Справка[X]
Помощь уже в пути!
- x1
- x2
- x3
<<<<
<<<<
<<<<
Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!
Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.
Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.
Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.
Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.