10 REM MOONLANDER.
20 REM à ROBERT ERSKINE. 25 REM PAN BOOKS 1984 30 MODE 1:BORDER 0:INK 0,0:INK 1,24:INK 2,20:INK 3,6:WINDOW #1,1,40,1,25:PAPER # 1,0:PEN #1,1:CLS #1 40 GOSUB 460 50 GOSUB 540 60 WINDOW #0,5,36,1,25:PAPER #0,0:PEN #0,1:CLS #0 70 FOR X=1 TO 75:PLOT 64+INT(RND*500),400-INT(RND*200),2:NEXT 80 IF E=0 THEN 140 90 M=M1:M1=M-F1 100 H1=H:H=(H+V)-0.81 110 V=V+((T/F1)*(LOG(M/M1)))-1.62 120 F=F-F1 130 GOTO 170 140 M1=M: 150 H1=H:H=(H+V)-0.81 160 V=V-1.62 170 COL1=COL 180 IF COL>0 AND RND>0.5 THEN COL=COL-1 190 IF COL<31 AND RND>0.5 THEN COL=COL+1 200 PEN 3:LOCATE 1,23:PRINT"Height";INT (H);" ":PEN 1 210 PEN 2:LOCATE 21,23:PRINT"Velocity";INT (V);" ":PEN 1 220 LOCATE 1,24:PRINT"Fuel ";F;" " 230 SOUND 1,60,2 240 IF INKEY(0)=0 THEN E=0 250 IF INKEY(2)=0 THEN E=1 260 IF INKEY(8)=0 THEN COL=COL+1*(COL>1) 270 IF INKEY(1)=0 THEN COL=COL-1*(COL<30) 280 IF H>1950 THEN H1=H 290 IF H>2000 OR H<1 THEN LOCATE 1,1:PRINT CHR$(18);:GOTO 320 300 LOCATE COL1+1,21-(H1/100):PRINT" ":LOCATE COL+1,21-(H/100):PRINT CHR$(231); 310 IF E=1 THEN LOCATE COL1+1,22-(H1/100):PRINT" ":LOCATE COL+1,22-(H/100):PRINT CHR$(232);:LOCATE COL+1,22-(H/100):PRINT" "; 320 LOCATE 1,21:PRINT STRING$(32,45):LOCATE 16,21:PEN 3:PRINT"_":PEN 1 330 IF F=0 OR H<=0 THEN 350 340 GOTO 80 350 IF F=0 THEN LOCATE 11,11:PRINT CHR$(24);"OUT OF FUEL";CHR$(24); 360 IF H<=0 AND V<-5 THEN LOCATE 9,12:PEN 2:PRINT CHR$(24);"YOU HAVE CRASHED";CHR$(24);:PEN 1:GOTO 430 370 IF H<=0 AND V>-6 THEN LOCATE 9,12:PEN 3:PRINT CHR$(24);"YOU HAVE LANDED";CHR$(24);:PEN 1:LOCATE COL1+1,(20-(H1/100))+1:PRINT " ":LOCATE COL+1,21:PRINT CHR$(231); 380 IF H<=0 AND V>-6 AND COL =15 THEN LOCATE 6,13:PRINT CHR$(24);"IN THE CORRECT PLACE";CHR$(24); 390 IF H<=0 AND V>-6 AND COL <>15 THEN LOCATE 7,13:PEN 2:PRINT CHR$(24);"IN THE WRONG PLACE";CHR$(24):PEN 1 400 LOCATE 5,19:PEN 3:PRINT"PRESS ANY KEY TO RESTART":PEN 1 410 IF INKEY$<>"" THEN 410 420 IF INKEY$="" THEN 420 ELSE CLS:GOTO 50 430 LOCATE COL1+1,(20-(H1/100))+1:PRINT" ":LOCATE COL1+1,21:PEN 3:PRINT CHR$(233);:PEN 1 440 FOR X=1 TO 10:SOUND 2,(X*3),3:NEXT 450 GOTO 400 460 REM 470 PRINT" MOON LANDER " 480 PRINT:PRINT:PRINT:PRINT"This is a real-time moon lander game in which you must land the lunar module on the small purple land pad. You must land in the correct place at a rate of descent not faster than -5. " 490 PRINT:PRINT:PRINT"Use the arrow keys to move left right Use the UP arrow key to turn the motor off and the down arrow key to turn it on" 500 PRINT:PRINT:PRINT" PRESS ANY KEY TO START" 510 IF INKEY$="" THEN 510 520 CLS 530 RETURN 540 H=2000:V=-20:M=1378:M1=M:T=4800:F1=2:F=378:E=1:COL=15:Y=8 550 SYMBOL AFTER 230 560 SYMBOL 231,60,126,219,255,255,126,189,129 570 SYMBOL 232,24,60,60,60,24,24,0 580 SYMBOL 233,0,0,0,0,24,60,126,255 590 RETURN |