Projekt
BASIC
Beispiele
|
AVR-ChipBASIC: Beispielprogramme
V0.72 (c) 2006/2007 Jörg Wolfram
Die Programme unterliegen der GPL (GNU General Public Licence)
Version 3 oder höher, jede Nutzung der Software/Informationen nonkonform
zur GPL oder ausserhalb des Geltungsbereiches der GPL ist untersagt!
Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass
es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, auch
ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT
FÜR EINEN BESTIMMTEN ZWECK.
1 Darstellung des Zeichensatzes
PROGRAM: CHARSET
01 FOR Y=0 TO 7
02 FOR X=0 TO 15
03 Z=16*Y+X
04 POS Y+2,X+2
05 EMIT Z
06 NEXT :NEXT
#
|
2 Zufälliges Muster
PROGRAM: MUSTER
01 FOR Y=0 TO 45
02 FOR X=0 TO 59
03 CO RND(7)
04 PLOT Y,X:NEXT :NEXT
#
|
3 Ein einfaches Oszilloskop
PROGRAM: OSZI
01 CO 5:FBOX 42,0,42,59:CO 7
02 A=ADC(0):B=A/26:C=A/20
03 POS 22,1:PRINT !$16;C;"V";
04 FBOX 39-B,59,39-D,59:D=B
05 SY 1:LP 20:GOTO 2
#
|
4 Eine Digitaluhr mit Temperaturanzeige
PROGRAM: TEMP-UHR
01 IN "STUNDE:",H:S=0:T=9999
02 IN "MINUTE:",M:CLS :PO 2,2
03 ?!66;H;:CO 1:?!66;":";:CO 7;
04 ?!66;M;:CO 1:?!66;":";:CO 7;
05 ?!66;S:S=S+1
06 IF S>59 THEN M=M+1:S=0
07 IF M>59 THEN H=H+1:M=0
08 IF H>23 THEN H=0
09 POS 11,0
10 IF T>2000 T=TEMP(0)
11 T=(4*T+TEMP(0))/5
12 CO 3:?!$59;T*5-10;"oC "
13 WAIT 10:POS 2,2:CO 7:GO 3
#
|
5 Eine Tanzende Linie mit Farbwechsel
PROGRAM: LINIEN
01 CO 3:A=10:B=10:C=27:D=39
02 BOX 0,0,45,59:I=1:J=0
03 E=-1:F=-1:G=-1:H=1
04 DRAW A,B,C,D
05 SYNC 2
06 CO 0
07 DRAW A,B,C,D
08 A=A+E:IF A=1 THEN E=-E
09 B=B+F:IF B=1 THEN F=-F
10 C=C+G:IF C=1 THEN G=-G
11 D=D+H:IF D=1 THEN H=-H
12 IF A=44 THEN E=-E
13 IF B=58 THEN F=-F
14 IF C=44 THEN G=-G
15 IF D=58 THEN H=-H
16 J=J+1:IF J%150=0 J=0:I=I+1
17 IF I=8 THEN I=1
18 CO I:GOTO 4
#
|
6 Ein einfaches Geschicklichkeitsspiel
PROGRAM: BALLGATE
01 SD 1,0,17:SD 2,0,22:CO 7
02 FB 0,0,1,59:FB 20,0,21,59
03 B=RND(7)+1:CO 5:PU 0
04 SYNC 3:CALL 19:M=COL(1)
05 IF (M>0)
06 IF M>0 NO 30:P=P+5
07 D=(D+1)%3:IF D>0 GOTO 3
08 C=(C+1)%12:E=RND(7)+1
09 CALL 14:GCHAR V,1,2
10 IF V=111 THEN P=P+5
11 POS 12,2:?"PUNKTE:";P
12 GOTO 3
13
14 IF C=6 POS B,29:EMIT 29
15 SY 1:HI 1:HI 2:LC 10
16 IF C=0 FB 0,58,19,59
17 PO B,29:EM 32:CO 7
18 FB 0,58,1,59:CO 5:RETURN
19 A=A-KEY(3):LI A,0,8
20 SS 1,A+1,2:SS 2,A+1,3:RE
#
|
Gesteuert wird mit den Cursortasten auf- und abwärts, bei einer Kollision mit einer
blauen Wand is Schluss.
7 Das altbekannte PONG
PROGRAM: PONG-01
01 SD 1,11,17:SD 2,11,18:CO 5
02 BOX 3,0,44,59:SD 3,0,29
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 THEN E=-E:GO 20
13 IF (X>1)
14 IF X=1 TH R=R+1:X=27:E=-1
15 IF X=28 TH L=L+1:X=2:E=1
16 PO 0,1:?L:PO 0,26:?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
#
|
Die Schläger werden mit den Ctrl- und Shifttasten links und rechts gesteuert.
8 Changelog
17.12.2006 Erste öffentliche Version
12.1.2007 Zweite Version, erweiterter Sprachumfang
4.3.2007 Bugfixes, erweiterter und geänderter Sprachumfang
created with latex2web.pl v0.61 © 2006-2010 Joerg Wolfram
|