Hardware
Bedienung
BASIC
Beispiele
|
AVR-ChipBasic8: Beispielprogramme
(c) 2006-2009 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, daß
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
PRG:Charset
01 CLS
02 bx 3,13,20,46
03 ?@0,7;"0123456789ABCDEF"
04 FOR Y=0 TO 7
05 ?@Y+2,5;%Y+48
06 FOR X=0 TO 15
07 ?@Y+2,X+7;%X+16*Y
08 NXT:NXT: GO 0
09
10
11
12
13
14
15
16
17
18
19
20
|
2 Ein kleines Oszilloskop
Ausgewertet wird der Analogeingang I/O 0, die Abtastung
erfolgt 50 mal pro Sekunde. Mit der Leertaste kann das Bild angehalten werden
PRG:OSZI-01
01 CLS:B=30:BX 3,3,42,56
02 ?@0,0;"CB8-Oszilloscope"
03 ?@20,0;"0";
04 ?@3,0;"5";
05 GO 17
06
07
08
09 IF KY(0)=32 GO 9
10 RET
11
12
13
14
15
16
17
18 A=AD(0)/7
19 DR 41-A,54,41-B,55:B=A
20 SUB 9:SY 1:SCR 3:GO 18
|
3 Das altbekannte PONG
PRG:Pong-01
01 CLS:S=5:T=5:X=2:Y=10
02 E=1:D=1:N=20:SUB 19
03 BX 3,0,43,59:CO 0
04 BX 4,2,41,3:S=S-KY(2)
05 BX 4,57,41,56:T=T-KY(3)
06 LIM S,5,36:LIM T,5,36
07 CO 1:DR T,56,T+5,56:Q=Q+1
08 DR S,3,S+5,3:?@Y,X;%17;
09 CO 0:SY 1:IF Q<3 GO 4
10 IF CF(0)=0 GO 12
11 IF(X=1)#(X=28) INV D:NO 9
12 IF(Y=2)#(Y=20) INV E:NO N
13 ? @Y,X;%15;:X=X+D:Y=Y+E
14 IF X=0 A=A+1:SUB 20:X=27
15 IF X=29 B=B+1:SUB 20:X=2
16 IF (A>14)#(B>14) END
17 ? @Y,X;%15;
18 Q=0:GO 4
19 IF RV(2)=0 X=27:D=255
20 NO 255:?@0,12;A,B:RET
|
Die Schläger werden mit den Ctrl- und Shifttasten links und rechts gesteuert.
4 Ein kleines Autorennspiel
PRG:Racer-01
01 CLS:BX 3,3,42,56:R=4
02 S=0:C=15:M=15:A=0:B=0
03 IF Q>2 S=RV(3)-1:Q=0
04 Q=Q+1:IF B>4 R=3
05 D=C+KY(5):LIM D,3,25
06 M=M+S:LIM M,8,21
07 ?@12,C;" ";@13,C;" ";
08 SCR 2:?@12,D;%20;%21;
09 K=CF(0):?@13,D;%22;%23;
10 FOR V=2 TO M-4
11 ?@2,V;%$7D;:NXT
12 FOR V=M+4 TO 27
13 ?@2,V;%$7D;:NXT
14 IF K>0 NO 255:GO 18
15 A=A+1:IF A=100 A=0:B=B+1
16 ?@0,0;"Score:";B;A
17 NO 1:C=D:SY R:GO 3
18 FB 4,0,19,59:CO 8
19 ? @3,1;"Game Over";
20 CO 1:A=KY(6):GO 1
|
Gesteuert wird mit den Cursortasten nach links und nach rechts. Bei GAME OVER
kann mit der Enter-taste neu gestartet werden.
created with latex2web.pl v0.61 © 2006-2010 Joerg Wolfram
|