8-Bit Software Online Conversion
                
             
        
        
    
Orbit Game - Listing
    
       10REM Program ORBIT                  
   20REM Version B2.0                   
   30REM Author  Cliff Blake            
   40REM BEEBUG  March 1993             
   50REM Program subject to copyright   
   60:                                  
  100MODE7:*FX11                        
  110PROCinfo:g%=GET                    
  120MODE0:VDU5                         
  130REPEAT                             
  140quit%=FALSE                        
  150CLS:PROCplanet:PROCspaceship       
  160REPEAT                             
  170rerun%=FALSE                       
  180PROCmove:PROCaltitude              
  190PROCgravity:PROCthrust             
  200PROCflags                          
  210UNTIL rerun%                       
  220UNTIL quit%                        
  230VDU4:*FX12                         
  240CLS:*FX21                          
  250END                                
  260:                                  
 1000DEF PROCmove                       
 1010MOVE Xs,Ys:PRINT CHR$64            
 1020ENDPROC                            
 1030:                                  
 1040DEF PROCaltitude                   
 1050Xd=640-Xs:Yd=512-Ys                
 1060Rds=Xd*Xd+Yd*Yd:Rd=SQR(Rds)        
 1070alt%=INT(.2*Rd)                    
 1080VDU4:PRINT TAB(55,2)"ALTITUDE: ";al
t%;",000 km";SPC3:VDU5                  
 1090ENDPROC                            
 1100:                                  
 1110DEF PROCgravity                    
 1120Xg=20000*Xd/Rd/Rds:Yg=20000*Yd/Rd/R
ds                                      
 1130Xv=Xv+Xg:Yv=Yv+Yg                  
 1140Rvs=Xv*Xv+Yv*Yv:Rv=SQR(Rvs)        
 1150vel%=INT(.85*Rv)                   
 1160VDU4:PRINT TAB(55,4)"VELOCITY: ";ve
l%;",000 km/h";SPC3:VDU5                
 1170ENDPROC                            
 1180:                                  
 1190DEF PROCthrust                     
 1200Xt=0.05*Xv/Rv:Yt=0.05*Yv/Rv        
 1210IF INKEY(-103) THEN Xv=Xv-Xt:Yv=Yv-
Yt:SOUND0,-7,6,4                        
 1220IF INKEY(-104) THEN Xv=Xv+Xt:Yv=Yv+
Yt:SOUND0,-7,6,4                        
 1230Xs=Xs+Xv:Ys=Ys+Yv                  
 1240ENDPROC                            
 1250:                                  
 1260DEF PROCflags                      
 1270IF INKEY(-52) THEN rerun%=TRUE     
 1280IF INKEY(-17) THEN rerun%=TRUE:quit
%=TRUE                                  
 1290ENDPROC                            
 1300:                                  
 1310DEF PROCplanet                     
 1320Ca=COS(PI/40):Sa=SIN(PI/40)        
 1330CA=1:SA=0:MOVE 640+40,512          
 1340FOR A=1 TO 80                      
 1350Cp=CA:Sp=SA                        
 1360CA=Cp*Ca-Sp*Sa:SA=Sp*Ca+Cp*Sa      
 1370x=40*CA+640:y=40*SA+512            
 1380MOVE 640,512:PLOT 85,x,y           
 1390NEXT A                             
 1400ENDPROC                            
 1410:                                  
 1420DEF PROCspaceship                  
 1430VDU23,64,192,0,0,0,0,0,0,0         
 1440Xs=640:Ys=900                      
 1450Xv=3.5:Yv=0                        
 1460ENDPROC                            
 1470:                                  
 1480DEF PROCinfo                       
 1490y$=CHR$131:c$=CHR$134:w$=CHR$135   
 1500PRINT TAB(10,2)y$+"SATELLITE ORBIT"
                                        
 1510PRINT'c$+"A spaceship is in ellipti
cal orbit"                              
 1520PRINT c$+"around a planet. Try usin
g its"                                  
 1530PRINT c$+"propulsion and retro brak
ing units"                              
 1540PRINT c$+"to make the orbit circula
r."                                     
 1550PRINT'w$+"Gently holding down the <
 key will"                              
 1560PRINT w$+"fire the retro unit to sl
ow the ship."                           
 1570PRINT'w$+"Gently holding down the >
 key will"                              
 1580PRINT w$+"fire the drive to acceler
ate the ship."'                         
 1590PRINT c$+"The smaller the variation
s in"                                   
 1600PRINT c$+"altitude and velocity, th
e more"                                 
 1610PRINT c$+"circular the orbit."     
 1620PRINT'w$+"Press any key to start." 
 1630PRINT'w$+"Press R to clear the scre
en & Repeat."                           
 1640PRINT'w$+"Press Q to Quit."        
 1650ENDPROC