Диалекты бейсика для ZX Spectrum 1992 г.

Beta Basic - Математические функции.


МАТЕМАТИЧЕСКИЕ ФУНКЦИИ_

COSEQ, SINE(), RNDMQ, AND(), OR(), XORQ, MOD()

Язык программирования Beta Basic вводит несколько новых математических функций и среди них две тригонометрические (аналоги уже существующих в Spectrum-Бейсике):

COSE(< число >) SiNE(< число >)

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

Функция

RNDM(< число >)

возвращает случайное число в интервале от 1 до числа, заданного аргументом. Помимо того, что RNDM работает с вдвое большей скоростью относительно стандартной RND, она генерирует последовательность псевдослучайных чисел с менее заметной закономерностью. Действительно, строка

DO: PLOT RND*255,RND*175: LOOP

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

DO: PLOT RNDM (255),RNDM (175): LOOP

экран будет покрываться точками равномерно но всей поверхности.

Три новые функции: AND, OR и XOR выполняют операции бинарной математики. Функция

AND( < число >, <число>)

осуществляет поразрядное логическое умножение (операцию "И") двух чисел, находящихся в интервале 0...65535. Одно из применений функции AND — это определение одновременного нажатия клавиш при опросе клавиатуры, как это делается в следующем примере:

90 IF AND(BIN 00010001 ,IN 65022)=0 THEN ВЕЕР 0.1,12 100 GO ТО 90

Значение, считанное из порта 65022 (клавиши A, S, D, F и G), маскируется двоичным числом 00010001. Если на клавиатуре нажать одновременно клавиши А и G, из порта будет считано число 11101110, и только в этом случае функция AND вернет ноль и программа подаст звуковой сигнал.

Функция

OR( < число >, < число >)

делает поразрядное логическое сложение (операцию "ИЛИ") двух чисел (0...65535).

С помощью функции OR можно, например, определить, не нажата ли хотя бы одна из интересующих нас клавиш. Для клавиш А или G решение поставленной задачи выглядит так:

90 IF OR(BIN 11101110,IN 65022)<>255 THEN BEEP .1,12 Функция

XOR( < число >, < число >)

выполняет операцию "исключающее ИЛИ" двух чисел (0...65535).

Еще одна математическая функция:

MOD(<число 1>,<число 2>)

возвращает остаток от целочисленного деления < числа 1> на <число2>. Оба аргумента должны быть положительными. Например, MOD(29,9) возвращает число 2, поскольку 29-9x3=2.




СОДЕРЖАНИЕ:
  1. Laser Basic - Вывод спрайтов на экран; Вывод на экран части спрайта; Перенос атрибутов; Преобразование окна экрана; Наборы переменных; Перемещение спрайтов; Наложение спрайтов; Копирование изображения с экрана в спрайт; Преобразование спрайтов; Скроллинг пейзажа; Изменение размеров области спрайт-файла; Вспомогательные графические операторы и функции; Определение столкновений спрайтов; Сервисные операторы и функции; Процедуры; Загрузка и запись программ.


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

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



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

Похожие статьи:
Игры - описание игры Fighter Bomber.
Сцeнa живa ? - Eсть прeдлoжeниe пoрaссуждaть нa тeму тoгo, eсть ли нa спeкe DemoScene или ee нeт.
BBS - список станций BBS ZXNet.
Новелла - Новелла "НЛО - враг неизвестен или охотничьи угодья на окраине галактики" (часть 3).
Система - о проблемах совместимости клонов Спектрума. Основы программирования музыкального процессора AY-8910/12.

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