ЧИПБЕЙСИК.РУ

Анимация.

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

SCREEN 1 – использовать первую таблицу символов для всей системы.

SCREEN 2 – использовать вторую таблицу символов для всей системы.

Программа выводит в середине экрана бегущего кота

Промежуточное хранение переменной.

В внутреннем EEPROM можно хранить одну переменную типа int (от -32767 до 32767 включительно).

ESET A Сохраняет значение переменной A во внутреннем EEPROM.

EGET B Считывает значение из внутреннего EEPROM в переменную B.

Ключевые слова ESET и EGET можно использовать для хранения промежуточных данных, в условиях ограниченного количества имен переменных.

Пример:

01 A=1:B=2

02 ESET A

03 A=B

04 EGET B

05 PRINT A,B

Результат A=2,B=1

Примеры программ

PROGRAM: CATRUN

01 POS 12,14

02 SCREEN 1

03 EMIT 117,118

04 WAIT 3

05 POS 12,14

06 SCREEN 2

07 EMIT 117,118

08 WAIT 3

09 GOTO 1

#

Программа для считывания сканкода клавиатуры

PROGRAM: SCANCODE
01 '------------------------
02 'MINIKOT MK-1
03 'PROGRAM "SCANCODE"
04 '(C) MINIKOT
05 'WWW.CHIPBASIC.RU
06 '------------------------
07 X=-1:Y=3:A=-4:B=7
08 PRINT @0,10;"SCANCODE"
09 COLOR 5:DRAW 1,0,1,29 
10 '------------------------
11 WKEY P
12 X=X+1:A=A+4
13 IF X>29 Y=Y+1:X=0
14 IF A>27 B=B+1:A=0
15 LI X,0,29:LI Y,2,21
16 LI A,0,29:LI B,7,21
17 PRINT @Y,X;%P
18 PRINT @B,A;P
19 IF P=233 CLS :GOTO 01 
20 GOTO 10
#

Космокот

Динамичная игра. Персонаж по прозвищу Миникот летит сквозь метеоритный дождь на своем звездолете. Вам необходимо пролететь не врезаясь в куски метеорита. Управление клавишами "ВВЕРХ", "ВНИЗ", "ВЛЕВО", "ВПРАВО".

 

PROGRAM: SPACECAT  
01 CO 1:DRAW 21,0,21,29:U=1
02 Y=0:X=30:H=0:V=0:P=10:G=0
03 IF U=1 U=2:SCREEN U:GO 5
04 IF U=2 U=1:SCREEN U:GO 5
05 Y=RND(20):S=RND(6)+9
06 POS Y,X:EMIT S:LCHAR 21
07 GC F,V,H+3:POS V,H:EM 0,0,0
08 K=KEY(3):V=V-K:LIMIT V,0,19
09 L=KEY(2):H=H+L:LIMIT H,1,27
10 IF (F>8)&(F<16) CALL 16
11 POS V,H: EMIT 0,29,30,31
12 NO V+H:IF P<0 GOTO 20
13 IF G>50 P=P+1:G=0:CALL 18
14 IF P>20 NO 55:NO 56:GOTO 22
15 WAIT 1:G=G+1:GOTO 3
16 POS V,H+2:EMIT 122:NO 255
17 WAIT 5:EMIT 0,0,0:P=P-1
18 POS 22,2
19 PRINT "SKILL -";P;"  ";:RE
20 CLS :BOX 8,8,12,20
21 POS 10,10:? "GAME OVER":EN
22 POS 10,10:? "YOU WIN!"
#

Keysim

Клавиатурный тренажер. Вам необходимо нажать на клавишу с буквой, пока падает соответствующая буква.

PROGRAM: KEYSIM    
01 CLS :COLOR 5:BOX 0,0,22,29
02 COLOR 1:DRAW 2,4,2,23
03 FOR E=1 TO 28
04 POS 20,E:YEMIT 9,12:NEXT 
05 FOR E=0 TO 50
06 POS 1,4:? "RIGHT";T
07 POS 1,16:? "MISSED";E-T
08 X=RND(26)+2:I=RND(25)+65
09 FOR Y=4 TO 20
10 POS Y-1,X: EMIT 0
11 POS Y,X: EMIT I
12 WAIT 1:RKEY P
13 IF P=I T=T+1:NOTE 255
14 IF P=I POS Y,X:EMIT 121
15 IF P=I WAIT 1
16 IF P=I POS Y,X:? " ":Y=20
17 NEXT :NEXT 
18 IF T<26 POS 10,10:?"LOST"
19 IF T>25 POS 10,12:?"WIN"
20 WKEY Z:
#

Drawmap

Графический редактор.

"ВВЕРХ", "ВНИЗ", "ВЛЕВО", "ВПРАВО"- перемещение по экрану. Page Up, Page Down – выбор графического символа,

С — очистить экран, «ПРОБЕЛ» - зафиксировать символ в позиции(нарисовать).

PROGRAM: DRAWMAP

01 X=0:Y=0:A=1

02 PRINT @Y,X;%A

03 WKEY P

04 IF P=230 A=A+1

05 IF P=231 A=A-1

06 IF A<0 A=128

07 IF A>128 A=0

08 PRINT @Y,X;%0

09 IF P=32 CALL 15

10 IF P=67 CLS

11 Y=Y-KEY(3):X=X+KEY(2)

12 LI Y,0,21:LI X,0,29

13 GOTO 2

14

15 PRINT @Y,X;%A

16 X=X+1:IF X>29 X=29

17 RETURN

#

Понг

Классическая игра PONG, управление Alt, Shift.

PROGRAM: PONG      
01 SD 1,11,1:SD 2,11,2
02 BOX 1,0,22,29:SD 3,0,12
03 X=15:Y=10:E=1:F=1
04 IF RND(1)=1 E=-1
05 SY 2:A=A-KEY(0):LI A,2,18
06 SSHOW 1,A,1:B=B-KEY(1)
07 LI B,2,18:SSHOW 2,B,28
08 P=(P+1)%2:IF P>0 GO 5
09 X=X+E:Y=Y+F:SSHOW 3,Y,X
10 IF (Y=2)#(Y=21) THEN F=-F
11 IF (Y=2)#(Y=21) NO 20
12 IF COL(3)=1 E=-E:GO 20
13 IF (X>1)&(X<28) GO 5
14 IF X=1 TH R=R+1:X=25:E=-1
15 IF X=28 TH L=L+1:X=2:E=1
16 PO 0,1:?L:PO 0,24:?R
17 NO 255:IF (L=15)#(R=15) EN
18 IF RND(1)=1 THEN F=-1
19 Y=RND(10)+6:GOTO 5
20 X=X+E:NO 13:GO 5
#

Стена

Управление вверх, вниз, влево, вправо. Задача - проехать как можно больший путь не врезаясь.

PROGRAM: STENA-39  
01 SC 1:CLS :S=2:V=$E3:T=0
02 SDEF 1,0,$7D
03 FOR I=1 TO 10
04 X=RND(29): Y=RND(22)
05 LI X,5,24:LI Y,5,17
06 POS Y,X:EMIT $6E:NEXT 
07 FOR X=0 TO 29
08 POS 0,X:EMIT $62
09 POS 21,X:EMIT $62:NEXT 
10 FOR Y=0 TO 21
11 POS Y,0:EMIT $62
12 POS Y,29: EMIT $62:NEXT 
13 Y=10:X=10:Q=10:W=9:WAIT 6
14 RKEY V '-----------LOOP 
15 IF V=$E2 S=1
16 IF V=$E3 S=2
17 IF V=$E4 S=3
18 IF V=$E5 S=4
19 IF S=1 CALL 30
20 IF S=2 CALL 32
21 IF S=3 CALL 34
22 IF S=4 CALL 36
23 LI X,1,28: LI Y,1,20
24 LI W,1,28: LI Q,1,20:T=T+1
25 PRINT @1,1;"LENGTH";T;"KM"
26 POS Q,W: EMIT $62:SS 1,Y,X
27 IF COL(1) GOTO 38
28 SCREEN 1:WAIT 1:SCREEN 2
29 GOTO 14 '--------END LOOP
30 W=X:Q=Y:X=X-1 'LEFT
31 SHIDE 1:SDEF 1,0,$7B:RETURN 
32 W=X:Q=Y:X=X+1 'RITHT
33 SHIDE 1:SDEF 1,0,$7D:RETURN 
34 Q=Y:W=X:Y=Y-1 'UP
35 SHIDE 1:SDEF 1,0,$7C:RETURN 
36 Q=Y:W=X:Y=Y+1 'DOWN
37 SHIDE 1:SDEF 1,0,$7E:RETURN 
38 ? @10,10;"GAME OVER":NO 255
39 WAIT 10:WKEY V:GOTO 01
#

PROGRAM: STAR WARS 
01 SCREEN 1:CLS 
02 SD 1,0,$1F:SD 2,0,$71
03 SD 3,0,$72:SD 4,0,$74
04 D=0:E=0:F=0:G=28:I=22
05 
06 POS 0,0
07 ? "STAR WAR  ";X;" <>";Z
08 POS 23,H: EMIT $20
09 
10 L=KEY(2):H=H+L:LI H,0,28
11 POS 23,H: EMIT $73
12 Y=Y+1:IF Y>1 Y=0
13 IF Y=1 GOTO 16
14 D=D+1:E=E+1:F=F+1
15 
16 IF D>29 X=X+1:SC 1
17 IF D>29 D=RND(5):A=RND(20)
18 IF E>29 E=RND(5):B=RND(20)
19 IF F>29 F=RND(5):C=RND(20)
20 SS 1,A+1,D:SS 2,B+1,E
21 SS 3,C+1,F
22 IF (X>50)#(Z>50) GOTO 36
23 
24 SYNC 2 
25 RKEY K:IF K=32 CALL 28
26 GOTO 5
27 
28 I=I-1:SSHOW 4,I,H
29 IF COL(4)=1 CALL 33
30 NOTE I:SYNC 1
31 IF I>1 GOTO 27
32 SHIDE 4:I=22: RETURN 
33 SCREEN 2:NO 20:NO 20
34 I=1:Z=Z+1
35 RETURN 
36 CLS : POS 10,10
37 IF Z>X PRINT "YOU WIN"
38 IF X>Z PRINT "YOU LOST"
39 END 
#

 

 

Звездные войны

Управление влево, вправо, пробел.

PROGRAM: FOOTBALL  
01 Z=10:M=5:N=5
02 SC 1:SD 1,3,6:SD 2,0,15
03 CO 5:BOX 1,0,22,29
04 X=15:Y=10:E=1:F=1
05 FOR I=2 TO 5
06 J=I-1
07 PRINT @Z,I*5-4;%J;%J;%J
08 NEXT 
09 
10 
11 SY 2:B=B+KEY(2)
12 LI B,1,25:SSHOW 1,20,B
13 P=(P+1)%2:IF P>0 GO 5
14 X=X+E:Y=Y+F:SSHOW 2,Y,X
15 
16 IF (Y=2)#(Y=21) THEN F=-F
17 IF (X=1)#(X=28) THEN E=-E
18 IF Y=2 THEN NO 20
19 IF (X=1)#(X=28) THEN NO 13
20 IF Y=21 THEN CALL 36
21 IF COL(2)=1 F=-F:CALL 27
22 IF R=M THEN CALL 30
23 IF L=N THEN CALL 33
24 IF (L>50)#(R>50) TH GO 37
25 PO 0,1:?L:PO 0,24:?R
26 GOTO 5
27 Y=Y+F:NO 20
28 IF Y=19 THEN R=R+1
29 RETURN 
30 CO 0:DRAW Z,1,Z,28:SYNC 1
31 M=M+5:Z=Z-1:LI Z,5,15
32 RETURN 
33 CO 0:DRAW Z,1,Z,28:SYNC 1
34 N=N+5:Z=Z+1:LI Z,5,15
35 LI Z,3,20:RETURN 
36 NO 255:L=L+1:RETURN 
37 POS 10,9
38 IF L<R ?"   YOU WIN"
39 IF L>R ?"COMPUTER WIN"
#

 

 

Футбол

Управление влево, вправо.