Зачем нужен аккаунт на Viva-Games?
Пользователи, у которых есть аккаунт, могут сохранять игровой процесс на сервер в любой игре и создавать списки игр (как на Youtube, например).
Создание аккаунта абсолютно бесплатно и займёт всего минуту Вашего времени.
Для создания аккаунта просто кликните в блоке "Войти на сайт" иконку социальной сети, в которой у вас уже есть активный профиль и следуйте подсказкам.
BASIC at a Stretch
https://viva-games.ru/game/basic-at-a-stretchYour Spectrum (Великобритания), 1984
Автор: Gavin Smyth
Жанр: Программирование: BASIC
Язык
- Русский
- English
Управление
- Клавиатура(?)
Игроков
- Один
Рассказать друзьям
Доступные версии
Доступные версии
- Описание (авт.пер.)
- Информация
(С Вашего Spectrum 7, Sep.1984)
ОСНОВНЫЕ подряд
Надоело используя те же старые команды? Ну, оседлать свой интерфейс 1
Блок и пусть Гэвин Смит продемонстрировать практику при добавлении до 26 новые команды в вашем Spectrum.
Синклер Basic, при всей своей медлительности, довольно исчерпывающим. Но, как со всеми вещами, тем более у вас есть, тем больше хочется и несколько дополнительных Команды могут, конечно, пригодится. Как о, например, абсолютная ничья. С Интерфейс 1 прилагается, можно добавить, как многие дополнительные команды, как вам нравится.
Во-первых, давайте посмотрим на расширенном переводчика и человека
Процедуры в деталях.
НОВЫЕ ИНТЕРПРЕТАЦИИ
Когда линия Basic вводится, оригинальный диск проверяет синтаксис; если он не в состоянии признать команду, он передает управление Интерфейс 1 ROM. Это сканирует проверки для новых слов, таких как линии “ФОРМАТ”. Если этот тест также не удается, то процессор переходит к ошибке процедура обработки (при ERR6) через векторной адресу 23735. Вы можете изменить этот адрес и дальнейшие тесты реализованы для обеспечения дополнительной команды.
Это то, что расширенная переводчик делает. Он проверяет на наличие
звездочки в начале заявлении последующим письмом; с помощью этого простого теста, однако, только 26 новых команд можно придумать. Если это не находит звездочку или письмо это дает обычный синтаксической ошибке. Если все правильно, он переходит к подпрограмме фактического через таблицы векторы. Обратите внимание, что нереализованные команды указывают на обработчик ошибок. Отдельные процедуры команда проверить остальную часть синтаксиса и содержать процедуру выполнения.
Для переводчика, чтобы нормально функционировать, должно быть по крайней мере один
Пространство между новым командным словом и любых следующих аргументов. Команда слово должно начинаться со звездочки и письме, а затем любой (Или нет) персонажи вообще.
АБСОЛЮТНЫЙ НИЧЬЯ
Первый новый команда:
* НИЧЬЯ х, у
Какой подходит к точке (х, у). Это гораздо проще, чем по отношению
координаты (особенно в графах). Таким образом:
УЧАСТОК 100100: рисовать 20,30
эквивалентно:
УЧАСТОК 100100: * рисовать 120130
Во-первых, процедура вызовы пробел, чтобы добраться до конца первого слова (в
этот случай, * Draw). Тогда он проверяет на наличие двух числовых Аргументы, разделенные запятой; если что-то не прыгает на обработчик ошибок. В момент синтаксиса – то есть, когда линия первый вошел в программу – процедура заканчивается; во время исполнения остальное выполнена. Эта часть просто вычисляет размер относительная координирует и запросы рисования подпрограмму по основным ROM.
Когда эта подпрограмма выполняется, Интерфейс 1 ПЗУ выгружаемого
в. Это позволяет подпрограмм в ПЗУ интерфейса единиц, таких как STEND, чтобы быть просто называется; Процедуры в главном диске, например, FNDINT1, должны назвать через RST 10h последующим начальным адресом (это верно для всех новых подпрограмм командных).
ПЕЧАТЬ ПИКСЕЛЕЙ
На следующий процедура позволяет определяемые пользователем графический символ, который будет помещен
в любом месте на экране. Причина для ограничения его UDGs является то, что он Маловероятно, что кто-то хочет печатать много текста, как это (Начиная с обычных ручек только один символ за раз) и, если требуется, UDGs может быть повторно определен как буквами.
Синтаксис команды:
* PRINT х, у, с
Где (х, у) являются пиксельные координаты левого верхнего угла
характер (х лежит между нулем и 255, у между нулем и 175) и с это количество в UDG (UDG A равно нулю, УДГ B является одним … УДГ U является 20). Например:
При х = 0 до 247: * PRINT х, 100,0: рядом х
Выше будет скользить первый UDG (первоначально капитал «А») по
экран. На этот раз расширенный проверки синтаксиса ищет трех чисел, разделенных запятыми.
В процедуре выполнения, данные для UDG найден и сдвинуты
по давать правильную информацию для памяти экрана; перечень содержит код и комментариев. Рутинные концы с атрибутов байт создаются для постоянных цветов.
PIXEL SCROLL
Команда прокрутки позволяет прокрутки пикселов всего экрана.
текущая команда:
* SCROLL н
Где н это числовое выражение управления направлением
прокрутки (п должна лежать в пределах от нуля до 255, но только мод четыре используется значение):
п = 0 (или 4,8, …) свитки право на один пиксель
п = 1 (или 5,9, …) прокручивается вверх N = 2 прокручивается влево N = 3 свитки вниз
Например, для прокрутки один весь характер вниз, вы могли бы использовать:
Для F = 1 до 8: * SCROLL 3: СЛЕДУЮЩИЙ ф
Это перемещает экран восемью пиксельными линиями. Проверка синтаксиса это
Время ищет только одного числового аргумента. Только нижние два бита равны б (давая диапазон от нуля до трех), и процесс переходит к каждому отдельный рутина прокрутка. Левые и правые свитки довольно просто – они просто сдвинуть каждую строку 32 байт на один бит. И вниз свитки осложняются макета экранной памяти, но все они делают это двигаться каждую строку в один выше или ниже, очистка окончательным.
Атрибуты цвета не влияет на всех, так как они имеют только
Характер блок, а не пикселей.
Простые звуки
Окончательный рутина просто генератор звуковых эффектов – полезно для
игры если ничто иное. Синтаксис команды:
* ZAP н
Где н, между нулем и двумя [так в оригинале], определяет тип звука:
п = 0 дает шум взрыва
п = 1 дает падающий тон п = 2 дает повышение тона
Например:
Для F = 1 до 100: * ZAP INT (RND * 3): СЛЕДУЮЩИЙ ф
Выше даст несколько секунд “захватывающих” звуков (хорошо, более
захватывающим, чем BEEP!). Компьютер снова ищет одного аргумента и проверяет его значение; если он находится вне диапазона, он дает ошибку, в противном случае это переходит к конкретной программе. Роста и падения тона производятся коротких звуковых сигналов изменяющихся частот, в то время как Взрыв производится путем посылки “случайных” данных из ПЗУ в порт спикер.
Безусловное лидерство
Вы можете проверить с ассемблера листинг несколько важных моментов
о добавлении новых команд:
1. Во-первых, синтаксис проверяется – с помощью EXPT1NM для числовое
выражения и СР “,” для проверки разделения запятые. В этом разделе заканчивается CALL-STEND.
2. Далее идет процедура выполнения и, поскольку значения
аргументы в стек калькулятора, они могут быть стянул в зарегистрироваться FNDINT1.
3. Код выполнения заканчивается переходом к END1.
4. Любая подпрограмма в Основном ROM должен быть вызван с помощью RST 10h. Заметка что все регистры сохраняются в то время как ПЗУ выгружаемого.
5. Перед код будет работать, вектор на 23735 должен указывать на
начиная, со скачком назад ERR6 в конце к ловушки подлинной синтаксиса Ошибки.
Код может быть введен с использованием либо ассемблер или основной программы
при условии, которое будет переселить 559 байт машинного кода в любом месте память; он должен работать на 16K Spectrum, при условии, что интерфейс является 1 подключен.
Чтобы использовать его, установить линии 10 и от 20 до желаемого исходного адреса (для
пример, 31000 в машине 16К и 64 700 в модели 48К). Следующая SAVE программа в случае, если есть ошибка (которая, как правило, смертельным исходом в машинный код). Теперь запустите программу и через несколько минут сообщение появится на экране; код был расположен в памяти, но не будет иметь никакого эффекта, так как вектор на 23735 не было изменено. К использовать дополнительные команды введите строку в сообщении – как один линии, а не два отдельных тычет, в противном случае машина может рухнуть.
Если NEW вводится вектор сброса; Однако, код все еще находится в
памяти, так повторить два тычет, чтобы команды, которые будут использоваться. Мы видели простой переводчик, который позволит до 26 новых команд, но только с четырьмя примерами; Есть более 22 возможных слов, так что получить рабочая!
Ассемблер ПРИМЕЧАНИЯ
Сборщик использовали Artic версия, которая, на самом деле, немного нестандартное. Основные различия между ним и стандартным ассемблере являются:
EQU заменяется знаком ‘=’.
Все числа в шестнадцатеричной если не предшествует “+” или “-“, в которой
случае они находятся в десятичной.
DEFB, DEFW, и так далее, не существует; число или этикетку просто
размещены в исходном тексте, где будет происходить DEFB, и EX AF, AF ‘является вошли как EX AF.
Это машинный код разборки из серии расширенной Basic Процедуры, которые расширяются Sinclair BASIC вплоть до 26 новых команд, из сформировать ‘* имя’; то есть. начиная со звездочкой, следует буква (Верхний или нижний регистр) или слово, и все необходимые параметры. (Учтите, что эта программа работает только с Интерфейс 1 прилагается, и системы Переменная вектор на 23735 и 23736 должны быть установлены, чтобы указать на СТАРТ.)
Таблица векторов в специальных программ.
Эта процедура обеспечивает команду на проведение абсолютного рисунок. Здесь
используется в виде * Рисование х, у (или * дх, у), где х и у Координаты точки, который можно сделать, чтобы.
Вы можете распечатать UDG в любом месте на экране, используя процедуру ниже.
Вы получаете доступ к этой способности с помощью командной * PRINT х, у, С (или * ПВ, у, с), где (х, у) является пиксель координата левой верхней части персонажа и с есть номер UDG (‘0’, В ‘1’, и так далее).
Эта часть программы обеспечивает пикселей прокрутку в любом из четырех
направления; команда используется в виде * СПИРАЛЬНЫМИ п (или * зп), где н задает направление.
Эта последняя процедура обеспечивает более звуковых эффектов. Команда используется
в виде * ZAP н (или * Zn), где п определяет, требуется ли вам
Взрыв, нисходящий тон или повышение тона.
Игра BASIC at a Stretch запускается прямо на сайте. Программа для разработки на BASIC, которую подарил миру Gavin Smyth, была опубликована командой Your Spectrum в 1984 году в Великобритании.
Сохранённые игры[X]
Справка[X]
Помощь уже в пути!
- x1
- x2
- x3
<<<<
<<<<
<<<<
Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!
Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.
Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.
Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.
Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.