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