Добавлено позже:Это всё конечно здорово и хорошо. Только зачем этим заниматься на Game-BASIC? Он всё же предназначен исключительно для игр, там Марио должен бегать, а не строка.
BASIC, хорошо подходит для изучения программирования.
Нужны были примеры, не нашёл.
Программа мини-игра "Game star", без спрайтов.
Управление джойстиком, кнопка "A" - огонь.
10 CLS: X=13
20 LOCATE 10,10
30 PRINT "GAME STAR"
40 PAUSE: CLS
50 FOR I=1 TO 10
60 LOCATE RND(27),RND(20)
70 PRINT "*"
80 NEXT
90 LOCATE X,22: PRINT CHR$(253)
100 C=STICK(0): D=STRIG(0)
110 IF D=8 THEN GOSUB 210
120 IF C=0 THEN 100
130 LOCATE X,22: PRINT " "
140 IF C=1 THEN X=X+1
150 IF C=2 THEN X=X-1
160 IF X<0 THEN X=0
170 IF X>26 THEN X=26
180 LOCATE X,22: PRINT CHR$(253)
190 PAUSE 2
200 GOTO 100
210 FOR I=21 TO 0 STEP -1
220 LOCATE X,I: PRINT "."
230 LOCATE X,I: PRINT " "
240 NEXT
250 RETURN
Программа демонстрирующая работу со спрайтами. Генератор одного символа.
После первого запуска код на ассемблере будет записан в памяти и апостроф в 20 строке можно убрать.
Программа запрашивает поочерёдно 8 байт в шестнадцатиричной форме
и формирует символ заменяя им букву "a".
Русская буква "Ю": 9C,A2,A2,E2,A2,A2,9C,00
"Рожица": 3C,42,A5,81,A5,99,42,3C
10 CLS
20 'GOTO 70
30 FOR I=&H7600 TO &H7612
40 READ D$
50 POKE I,VAL("&H"+D$)
60 NEXT
70 FOR I=0 TO 7
80 PRINT I+1;" bytes ";: INPUT D$
90 POKE &H7606,15+I
100 POKE &H760E,VAL("&H"+D$)
110 POKE &H2001,0
120 CALL &H7600
130 POKE &H2001,10
140 NEXT
150 PRINT "a"
160 DATA A9,16,8D,06,20,A9,10,8D,06,20,AD,07,20,A9,FF,8D,07,20,60
Таблица для перевода двоичных чисел в шестнадцатиричные:
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Формирование символа пояснено на рисунке.