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