Игровые программы 1989 г.

Системные программы - описание BETA BASIC.


9. BETA BASIC

BETA BASIC дополняет BASIC ZX SPECTRUM тридцатью новыми
командами и двадцатью одной новой функцией. Все старые ко-
манды и функции выполняются.

Новые команды вызываются в режиме "GRAPHIC".

Описание команд BETA BASICa

ALTER <описание атрибутов> ТО <описание атрибутов> САЗ

позволяет быстро изменить атрибуты экрана (INC, FLASH,
BRIGHT, PAPER) без необходимости очищения экрана. Нап-
ример: ALTER ТО PAPER i, INC 6 или ALTER INC 7 ТО
PAPEfc 2,INC 0.

AUTO <номер линииX,шаг> С6 3

включение автоматической нумерации линий, начиная от
данного номера и с данным шагом (если задан), либо от
текущей линии с шагом 10. Выключение - нажатие и удер-
жание клавиши BREAK более 1 сек.

BREAK [SHIFT-SPACED

это не ключевое слово, но используется оно' в режиме
GRAPHICS. Оно может прерывать действие каждой програм-
мы, т.к. система BETA BASIC работает в режиме
INTERRUPT 2 микропроцессора Z80.

CLOCK число или цепочка [С]

управляет 24-часовыми часами, которые выполняют раз-
личные функции, зависящие от поданного аргумента.

Аргумент Переход на Звучание Показание

Линию по ALARM ALARM'А (Высвечивание)

0 Нет Выкл Нет

1 Нет Выкл Есть

2 Нет Установ Нет

3 Нет Установ Есть

4 Да Выкл Нет

5 Да Выкл Есть

6 Да Установ Нет

7 Да Установ Есть

Пример:

CLOCK "09:29:05" - установка времени:

CLOCK "А006:20" - установка будильника;

CLOCK "А9000" - переход на линию.

CHRS 8 - курсор влево;
CHRS 9 - курсор влево;
CHRS 10 - курсор влево;
CHRS 11 - курсор влево.

Эти знаки, примененные в цепи печати с помощью PRINT,
изменяют позицию печати в соответствии с описанием.

DEF KEY - цепь однознаковая; цепь SHIFT 1.

DEF KEY - цепь однознаковая: инструкция: инструкция:—

Подстановка под клавишу с данным знаком данной цепочки
либо цепи инструкций.

DEF РИЭС название процедуры С1]

ключевое слово, начинающее определение процедуры, выз-
ванной через название.

DELETE <номер линии> ТО <номер линии> С73

удаление линий программы в заданной области. Допуска-
ется использование различных вариантов, например:
DELETE ТО 50; DELETE 10 ТО 50; DELETE ТО и т.д.

DO

DO WHILE условие

DO UNTIL условие CD!

ключевые слова, начинающие определение петли. Петля
заканчивается словом LOOP.

DPOKE адpec,число CP]

загрузка двух очередей байтов памяти с данным адресом
числом из области от 0 до 65535.

EDIT номер линии [0]

нормальный ввод. Позволяет редактировать произвольную
линию,строку. Появляется после нажатия клавиши 0, если
до этого была нажата клавиша ENTER.

ELSE инструкция СЕ 1

это часть инструкции IF-THEN как альтернатива началь-
ной инструкции. Пример использования:
IF условие THEN инструкция ELSE инструкция.

ENDPRQC СЗЗ

слово, оканчивающее определение процедуры, вызываемой
через название.

EXIT IF условие £13

условный выход из петли DO-LOOP.

FILL X Y CF3

FILL <{NC цвет>;Х,У CF3

FILL <PAPER цвет>;X,Y CF3

заполнение области фона цветом знака (если использует-
ся FILL или FILL INC) или области знака цветом фона
(если используется FILL PAPER). Допускается также ис-
пользование сложных конструкций, заполнение при этом
начинается от текущих координат X, Y:
FILL INC 2; PAPER 1; FLASH i; X,Y.

GET цифровая переменная или рядовая переменная CG3

присваивает переменной номер клавиши (с цифровой кла-
вишей или 11 - для А, 12 - для В, 13 - для С и т.д.)
Или знак при нажатой клавише.

JOIN <номер линии^ [SHIFT 63

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

KEYIN цепь-ряд [SHIFT 43

допускается использовать только как инструкцию в прог-
рамме. Вызывает вставление в программу поданной цепи
Хк примеру, это может быть строка программы).

KEYWORDS 1 С83
KEYWORDS 0 [83

переключатели ключевых слов BETA BASICa на графичес-
кие знаки ZX SPECTRUM,получаемые в режиме* G. Это слово
никогда не выключается.

LIST номер линии ТО номер линии

(LLIST ~ также, но не для принтера) расширение синтак-
сиса нормального ключевого слова SINCLAIR BASICa.

LOOP [L3

LOOP UNTIL условие [L3

LOOP WHILE условие [L3

заканчивающая цикл часть структуры DO-LOOP.

ON [03

применяется в структурах вида:

Gu ТО ON переменная;номер линии,номер линии,... Или
GO SUB ON переменная;номер линии,номер линии,...
Производит переход к соответствующей линии в зависи-
мости от переменной.

ON ERROR номер линии [N3

включение обслуживания ошибок через линию с заданным
номером (к ней переходит программа при появлении
ошибки при ее выполнении), дополнительно переменной
ERROR присваивается значение, равное коду ошибки. Не
выполняется при кодах 0 (O.K.) И 9 (STOP}. Выключе-
ние обслуживания ошибок наступает после перехода к
программе обработки ошибок, либо по команде
ON ERROR 0.

PLOT Х,У;цепь

нормальный ввод. Позволяет рисовать в любом месте
экрана. Координаты относятся к левому верхнему краю
первого знака цепи. В цепи можно использовать знаки
управления курсором.

РОКЕ адрес,цепь

ключевое слово, расширяющее синтаксис. Производит
запись в память заданной цепи знаков, начиная с за-
данного адреса.

POP <цифровая переменная> [Q3

записывает адрес со стека G0SUB,D0-L00P,PR0C. Ука-
занный этим адресом номер линии подставляется как
значение переменной, если ее название было задано.

PR0C название [23

выполнение процедуры с заданным названием.

ВЕДОМ <начало то конецХЫЫЕ новое началоXSTEP шаг> [43

перенумерация строк в заданной области в соответст-
вии с заданными параметрами. Если не был задан ни
один параметр, то начальный номер строки принимает
значение 10 и шаг равен 10.

ROLL код направления <,пиксельX;X,Y;ширина,высота> [R3

"переворот" определенного окна экрана. Образ, исче-
зающий с одной стороны, появляется с другой. Задан-
ная ширина окна касается количества позиций знака, а
не элементов образа. Координаты X и У показывают ле-
вый верхний угол выбранного окна. Команда вызывает
перемещение на 1 элемент.

Если задан только код управления, то смещается
целый экран.Можно переместить целый образ вместе с
атрибутами, только атрибуты, либо только часть обра-
за. При повороте атрибутов заданное число должно
быть равно 8. Коды направлений имеют следующие зна-
чения :

Коды направления Направление Охватывает

1 Влево Атрибуты

2 Вниз Атрибуты

3 Вверх Атрибуты

4 Вправо Атрибуты

5 Влево Содержимое образа

6 Вниз Содержимое образа

7 Вверх Содержимое образа

8 Вправо Содержимое образа

9 Влево Весь образ

10 Вниз Весь образ

11 Вверх Весь образ

12 Вправо Весь образ

SCROLL <код направленияХ,пиксель><;Х,У;ширина,высота> [S3

перемещение содержимого определенного окна экрана на
один элемент. Синтаксис такой же, как и у ROLL
Здесь также можно не задавать ни одного параметра и
тогда наступит переход всего экрана на одну линию
вверх (как в ZX-81). Содержание экрана пропадает на
краю окна.

SORT таблица или цепь [ИЗ

SORT INVERS таблица или цепь СМЗ

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

SPLIT

это не ключевое слово,вместо него применяется нор-
мальный знак"<>" (SS/W). Он указывает,,в каком Месте
программы строка может быть разделена на две части.
Часть перед знаком присоединяется к программе; часть
после знака остается в программе с тем же самым но-
мером .

TRACE <номер линии> СТЗ

команда, приводящая к пошаговому выполнению програм-
мы. Ее подача вызывает переход GOSUB к заданной
строке непосредственно перед выполнением каждой инс-
т|у^кции программы. Выключение через RUN, CLEAR или

UNTIL условие [КЗ

часть петли DO-LOOP, используемая в DO UNTIL или в
LOOP UNTIL,позволяющая ее условное выполнение.

USING цепь-образец;число CU]

применяемое в инструкции PRINT USING, позволяет за-
давать соответствующий формат печатаемой цифры. Знак
в цепи-'образце означает предварительное разреже-
ние.

WHILE условие CJ]

часть петли DO LOOP, используемая в DO WHILE или в
LOOP WHILE. Позволяет условное выполнение цикла.

Описание функций BETA BASICa

Ниже дано описание функций, дополненных в системе BETA

BASIC, вместе с описанием их аргументов и способов вызова.

AND (число,число) [FN А( 3

логическое произведение двух чисел, выполненное в
двоичном представлении.

BINS (число) [FN В$< 3

двоичное представление десятичного числа.

SHARS (число) [FN С$( 3

преобразование целого числа без знака из области
0...65535 В соответствующее двузначное число.

COSE (число) [FN С( 3

косинус числа (4 значащих цифры, работает быстрее,
чем в оригинале системы SPECTRUM).

DEC (цепь) [FN D( 3

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

FILLED ( ) [FN F( 3

количество элементов образа, заполненных перед пос-
ледней командой FILL.

HEXS (число) [FN HS( 3

переводит шестнадцатеричное число в десятичное.

INSTRING (старт, последоват. 1, последоват. 2) [FN К 3

позиция первого знака последовательности 2 в после-
довательности i при просмотре последовательности от
заданной стартовой позиции, либо 0, если элементы
последовательности 2 не содержат в последовательнос-
ти 1.

ИЕН С ) CFN М( 3

количество свободных байтов памяти.

HEJDRYS ( )CFN М$( 3

содержимое всей памяти (от адреса 1 до 65 532) трак-
туется как цепь-последовательность.

HDD (число 1,число 2) СFN V( 3

результат деления числа 1 по модулю числа 2.

NUMBER (последовательность) СFN N< 3

целое число без знака в пределах 0...65535, Которое
является соответствием двузначной последовательности.

OR (число 1,число 2) СFN 0( 3

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

RNDM (число) С FN R( 3

псевдослучайное число в пределах от 0 до заданного
числа включительно.

SCRMS (строка,столбец) СFN К$( 3

знак, находящийся на заданной позиции (также знак,
определенный пользователем.

SINE (число) СFN S( 3

синус данного числа (4 значащих цифры).

STRINGS (число,цепь) С FN SS( 3

повторение последовательности заданное число раз.

TIMES ( ) СFN Т( 3

прошедшее время, задаваемое через CLOCK.

USINGS (цепь-образец,число) [FN US( 3

знаковая запись числа в заданном формате (как USING).

XDR (число 1,число 2) СFN Х( 3

логическая операция EXCLUSIVE OR на двоичной записи
двух чисел.

Специальные переменные

В системе BETA BASIC существуют определенные переменные,

генерируемые через систему и доступные через названия. Ниже

приведено их описание:

XDS.YOS

координаты середины системы расположения (вначале
установлены на 0,0). Их можно изменять: х=0...255
Y=0...i75. Обнуление через команды CLEAR и RUN.

XRG,YRG

диапазон координат на экране (XRG=256, YRG=176), ко-
торые можно свободно изменять. CLEAR и RUN задают
начальные значения.

Во время выполнения команды ON ERROR или TRACE создаются
специальные переменные:

ERROR

выдает код последней обнаруженной ошибки.

LINE

номер остановленной исполняемой линии (при TRACE)
или линии, в которой была обнаружена ошибка (при ON
ERROR ) •

STAT

номер остановленной выполняемой инструкции (при
TRACE), либо инструкции, в которой была найдена
ошибка (при ON ERROR).

Названия специальных переменных можно набирать как боль-
шими, так и малыми буквами.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
ZX-Review - отчет с Сибирского пати CSP'99.
Реклама - Реклама и обьявления...
Введение - Юбилейный 10 номер.
Тишина - Самым редким музыкальным стилем и самым экспансивным, пожалуй, смело можно назвать такой стиль как "АСТРАЛ".
Игротека - Сценарии будущих игр.

В этот день...   23 ноября