ZX-Ревю 1991 №6 1990 г.

Раздел для начинающих - заметки для начинающих нашего читателя из г. Дубна, Т. Скитева об UDG графике.


Раздел для начинающих

Мы продолжаем публикацию заметок для начинающих нашего читателя из г. Дубна, т. Скитева.

Сегодня раздел посвящен графике пользователя, так называемой UDG-графике.

При работе с графикой пользователя обычно сталкиваются с определенными трудностями. Для графики отводится 21 символ от "A" до "U" при условии печати этих знаков в графическом режиме (курсор G).

Каждый знак состоит из 6 строчек по 8 символов в каждой. Рисуем матрицу 8x8, и в ней рисуем то изображение, которое хотели бы видеть. Заменим закрашенные квадраты единицами, а незакрашенные - нулем. Затем выберем символ, который хотим заменить своим, например "A", и наберем следующую программу. 10 POKE USR "A",BIN 00111100 20 POKE USR "A"+1,BIN 01011010 30 POKE USR "A"+2,BIN 01111110 40 POKE USR "A"+3,BIN 11100111 50 POKE USR "A"+4,BIN 10100101 60 POKE USS "A"+5,BIN 10100101 70 POKE USR "A"+6,BIN 10100101 80 POKE USR "A"+7,BIN 00100100

Если после выполнения программы перейдем в графический режим (а это выполняется одновременным нажатием клавиш CAPS SHIFT и 9) и напечатаем литеру "A", то увидим изображение паука. Это изображение будет находиться в памяти компьютера до тех пор, пока не будет выключено питание или нажата кнопка "RESET".

Программа заняла восемь строчек, а заменила только одну литеру. Можно сделать эту программу по-другому, используя оператор "READ" и список "DATA".

Правда, предварительно необходимо провести следующую работу - перевести изображение из двоичного кода (а мы создавали его в двоичном коде 0,1) в десятеричный код. Для этого можно, например, воспользоваться оператором "BIN". Дав прямую команду PRINT BIN 00111100, получим результат - 60.

Затем следующая строка PRINT BIN 01011010 дает 50 и т.д. Таким образом определяем значения всех строк и заносим их в список DATA. Теперь программа выглядит так:

10 FOR X=0 TO 7 20 READ Y

30 POKE USR "A"+X,Y 40 NEXT X

50 DATA 60,90,126,231,165,165,165,36

Программа делает то же самое, что и предыдущая.

Продолжение паука (падающий паук).

110 FOR X=0 TO 7 120 READ Y

130 POKE USR "T"+X,Y 140 NEXT X

150 DATA 16,16,16,16,16,16,16,16

160 FOR L=0 TO 20

170 PRINT AT L,3: INK 0; "I"

Здесь черточка под буквой "T" означает, что это вовсе не буква, "T", а тот знак, который закреплен за клавишей "T" в графическом режиме. Пожалуйста не ошибитесь при наборе. Аналогично будем поступать и далее. 180 PRINT AT L+1,3; INK 2;"A" 190 NEXT L

Продолжение паука (убегающий паук).

210 PAUSE 10

220 FOR C=3 TO 30

230 PRINT AT 21,C; " "

240 PRINT AT 21,C+1; INK 2; "A" 250 NEXT C

В разработке "Большие возможности Вашего Спектрума" есть вариант перевода компьютера на русский шрифт, создав русские символы в графическом режиме.

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

Попробуйте ввести следующую программу. 10 FOR I=0 TO 47 20 READ N

30 POKE USR "A"+I,N 40 NEXT I

50 DATA 0,2,3,7,15,19,83,126 60 DATA 0,64,64,224,240,200,202,126 70 DATA 127,115,120,31,15,4,4,28 80 DATA 254,206,30,243,240,32,56,0 90 DATA 127,187,120,27,15,4,28,0 100 DATA 254,254,30,216,240,32,32,56

Выполним эту программу, результатом будет изменение в графическом режиме символов A,B,C,D,E,F. Если будет сообщение - OUT OF DATA, внимательно проверьте Ваш листинг. В каждой строке DATA должно быть 8 чисел. Теперь можно командой NEW очистить память, листинг исчезнет, но результат работы программы останется (до команды RESET).

Введем следующую программу. Символы, стоящие в кавычках, будем вводить в графическом режиме.

Прыгающие фигурки.

110 BORDER 5; PAPER 5: CLS 120 PLOT 60,71: DRAW 135,0 130 PAUSE 50

140 PRINT AT 10, 14; "AB"; AT 10,18;" " 150 PRINT AT 11,14;"CD";AT 11,18; "AB" 160 PRINT AT 12,14;" ";AT 12,18;"EF" 165 BEEP .05,0 170 PAUSE 50

180 PRINT AT 10,14;" ";AT 12,18;" " 190 PRINT AT 12,14;"EF";AT 12,18;" " 205 BEEP .05,20 210 GO TO 130

По такому принципу можно создавать достаточно сложные рисунки состоящие из большего количества символов до 21.

Эта программа рисует шахматное поле. В строках 50, 60 после кавычек делаем два пробела, затем два черных квадрата в графическом режиме и так далее, всего в строке 32 символа. А в строках 70, 80 сначала два квадрата, затем два пробела и т.д. 10 CLS 20 BORDER 0 30 PAPER 7 40 FOR N=1 TO 6 50 PRINT " 60 PRINT " 70 PRINT " 80 PRINT " 90 NEXT N

Используя эту программу, а также программы, которые мы приводили ранее, сетка на экране, вертикальные цветные полосы, полное окрашивание экрана в основные цвета (R,G,B) и так далее, можно сделать тестовую программу для монитора. Для этого необходимо сделать программу меню, один из вариантов можно найти во втором выпуске "ZX-РЕВЮ" в разделе маленькие хитрости, а в листингах программ соответственно изменить номера.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Введение - Сегодня первое июня, День защиты детей. С праздником Вас!!!
Письма - Размышления о недостатках клавиатуры Спектрума.
Fuck action - Cижу как-то на работе, лазаю по просторам паутины...
Программистам - Basic - 7: Окончание описания Beta-Basic.
Всемирная история - о действующих в Дзержинске творческих коллективах.

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