Работа с ZX-Spectrum 1993 г.

Глава 14 - набор символов.


ГЛАВА 14

НАБОР СИМВОЛОВ

Краткое содержание: CODE, CHR$, POKE, PEEK,USR, BIN.

Буквы, цифры, знаки пунктуации обозначаются символами и образуют
алфавит или набор символов, используемый компьютером. Отдельные
символы называемые знаками, образуют целые слова,, например: PRINT,
STOP и т.д.

Компьютер ZX Spectru. использует 256 символов с кодами от 0 до 255.
Все они приведены в приложении А. Для преобразования из символьной
<(ю|)мы во внутреннюю кодовую и наоборот служат две функции CODE и

CODE применяется к строке символов и возвращает код внутреннего
представления первого символа в строке или 0, если строка пустая.

CHR$ применяется к числу и возвращает один символ, код которого
представлен этим числом.

Следующая программа выводит весь отображаемый символьный набор:
10 FOR А-32 ТО 255: PRINT CHR$ A;: NEXT А

Все эти символы (кроме знака фунта и 'с' в кружочке)-образуют код
ASCII (American Standart Codes for Information Interchange).

Следующие символы не входят в ASCII, но используются в ZX
SPECTRUM.

Первые из них, это 15 чёрно-белых значков, называемых псевдог-
рафическими символами и используемых для изображения рисунков. Их
можно ввести с клавиатуры используя, так называемый, графический режим.
Если Вы нажмёте GRAPHICS (CAPS SHIFT "9"), то курсор изменится на [G].
Теперь цифровые клавиши с 1 по 8 выдают графические символы, обозна-
ченные на клавишах, а если при этом удерживать CAPS SHIFT, то они будут
выдавать инверсные символы, т.е. чёрное становится белым, а белое
чёрным.

Независимо от CAPS SHIFT, клавиша с цифрой 9 обеспечивает Вам
возврат к обычному ([L] - курсор) режиму, а клавиша с цифрой 0 функцию
DELETE.

ГРАФИЧЕСКИЕ СИМВОЛЫ

ГРАФИЧЕСКИЕ СИМВОЛЫ

где: <G> - графическая мод«

где: <G> - графическая мод«

<G> SH - то же, но с удержанием CAPS SHIFT

После графических символов на клавиатуре располагаются символы ал-
фавита от А до U. Графические значения эти клавиш могут определяться
самим пользователем, а затем использоваться в графическом режиме.
Определение графики этих клавиш проиллюстрируем на примере опреде-
ления символа буквы греческого алфавита "Пи".

• 1) каждый символ представляется точками в матрице 8x8, поэтому
мы вначале начертим диаграмму, приведённую на рисунке. Мы
оставим по одной клетке по периметру символа для отделения его
от соседних знаков.

• 2) закрепим данный символ за клавишей "Р", так, чтобы при
нажатии клавиши в графическом режиме выдавался Символ "Пи".

• 3) запрограммируем это изображение. Каждый определяемый
пользователем символ запоминается в памяти восмью знаками, по
одному на каждый ряд. Вы можете записать их используя функцию
BIN с обозначением цифрой 0 чистой точки и 1 закрашенной точки.

BIN 00000000
BIN 00000000
BIN 00000010
BIN 00111100
BIN 01010100
BIN 00010100
BIN 00010100
BIN 00000000

Эти восемь двоичных чисел запоминаются в памяти в восьми ячейках,
каждая из которых имеет свой адрес. Для нашего символа адрес первого из
восьми байтов в группе будет USR "Р". Второй байт имеет адрес USR
иР"+1 и т.д. до USR "Р"+7. USR - функция преобразования строки симво-
лов в адрес первого байта в строке. Строковый аргумент может содержать
единственный символ, который будет обозначать символ, определяемый
пользователем. Имеются и другие применения функции USR с числовым ар-
гументом, но об этом позже. Поясним всё сказанное программой:
10 FOR N-0 ТО 7

20 INPUT ROW: POKE USR "P"+N,ROW
30 NEXT N

Данная программа вводит 8 двоичных чисел, определяющих графику
:им- вола, закрепляемого за клавишей "Р". Оператор РОКЕ записывает дан-
ные непосредственно в память, минуя обычный аппарат BASIC'a. Обратным
оператору РОКЕ является оператор РЕЕК, который служит для отображения

содержимого области памяти, но об этом подробнее будем говорить в гла-
ве 24. Вернёмся к знакам. Мы ещё не поговорили о не напечатанных пер-
вых 32 знаках с кодами от 0 до 31. Это управляющие символы. Они не
отображаются, вместо них на телевизоре отображается знак "?". Назна-
чение этих символов описано в приложении А.Три символа с кодами 6, 8 и
13 имеют специальное назначение при работе с телевизором. CHR$ 6 -
печатает пробел, используемый как запятая в операторе PRINT. PRINT
1;CHR$ 6; 2 даст тот же результат что и оператор: PRINT 1,2 но это не сов-
сем корректное использование, вернее будет сделать:
10 LET A$»"1"+CHR$

5 LET В« BIN 01111100: LET О BIN 00111000:

LET D« BIN 00010000

10 FOR N-l TO 6: READ P$: REM 6 pieces

20 FOR F-0 TO 7: REM read piece into 8 bytes

30 READ A: POKE USR P$+F,A

40 NEXT F

50 NEXT N

100 REM *BISHOP*

110 DATA HB",0,D, BIN 00101000, BIN 01000100

120 DATA BIN 01101100,C,B,0

130 REM ♦KING»

140 DATA "KM,0,D,C,D

150 DATA C, BIN 01000100,C,0

160 REM •ROOK»

170 DATA "R",0, BIN 01010100,В,С

180 DATA C,B,B,0

190 REM ♦QUEEN»

200 DATA^Q",0, BIN 01010100, BIN 00101000,D

210 DATA BIN 01101100,B,B,0

220 REM *PAWN*

230 DATA"P",0,0,D,C

240 DATA C,D,B,0

250 REM ♦KNIGHT*

260 DATA "N",0,D,C, BIN 01111000

270 DATA BIN 000 H000,C,B,0




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Это интересно - И снова пятерка лучших игр для ZX-Sрectrum, IBМ PC и игровых приставок.
Реклама - реклама и обьявления.
СС'99 - интервью: Kvazar/RUSH (редактор газеты Полесье) и предводитель Самарских спектрумистов MMA (Unbeliever).
Застрял ? - Описание игры "Flunky" (продолжение).
Прохождение и коды - игра The Last Courier.

В этот день...   25 апреля