IPB

Здравствуйте, гость ( Вход | Регистрация )

> Basic Msx
SuperMax
сообщение 11.2.2015, 20:09
Сообщение #1


Администратор
*****

Группа: Root Admin
Сообщений: 6 286
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Справочник по языку программирования BASIC состоит из двух частей: Меню
и Информативной части. Передвижение как по меню, так и по информативной час-
ти осуществляется с помощью клавиш со стрелками вверх и вниз. Для ускоренно-
го передвижения можно использовать клавиши со стрелками вверх и вниз при на-
жатой клавише CTRL. Выбрав в меню оператор, функцию или команду, по которым
вам необходимо получить справку, нажмите клавишу ПРОБЕЛ. Для выхода в меню
из информативной части используйте клавишу ВВОД. В любой момент Вы можете
покинуть справочник, используя клавишу ESC. При последующем входе в справоч-
ник (с помощью клавиши SELECT) Вы окажетесь в том же самом месте справочни-
ка, из которого его покинули. Все клавиши, которые в данный момент могут
оказать на работу справочника какое-либо действие, указываются в нижней
строке.

------------------------------------------------------------------------
INPUT# - оператор чтения данных из файла

Формат: INPUT # <номер>,<список переменных>

Оператор действует аналогично оператору INPUT, но данные вводятся не с
клавиатуры ПЭВМ, а из файла с указанным номером.

Пример: 10 OPEN "TEST" FOR INPUT AS #1
20 DIM X(10)
30 FOR I=0 TO 10
40 INPUT #1,X(I)
50 PRINT X(I)
60 NEXT
70 CLOSE
Программа заполняет массив переменных данными, считанными из файла с
именем "TEST", и выводит их на экран.

Примечание: Файл, используемый в операторе INPUT#, должен быть предваритель-
но открыт с помощью оператора OPEN с атрибутом INPUT.

------------------------------------------------------------------------
BIN$ - функция преобразования числа в строку

Формат: BIN$(<арифм.выражение>)

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

Примеры: BIN$(10) выдает "1010"
BIN$(-1) выдает "1111111111111111"

Примечание: Значение аргумента должно находиться в интервале от -32768 до
65535.

------------------------------------------------------------------------
OPEN - оператор открытия файла

Формат: OPEN"[<имя устройства>:]<имя файла>" [FOR <режим>] AS [#]<номер>

Перед использованием файла его необходимо объявить открытым с помощью
оператора OPEN, где указываются:
1. Имя устройства, где должен находиться файл (по умолчанию - А):
CAS - для работы с магнитофоном;
A или B - для работы с дисководом;
GRP - для вывода текста на графический экран (в этом случае имя
файла указывать не нужно).
2. Имя файла, которое он будет иметь на указанном устройстве.
3. Режим:
INPUT - для чтения из файла;
OUTPUT - для создания нового файла;
APPEND - для дополнения существующего файла (только на диске-
тах!).
4. Номер файла - число от 1 до указанного в операторе MAXFILES. Этот
номер далее будет использоваться для обращения к файлу в программе.

Пример: 10 MAXFILES=2
20 OPEN"CAS:INF" FOR INPUT AS #1
30 OPEN"A:REZ" FOR OUTPUT AS #2
После выполнения этой части программы будет открыт файл INF (для чтения
с кассеты) под номером 1, и файл REZ (для записи на дискету в дисководе А)
под номером 2.

------------------------------------------------------------------------
ATN - функция arctg x

Формат: ATN (<арифм.выражение>)

Функция вычисляет арктангенс аргумента; ее значение измеряется в ради-
анах.

Пример: 4*ATN(1) дает число 3.1415926535898

Примечание: 1 радиан равен (180 градусов) / 3.1415926535898.

------------------------------------------------------------------------
POKE - оператор записи в память

Формат: POKE <адрес>,<арифм.выражение>

Оператор записывает в байт памяти с указанным адресом значение
арифм.выражения. Оба аргумента могут быть переменными или постоянными вели-
чинами, записанными как в десятичной, так и в шестнадцатиричной форме. Зна-
чение арифм.выражения должно находиться в интервале от 0 до 255, адреса - в
интервале от &H8000 до &HFFFF (т.е. от 8000 до FFFF в шестнадцатиричной сис-
теме счисления).

Пример: 10 A=27
20 POKE &HB000,A
Число 27 будет записано в ячейку памяти с адресом В000.

Примечание: При указании адреса в интервале от 0000 до 7FFF оператор POKE
выполняться не будет, хотя сообщение об ошибке в этом случае
не выдается.

------------------------------------------------------------------------
STOP - оператор остановки программы

Формат: STOP

При выполнении оператора оканчивается работа программы, происходит пе-
реход в командный режим и выдается сообщение на экран: Break in < N >, где N
номер строки, в которой встретился данный оператор STOP. Часто употребляется
для тестирования программы.

Пример: : : :
100 A=B+C
200 STOP
: : :
После выполнения данного оператора STOP можно в командном режиме узнать
значение переменной A путем выполнения оператора PRINT A (для тестирования
программы)

Примечания: 1. Продолжить работу программы после ее остановки оператором
STOP можно командой CONT.
2. Действие оператора STOP аналогично нажатию <CTRL>+<STOP> во
время работы программы в конкретной строке.

------------------------------------------------------------------------
DIM - оператор задания массива

Формат: DIM <имя массива>(<индекс1>,<индекс2>,...)[,...]

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

Примеры: DIM ТА(24),М$(1,1),F%
Оператор описывает вещественный массив TA с 25 элементами, массив
символьных переменных М$ с 4 элементами (М$(0,0),М$(0,1),М$(1,0),М$(1,1)) и
целочисленную переменную F%.

Примечания: 1. Употреблению в программе элементов массива должно предшество-
вать его описание в операторе DIM.
2. Повторное описание одного и того же массива не допускается.
3. Если точная длина задаваемого массива неизвестна, следует оп-
ределить ее по максимально вероятной величине.
4. Индексы массива могут быть арифм.выражениями, подразумевающи-
ми целые положительные значения.

------------------------------------------------------------------------
LIST - команда просмотра текста программы

Формат: LIST [<номер строки1>][-<номер строки2>] или
LIST [<номер строки1>-][<номер строки2>]

Команда используется в режиме прямого доступа для последовательного
просмотра текста программы или его фрагмента. При наличии атрибутов просмотр
текста начинается с номера строки1 и заканчивается номером строки2; а при их
отсутствии - за номер строки1 по умолчанию принимается начало программы, за
номер строки2 - конец текста.
Приостановление просмотра текста совершается после нажатия клавиши
STOP, продолжение - после повторного нажатия этой клавиши. Для прекращения
просмотра необходимо одновременное нажатие клавиш STOP и CTRL.
Команда LIST, включенная в текст программы, прерывает ее выполнение и
переключает систему в командный режим.

Примеры: LIST 10-100 просмотр со строки 10 до строки 100
LIST 100 просмотр строки 100
LIST 100- просмотр со строки 100 до конца программы
LIST -100 просмотр с начала программы до строки 100

10 А=5
20 LIST
30 PRINT A
При выполнении программы переменной А будет присвоено значение 5, но
выведено оно не будет.

Примечания: 1. Введение несуществующего номера строки не вызывает появления
сообщения об ошибке. Просмотр программы в этом случае начнется
с первой имеющейся строки в интервале от номера строки1 до но-
мера строки2.
2. Команда LIST не изменяет значений переменных.

------------------------------------------------------------------------
CLOSE - оператор закрытия файла

Формат: CLOSE [<список номеров файлов>]

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

Пример: 10 OPEN"A:REZ" FOR OUTPUT AS #1
...
200 CLOSE #1

------------------------------------------------------------------------
PEEK - функция чтения данных из памяти

Формат: PEEK(<адрес>)

Функция считывает число (лежащее в интервале от 0 до 255) из ячейки
оперативной памяти с указанным адресом. Адрес может лежать в интервале от
0000 до FFFF (в шестнадцатиричной системе счисления).

Пример: Х=PEEK(&НF676)
В результате выполнения этого оператора переменной Х будет присвоено
значение, размещенное в памяти по адресу F676.

------------------------------------------------------------------------
ON GOTO - оператор условного перехода

Формат: ON <арифм.выражение> GOTO <номера строк>

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

Пример: 50 ON P GOTO 100,140,180
Оператор передает управление строке 100, если Р=1, строке 140, если Р=2
и строке 180, если Р=3.

Примечание: Любые другие значения Р, не выходящие за пределы 0-255,приведут
к передаче управления на следующий оператор. Если Р<0 или Р>255,
то будет выдано сообщение об ошибке.

------------------------------------------------------------------------
RETURN - оператор конца подпрограммы

Формат: RETURN [<номер строки>]

Возвращает управление из подпрограммы. Если указан номер строки, то
происходит возврат по этому номеру. Но обычно номер отсутствует и тогда уп-
равление передается оператору, следующему за оператором GOSUB, с помощью ко-
торого была вызвана данная подпрограмма. Как правило, RETURN размещается в
конце подпрограммы.

Пример: 100 GOSUB 1000
110 : : :
: : :
990 END
1000'Подпрограмма
1010 FOR I=0 TO 100 : A(I)=0 : NEXT I
1020 RETURN
Подпрограмма вызывается в 100-й строке, выполняется (обнуляется массив
A(100)), затем оператор RETURN осуществляет переход на строку номер 110

Примечание: Выполнению каждого оператора RETURN должно предшествовать выпол-
нение соответствующего оператора GOSUB.

------------------------------------------------------------------------
PRINT - оператор вывода на экран

Формат: PRINT [<список>]

Оператор используется для вывода на экран дисплея информации, определя-
емой списком, элементами которого могут быть числовые и символьные константы
и переменные. При отсутствии списка оператор PRINT используется для вывода
пустой строки.
Строка экрана разбита на зоны по 16 позиций каждая. Если элементы спис-
ка разделены запятыми, то значение следующего элемента будет напечатано в
следующей свободной зоне той же или следующей строки. Если данные разделены
";", то следующий элемент начнет печататься сразу за предыдущим.
Если оператор PRINT заканчивается ";", то следующий вывод на печать
начнется сразу за предыдущим; если в конце его стоит ",", то очередная пор-
ция информации будет печататься в следующей зоне той же строки. В остальных
случаях каждый оператор PRINT будет начинать печать с новой строки.

Пример: 20 PRINT "ABCD"
30 T$="START":B=25
40 PRINT "ABCD","EF";:PRINT T$,B
50 PRINT T$;"ABCD";"EF"
В результате выполнения программы на экран будет выведена следующая ин-
формация (символ "|" обозначает левую границу экрана):
|ABCD
|ABCD EFSTART 25
|STARTABCDEF

Примечание: В операторе PRINT можно использовать функции TAB и SPC.

------------------------------------------------------------------------
FOR - оператор цикла

Формат: FOR <имя переменной> = <арифм.выражение1> TO <арифм.выражение2>
[STEP <арифм.выражение3>]
тело цикла
NEXT [<имя переменной>]

При выполнении оператора счетчику цикла (переменной) в качестве началь-
ного значения присваивается значение арифм.выражения1, после чего выполняют-
ся операторы, входящие в тело цикла. При достижении ключевого слова NEXT к
счетчику цикла добавляется значение арифм.выражения3, называемое шагом цик-
ла. Если при этом значение счетчика превышает (а при отрицательном шаге бу-
дет меньше) значение арифм.выражения2, то программа переходит к выполнению
следующего после NEXT оператора; в противном случае - вновь выполняется тело
цикла. По умолчанию шаг цикла принимается равным 1.

Для досрочного выхода из цикла необходимо внутри цикла присвоить счет-
чику значение большее (меньшее - при отрицательном шаге), чем значение
арифм.выражения2, и передать управление на NEXT. В любом случае тело цикла
выполняется хотя бы один раз.

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

Примеры: 10 FOR X=0 TO 1 STEP 0.1
20 PRINT X;SIN(X)
30 NEXT X
Оператор распечатывает таблицу значений функции sin x для значений ар-
гумента от 0 до 1 с шагом 0.1.

10 FOR I=1 TO 10
20 FOR J=2 TO 3
30 PRINT I^J;
40 NEXT J,I
Программа выводит на печать значения квадратов и кубов первых десяти
натуральных чисел.

------------------------------------------------------------------------
LINE INPUT# - оператор чтения данных из файла

Формат: LINE INPUT # <номер>, <символьная переменная>

Оператор действует аналогично оператору LINE INPUT, но данные вводятся
не с клавиатуры ПЭВМ, а из файла с указанным номером.

Пример: 10 OPEN "TEST" FOR INPUT AS #1
20 DIM X$(I)
30 FOR I=0 TO 10
40 LINE INPUT #1,X$(I)
50 PRINT X$(I)
60 NEXT
70 CLOSE
Программа заполняет массив символьных переменных данными, считанными из
файла с именем "TEST", и выводит их на экран.

Примечание: Файл, используемый в операторе LINE INPUT#, должен быть предва-
рительно открыт с помощью оператора OPEN с атрибутом INPUT.

------------------------------------------------------------------------
HEX$ - функция преобразования числа в строку

Формат: HEX$(<арифм.выражение>)

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

Примеры: HEX$(255) выдает "FF"
HEX$(2*2) выдает "4"
HEX$(-1) выдает "FFFF"

Примечание: Значение аргумента должно находиться в интервале от -32768 до
65535.

------------------------------------------------------------------------
COS - функция cos x

Формат: COS (<арифм.выражение>)

Вычисляет косинус от аргумента, который должен быть задан в радианах.

Пример: COS(A+cool.gif вычисляет cos(a+cool.gif
COS(3.14159) дает -.99999999999643

Примечание: 1 радиан равен (180 градусов) / 3.1415926535898.

------------------------------------------------------------------------
FIX - функция [x]

Формат: FIX(<арифм.выражение>)

Функция выдает целую часть аргумента без округления.

Примеры: FIX(33.56) выдает 33
FIX(-5.56) выдает -5


--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
SuperMax
сообщение 11.2.2015, 20:12
Сообщение #2


Администратор
*****

Группа: Root Admin
Сообщений: 6 286
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Справочник по языку программирования BASIC состоит из двух частей: Меню
и Информативной части. Передвижение как по меню, так и по информативной час-
ти осуществляется с помощью клавиш со стрелками вверх и вниз. Для ускоренно-
го передвижения можно использовать клавиши со стрелками вверх и вниз при на-
жатой клавише CTRL. Выбрав в меню оператор, функцию или команду, по которым
вам необходимо получить справку, нажмите клавишу ПРОБЕЛ. Для выхода в меню
из информативной части используйте клавишу ВВОД. В любой момент Вы можете
покинуть справочник, используя клавишу ESC. При последующем входе в справоч-
ник (с помощью клавиши SELECT) Вы окажетесь в том же самом месте справочни-
ка, из которого его покинули. Все клавиши, которые в данный момент могут
оказать на работу справочника какое-либо действие, указываются в нижней
строке.

------------------------------------------------------------------------
SPRITE$ - псевдопеременная образа спрайта

Формат: SPRITE$(<номер образа>)

Псевдопеременная содержит образ спрайта с указанным номером и определя-
ется путем присваивания ей значения символьной строки. Эта строка должна
состоять из 8 или 32 символов (в зависимости от размера спрайта: 8*8 или
16*16 точек). В первом случае номер спрайта должен лежать в интервале от 0
до 255, во втором - от 0 до 63.
Для ознакомления с различными способами задания спрайтов рассмотрим

Примеры: 10 SCREEN 1
20 S$=""
30 FOR J=0 TO 7
40 READ A$
50 S$=S$+CHR$(VAL("&B"+A$))
60 NEXT J
70 SPRITE$(1)=S$
80 PUT SPRITE 1,(60,50),7,1
90 END
100 DATA 11111111
110 DATA 10000001
120 DATA 10000001
130 DATA 10000001
140 DATA 10000001
150 DATA 10000001
160 DATA 10000001
170 DATA 11111111
Программа определяет спрайт размером 8*8 точек и выводит его на экран в
виде голубого квадрата. Вид спрайта задается в строках 100-170, где 1 соот-
ветствует точкам, цвет которых надо менять, а 0 - тем, которые следует оста-
вить прозрачными. Цикл в строках 30-60 преобразует эти символы в вид, соот-
ветствующий внутреннему представлению спрайта, и данный вид присваивается
образу спрайта номер 1.
Этот же спрайт может быть определен оператором
SPRITE$(1)=CHR$(255)+STRING$(5,65)+CHR$(255)
Первый из приведенных выше способов хотя и долгий, но более наглядный,
второй же требует знания ASCII-кодов и потому не всегда удобен.

Аналогичную программу можно написать для определения спрайта размером
16*16:
10 SCREEN 1,2
20 SL$="" : SR$=""
30 FOR I=1 TO 16
40 READ A$
50 AL$=LEFT$(A$,8) : AR$=RIGHT$(A$,8)
60 SL$=SL$+CHR$(VAL("&B"+AL$))
70 SR$=SR$+CHR$(VAL("&B"+AR$))
80 NEXT
90 SPRITE$(0)=SL$+SR$
100 PUT SPRITE 0,(60,50),7,0
110 GOTO 110
1000 DATA 1000000000000000
1010 DATA 1100000000000000
1020 DATA 1110000000000000
1030 DATA 1111000000000000
1040 DATA 1111100000000000
1050 DATA 1111110000000000
1060 DATA 1111111000000000
1070 DATA 1111111100000000
1080 DATA 1111111110000000
1090 DATA 1111111111000000
1100 DATA 1111111111100000
1110 DATA 1111111111110000
1120 DATA 0000111100000000
1130 DATA 0000111100000000
1140 DATA 0000111100000000
1150 DATA 0000111100000000

Примечания: 1. Задание спрайтов возможно во всех экранах, кроме SCREEN0.
2. Псевдопеременная SPRITE$ позволяет определять только одноц-
ветные спрайты.

------------------------------------------------------------------------
LINE - оператор рисования отрезков и прямоугольников

Формат: LINE [[STEP] (X1,Y1)]-[STEP] (X2,Y2)[,Ц][,B] или
LINE [[STEP] (X1,Y1)]-[STEP] (X2,Y2)[,Ц][,BF]

Оператор используется в графических режимах (от SCREEN2 до SCREEN8) для
рисования отрезков и прямоугольников со следующими параметрами:
- числа X1,Y1 определяют координаты начала, а числа X2,Y2 - координаты
конца отрезка (при построении прямоугольника отрезок с указанными координа-
тами является его диагональю). При наличии атрибута STEP числа X1,Y1 (X2,Y2
соответственно) указывают приращение координат точки, упомянутой в последнем
выполненном графическом операторе. Эта же точка принимается за начало отрез-
ка, если числа X1,Y1 опущены;
- цвет отрезка (прямоугольника) определяется числом Ц. По умолчанию он
равен цвету изображения последнего выполненного оператора COLOR;
- если в операторе LINE присутствует расширение В, то рисуется замкну-
тый контур прямоугольника (но не его диагональ). Расширение BF дает изобра-
жение закрашенного прямоугольника.

Пример: 10 SCREEN 2:COLOR15,6,6
20 LINE(16,20)-(40,50),9,BF
30 LINE-STEP(50,22),15
40 LINE-STEP(10,10),,B
50 GOTO 50
Программа рисует закрашенный красный прямоугольник, от правого нижнего
угла которого отходит отрезок белого цвета. Правый конец этого отрезка сов-
падает с верхним левым углом замкнутого контура квадрата белого цвета.

Примечание: Допустимые значения чисел X1,Y1,X2,Y2,Ц определяются параметрами
конкретного экрана (см.оператор SCREEN). Если значение Ц выходит
за пределы допустимого, то будет выдано сообщение об ошибке. В
том случае, когда за пределы координатной системы выходят значе-
ния X1,X2,Y1,Y2, то на экране отображается только часть отрезка
(прямоугольника).

------------------------------------------------------------------------
SCREEN - оператор выбора режима экрана

Формат: SCREEN <номер>[,<формат>]

Oператор позволяет выбрать наиболее подходящий режим изображения на эк-
ране дисплея текстовой и графической информации. В качестве номера режима
используется число от 0 до 8. Второй параметр, формат, не действует в SCREEN
0. В остальных экранах он определяет формат образа и масштаб спрайтов следу-
ющим образом:
<формат>=0 - допустимы 256 спрайтов форматом 8*8, отображаемые в мас-
штабе х1;
<формат>=1 - допустимы 256 спрайтов форматом 8*8, отображаемые в мас-
штабе х2;
<формат>=2 - допустимы 64 спрайта форматом 16*16, отображаемые в мас-
штабе х1;
<формат>=3 - допустимы 64 спрайта форматом 16*16, отображаемые в мас-
штабе х2.
При начальной загрузке устанавливается режим SCREEN 0. В режиме прямого
доступа компьютер находится в одном из текстовых режимов (SCREEN 0 или SCRE-
EN 1); графические режимы (от SCREEN 2 до SCREEN 8) сохраняются только на
время выполнения программы. Каждое выполнение оператора SCREEN приводит к
очищению экрана; то же происходит и при окончании работы программы, если она
работала в графических режимах.
Выбор конкретного режима работы экрана зависит от цели использования
компьютера: при вводе текста важно его размещение на экране; в играх сущес-
твенную роль играет цветовая гамма изображения и возможность использования
спрайтов; при научных расчетах имеет значение разрешающая способность экрана
для графического представления результатов.
Рассмотрим характеристики режимов:

SCREEN 0

Этот режим предназначен исключительно для отображения текстов и часто
применяется для ввода и редактирования программ. Использование графических
операторов и спрайтов не допускается. Текст размещается в 24 строках (при
отображении значений функциональных клавиш - в 23). Каждая строка может вме-
щать 40 символов полной или 80 символов половинной ширины, что определяется
оператором WIDTH. Разрешено использование двух цветов из 16 возможных: для
текста и для фона.

SCREEN 1

Этот режим также является текстовым, но допускает использование одноц-
ветных спрайтов (не более 4 на одной горизонтальной линии). Графические опе-
раторы запрещаются. Текст размещается по 32 символа в строке. Помимо цвета
текста и фона возможно задание цвета границы экрана (бордюра).

SCREEN 2

Начиная с этого режима, разрешено использование всех графических опера-
торов. При их выполнении следует учитывать, что общее поле экрана размером
256*192 точки разделено на сегменты шириной 8 точек по горизонтали. Каждый
графический оператор воздействует не только на явно указанную в нем точку,
но и на все точки сегмента, к которому она принадлежит, если цвет этих точек
отличается от цвета фона. Поэтому при наложении друг на друга различных ри-
сунков может происходить "размывание" цветов.
Для изображения текста его нужно выводить в файл, находящийся на ус-
тройстве "GRP:" Понятия текстового курсора не существует, оператор WIDTH иг-
норируется.

SCREEN 3

Данный режим аналогичен SCREEN2, но имеет более низкую разрешающую спо-
собность. Поле экрана разделяется на 64*48 блоков размером 4*4 точки, и все
графические операторы воздействуют не только на явно указанную в них точку,
но и целиком на весь блок, которому эта точка принадлежит (это правило не
относится к спрайтам).

SCREEN 4

В выборе цвета, выполнении графических операторов и отображении текста
этот режим аналогичен SCREEN2. Новые возможности появляются для действий со
спрайтами: на одной горизонтальной линии может отображаться до 8 спрайтов, и
спрайты эти могут быть многоцветными (состоять из цветных линий).

SCREEN 5

Экранное поле состоит из 256*212 точек, каждая из которых при выполне-
нии графических операторов может иметь свой цвет, и рисунок не "размывает-
ся". Этот режим позволяет использовать 4 экранные страницы. Нумерация стра-
ниц начинается с нуля (подробнее см. оператор SET PAGE).

SCREEN 6

Экран состоит из 256*512 точек, каждая из которых может быть окрашена в
один из 4 возможных цветов. Использование экранных страниц аналогично SCRE-
EN5.

SCREEN 7

Система координат аналогична SCREEN6, цветовая гамма - SCREEN2. Исполь-
зуются две экранные страницы.

SCREEN 8

Система координат аналогична SCREEN5; используются две экранные страни-
цы. Одновременно на экран могут выводиться 256 цветов.

Примечания: 1. На всех экранах точка с координатами (0,0) находится в верх-
нем левом углу.
2. Особенности использования цветов в конкретных экранах см.так-
же в операторе COLOR.

------------------------------------------------------------------------
COLOR SPRITE - оператор определения цвета спрайта

Формат: COLOR SPRITE(<номер спрайта>)=<арифм.выражение>

Оператор действует в графических экранах, начиная со SCREEN4, но в от-
личие от оператора COLOR SPRITE$ определяет цвет всего спрайта целиком, а не
его отдельных линий. Характеристика спрайта задается арифм.выражением, зна-
чение которого должно быть целым числом от 0 до 127.
Двоичное представление ASCII-кода данного значения содержит в своих би-
тах следующую информацию:

БИТ 7 (крайний левый): всегда 0
БИТ 6: если этот бит равен 0, то при наложении спрайтов друг на друга
приоритет будет иметь спрайт с меньшим номером. В противном случае цвет то-
чек, входящих в пересечение спрайтов, определяется результатом выполнения
операции OR, примененной к наложившимся цветам. Точки спрайта, не входящие в
пересечение, при этом исчезают.
БИТ 5: если этот бит равен 1, то столкновение этого спрайта с другими
фиксироваться не будет.
БИТ 4: не используется
БИТЫ 0 - 3: позволяют закодировать номер цвета (от 0 до 15), присвоен-
ный данному спрайту.

Пример: 10 COLOR 15,1,1:SCREEN 4,1
30 SPRITE$(1)=STRING$(8,255)
40 PUT SPRITE 0,(74,45),7,1
50 PUT SPRITE 1,(77,50),8,1
60 IF INKEY$="" GOTO 60
70 COLOR SPRITE(1)=&B01001001
80 IF INKEY$="" GOTO 80
В программе задается образ спрайта в виде закрашенного квадрата разме-
ром 8*8 точек, который выводится на экран как спрайт номер 0 синего цвета и
спрайт номер 1 красного цвета, при этом часть синего спрайта налагается на
красный. После нажатия любой клавиши те точки красного спрайта, которые не
находились под синим, исчезают, а точки пересечения становятся белыми (7 OR
8 = 15).

Примечания: 1. Если для определения спрайта был использован оператор COLOR
SPRITE, то при выводе его на экран оператором PUT SPRITE пара-
метр <Цвет> следует писать только в том случае, когда нужно из-
менить цвет спрайта по сравнению с уже заданным.
2. Если значение арифм.выражения находится в интервале от 0 до
15, то следующие операторы эквивалентны:
PUT SPRITE 0,,<арифм.выражение>
COLOR SPRITE$(0)=STRING$(8,<арифм.выражение>)
COLOR SPRITE(0)=<арифм.выражение>

------------------------------------------------------------------------
STRIG(0) - функция проверки нажатия клавиши "ПРОБЕЛ"

Формат: STRIG(0)

Функция проверяет нажатие клавиши "ПРОБЕЛ" в момент ее выполнения. Ее
значение равно -1, если клавиша нажата, и 0 - в противном случае. Нажатие
клавиши "ПРОБЕЛ" до момента проверки не учитывается.

Пример: ...
20 IF STRIG(0)=0 GOTO 20
...
Программа будет выполнять строку 20 до тех пор, пока не будет нажата
клавиша "ПРОБЕЛ".

------------------------------------------------------------------------
PSET - оператор присвоения цвета точке

Формат: PSET [STEP] (X,Y)[,Ц]

Оператор используется в графических режимах (от SCREEN2 до SCREEN8) для
присвоения точке с координатами (X,Y) цвета с указанным номером Ц. Если при-
сутствует атрибут STEP, то числа Х и Y определяют приращение соответствующих
координат точки, упомянутой в последнем выполненном графическом операторе.
Если номер цвета Ц опущен, то точке присваивается цвет изображения, указан-
ный в последнем выполненном операторе COLOR.
Чаще всего оператор PSET используется для рисования графиков и позици-
онирования курсора перед выводом на экран.

Пример: 10 SCREEN 5:COLOR 15,6,6
20 PI=4*ATN(1)
30 FOR I=0 TO 200
40 X=I+20
50 YS=60*SIN(I*PI/50)
60 PSET(X,90-YS),15
70 YC=60*COS(I*PI/50)
80 PSET(X,90-YC),9
90 NEXT
100 GOTO 100
Программа рисует по точкам синусоиду белого и косинусоиду красного цве-
та.

Примечание: Значения чисел X,Y,Ц определяются параметрами соответствующего
экрана (см.оператор SCREEN). Если параметр Ц будет иметь недо-
пустимое значение, то будет выдано сообщение об ошибке. В случае
же, когда за пределы координатной системы экрана выйдет число Х
или Y, оператор не выполнится, но сообщения об ошибке не появит-
ся.

------------------------------------------------------------------------
BEEP - оператор выдачи звукового сигнала

Формат: BEEP

Оператор выдает короткий звуковой сигнал, причем если в момент его вы-
полнения еще была не закончена работа звукогенератора, т.е. продолжалось вы-
полнение операторов SOUND или PLAY, их действие прекращается.



--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.4.2024, 8:54