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