
1.Программа "Сирена". Используется pAPU.
2.Программа "Генератор спрайтов" (графический редактор).
3.Программа китайский текстовый редактор (15 иероглифов).
4.Программа "Генератор штрих-кодов".
5.Программа "Надпись летает по экрану".
6.Программа "Марио" управление джойстиком.
7.Программа показывающая координаты курсора.
8.Программа "Меню" выбор пункта синей подсветкой.
9.Программа: игра "Пин-понг" (Арканоид).
10.Программа "Звёздное небо" с мерцанием.


1.Программа "Сирена". Используется pAPU.

10 POKE &H4001,0
20 POKE &H4000,1
30 FOR I=200 TO 60 STEP -1
40 POKE &H4003,0
50 POKE &H4002,I
60 POKE &H4015,255
70 NEXT
80 FOR I=60 TO 200
90 POKE &H4003,0
100 POKE &H4002,I
110 POKE &H4015,255
120 NEXT
130 GOTO 30


2.Программа "Генератор спрайтов" (графический редактор).

5 INPUT "Vvedite simvol ";G$
7 M=16*(ASC(G$)-97)
10 CLS: X=5: Y=5: GOSUB 260
20 SD$=" "
30 FOR I=1 TO 8
40 FOR K=1 TO 8
50 LOCATE 10+I,6+K
60 PRINT CHR$(176)
70 NEXT
80 NEXT
90 A=STICK(0): B=STRIG(0)
100 IF (A=0) AND (B=0) THEN 90
110 LOCATE X,Y: PRINT SD$
120 IF A=1 THEN X=X+1
130 IF A=2 THEN X=X-1
140 IF A=4 THEN Y=Y+1
150 IF A=8 THEN Y=Y-1
160 IF B=8 THEN 210
170 SD$=SCR$(X,Y)
180 LOCATE X,Y: PRINT CHR$(94)
190 PAUSE 2
200 GOTO 90
210 SD$=CHR$(176)
220 IF SCR$(X,Y)<>CHR$(255) THEN SD$=CHR$(255)
230 LOCATE X,Y: PRINT SD$
240 PAUSE 2: GOSUB 300
250 GOTO 90
260 FOR I=&H7600 TO &H7612
270 READ D$
280 POKE I,VAL("&H"+D$)
290 NEXT: RETURN
300 FOR I=1 TO 8
310 F=0: K=2
320 IF SCR$(18,I+6)=CHR$(255) THEN F=1
330 FOR J=1 TO 7
340 IF SCR$(18-J,I+6)=CHR$(255) THEN F=F+K
350 K=K*2
360 NEXT
370 POKE &H7606,14+I+M
380 POKE &H760E,F
390 POKE &H2001,0
400 CALL &H7600
410 POKE &H2001,10
420 LOCATE 14,3: PRINT G$
450 NEXT: RETURN
460 DATA A9,16,8D,06,20,A9,10,8D,06,20,AD,07,20,A9,FF,8D,07,20,60

Позволяет создавать 15 одноцвеных спрайтов, заменяя буквы алфавита нижнего регистра:
от 'a' до 'o'. После запуска программы запрашивается буква изображение котой будет меняться.
Для изменения следующей буквы - программу нужно перезапустить. Перемещение указателя производится
джойстиком.


3.Программа китайский текстовый редактор (15 иероглифов).

10 CLS
20 DIM A(2,15)
30 D$="QWERTYUIOP[]ASD"
40 FOR I=1 TO 15
50 A(1,I)=ASC(MID$(D$,I,1))
60 READ A(2,I)
70 NEXT
80 K=0: A$=INKEY$(0)
100 AC=ASC(A$)
110 FOR I=1 TO 15
120 IF A(1,I)=AC THEN K=I
130 NEXT
140 IF K<>0 THEN PRINT CHR$(100+A(2,K));
150 IF AC=13 THEN PRINT: PRINT
160 IF AC=32 THEN PRINT " ";
170 IF AC=27 THEN END
180 IF AC=8 THEN GOSUB 210
190 IF (CSRLIN MOD 2)<>0 THEN PRINT
200 GOTO 80
210 X=POS(0): Y=CSRLIN
220 IF X<1 THEN RETURN
230 LOCATE X-1,Y: PRINT " ";
240 LOCATE X-1,Y
250 RETURN
260 DATA 70,74,71,75,72,83,58,62,59,63,71,56,57,68,73

Описание Enter-следующая строка, Esc-выход, работают клавиши пробел и удаление символа.


4.Программа "Генератор штрих-кодов".

10 CLS
20 'GOTO 190
30 FOR I=&H7600 TO &H7612
40 READ D$
50 POKE I,VAL("&H"+D$)
60 NEXT
70 FOR Q=0 TO 9
80 READ D$
100 FOR I=0 TO 7
110 POKE &H7606,15+I+Q*16
120 POKE &H760E,VAL("&H"+D$)
125 POKE &H2001,0
130 CALL &H7600
140 POKE &H2001,10
160 NEXT
170 NEXT
190 PRINT "ENTER CODE: ";
200 FOR I=1 TO 13
210 PRINT CHR$(176);
220 NEXT
230 LOCATE 12,0
235 LINPUT F$
240 FOR I=1 TO 13
250 C=VAL(MID$(F$,I+12,1))
260 CS$=CS$+CHR$(97+C)
270 NEXT
273 LOCATE 0,8
275 FOR I=1 TO 7
280 PRINT "        ";CS$: REM 8 пробелов.
290 NEXT
295 PRINT "        ";MID$(F$,13,13): REM 8 пробелов.
300 DATA A9,16,8D,06,20,A9,10,8D,06,20,AD,07,20,A9,FF,8D,07,20,60 
310 DATA 1A,32,26,7A,46,62,5E,76,6E,16

После первого запуска апостроф в 20 строке можно убрать.


5.Программа "Надпись летает по экрану".

10 CLS: CGEN 3: SPRITE ON
15 X=100: Y=100: XK=1: YK=1
20 DEF SPRITE 0,(0,1,0,0,0)="HE"
30 DEF SPRITE 1,(0,1,0,0,0)="LL"
40 DEF SPRITE 2,(0,1,0,0,0)="O!"
50 SPRITE 0,X,Y
60 SPRITE 1,X+16,Y
70 SPRITE 2,X+32,Y
80 X=X+XK
90 Y=Y+YK
100 IF X>198 THEN XK=-1
110 IF Y>220 THEN YK=-1
120 IF X<5 THEN XK=1
130 IF Y<5 THEN YK=1
140 GOTO 50


6.Программа: "Марио" управление джойстиком.

10 CLS: SPRITE ON
20 DEF MOVE(0)=SPRITE (0,3,2,90,1,2)
30 DEF MOVE(1)=SPRITE (0,7,2,90,1,2)
40 DEF SPRITE 3,(2,1,0,0,0)=CHR$(4)+CHR$(5)+CHR$(6)+CHR$(7)
45 DEF SPRITE 2,(2,1,0,1,0)=CHR$(5)+CHR$(4)+CHR$(7)+CHR$(6)
46 POSITION 1,100,200
50 POSITION 0,100,200
55 MOVE(0): PAUSE 3: CUT 0
60 S=STICK(0)
70 IF S=0 THEN 60
80 IF S=1 THEN M1=0: M2=1: GOTO 100
90 IF S=2 THEN M1=1: M2=0: GOTO 100
95 GOTO 60
100 MOVE (M1)
110 PAUSE 3: SPRITE 3: SPRITE 2
120 IF (STICK(0)=S) AND (MOVE(M1)=-1) THEN 120
130 CUT M1: POSITION M2,XPOS(M1),YPOS(M1)
135 SPRITE M1+2,XPOS(M1),YPOS(M1)
136 ERA M1
140 GOTO 60


7.Программа показывающая координаты курсора.

10 CLS: X=12: Y=12
20 SPRITE ON: CGEN 3
30 DEF SPRITE 0,(0,0,0,0,0)="_"
40 A=STICK(0)
60 LOCATE 0,0: PRINT X;",";Y;"   "
70 PAUSE 2
80 IF A=1 THEN X=X+1
90 IF A=2 THEN X=X-1
100 IF A=4 THEN Y=Y+1
110 IF A=8 THEN Y=Y-1
120 IF X<0 THEN X=0
130 IF X>27 THEN X=27
140 IF Y<0 THEN Y=0
150 IF Y>21 THEN Y=21
160 SPRITE 0,X*8+16,Y*8+24
170 GOTO 40


8.Программа "Меню" выбор пункта синей подсветкой.

10 CLS: SPRITE ON: CGEN 3: F$=""
11 D$=CHR$(255)+CHR$(255)
12 DEF SPRITE 0,(0,1,1,0,0)=D$
20 DEF SPRITE 0,(0,1,1,0,0)=D$
30 DEF SPRITE 0,(0,1,1,0,0)=D$
40 DEF SPRITE 0,(0,1,1,0,0)=D$
50 GOSUB 240
60 LOCATE 10,5: PRINT "1 PLAYER"
70 LOCATE 10,7: PRINT "2 PLAYER"
80 LOCATE 10,9: PRINT "END GAME"
90 FOR I=0 TO 3
100 SPRITE I,95+16*I,63+Y
110 NEXT
120 REM PLAY "T1O5A"
130 A=STICK(0)
140 REM IF STRIG(0)=8 THEN PLAY "T1O3A"
150 IF A<4 THEN 130
160 IF A=4 THEN Y=Y+16
170 IF A=8 THEN Y=Y-16
180 IF Y<0 THEN Y=0
190 IF Y>32 THEN Y=32
200 GOTO 90
240 FOR I=1 TO 8: F$=F$+CHR$(237): NEXT
250 LOCATE 9,4: PRINT CHR$(239);F$;CHR$(240)
260 FOR I=1 TO 5
270 LOCATE 9,I+4: PRINT CHR$(238);"        ";CHR$(238): REM 8 пробелов в кавычках.
280 NEXT
290 LOCATE 9,10: PRINT CHR$(241);F$;CHR$(242)
300 RETURN


9.Программа: игра "Пин-понг" (Арканоид).
  Управление джойстиком.

10 CLS: K=4: GOSUB 300
40 SPRITE ON: CGEN 3
50 DEF SPRITE 0,(0,1,0,0,0)=CHR$(207)
60 DEF SPRITE 1,(0,1,0,0,0)=CHR$(196)+CHR$(197)
70 DEF SPRITE 2,(0,1,0,0,0)=CHR$(197)+CHR$(198)
80 X=50: Y=50: XK=3: YK=3: X1=100
90 SPRITE 1,X1,200: SPRITE 0,X,Y
100 SPRITE 2,X1+16,200
110 X=X+XK: Y=Y+YK
120 IF X>246 THEN XK=-3
130 IF Y>220 THEN GOSUB 300: GOTO 80
140 IF Y<5 THEN YK=3
150 IF X<5 THEN XK=3
160 IF STICK(0)=1 THEN X1=X1+4
170 IF STICK(0)=2 THEN X1=X1-4
180 IF X1<5 THEN X1=5
190 IF X1>214 THEN X1=214
200 IF (Y=191) AND (X>(X1-8)) AND (X<(X1+32)) THEN YK=-3
210 GOTO 90
300 K=K-1
310 IF K=0 THEN CLS: LOCATE 10,10: PRINT "GAME OVER": SPRITE OFF: PAUSE: END
320 LOCATE 0,0
330 FOR I=1 TO K
340 PRINT CHR$(207);
350 NEXT
360 PRINT " ": REM один пробел в кавычках.
370 BEEP: RETURN


10.Программа "Звёздное небо" с мерцанием.

10 CLS
20 DIM X1(12),Y1(12)
30 FOR I=1 TO 12
40 GOSUB 180
50 LOCATE X1(I),Y1(I): PRINT "+"
75 NEXT
80 FOR I=1 TO 12: X=X1(I): Y=Y1(I)
90 LOCATE X,Y: PRINT CHR$(253)
95 LOCATE X,Y: PRINT "*": PAUSE 20
100 LOCATE X,Y: PRINT ":": PAUSE 5
110 LOCATE X,Y: PRINT " ": PAUSE 5
120 GOSUB 180: X=X1(I): Y=Y1(I)
130 LOCATE X,Y: PRINT ":": PAUSE 5
140 LOCATE X,Y: PRINT CHR$(253)
150 LOCATE X,Y: PRINT "*": PAUSE 20
160 LOCATE X,Y: PRINT "+": PAUSE 1
165 NEXT
170 GOTO 80
180 X1(I)=RND(13)*2+1
190 Y1(I)=RND(11)*2+1
200 RETURN


+++park24+++