10 REM Commando Jump
20 MODE 1 30 GOSUB 1000:REM Graphics init 35 GOSUB 1500:REM init 40 GOSUB 2000:REM Print wall 50 GOSUB 3000:REM Jump 60 GOSUB 7000:REM Endgame 70 IF a$="Y" THEN RUN 99 END 1000 REM Graphics init 1010 INK 0,23 1020 INK 1,6 1030 INK 2,0 1040 INK 3,8,23 1050 PAPER 0 1060 PEN 1 1100 REM Graphics Characters 1110 SYMBOL AFTER 240 1120 SYMBOL 240,0,&FF,&FF,&FF,&FF,&FF,&FF,&FF 1130 SYMBOL 241,&18,&18,&FF,&3C,&3C,&24,&24,&24 1499 RETURN 1500 REM init 1510 jump=1 1520 h=INT(10+(RND(1)*5)) 1530 SPEED KEY 1,200 1999 RETURN 2000 REM Print wall 2010 PEN 1 2020 CLS 2040 FOR i=18 TO 19-h STEP -1 2050 LOCATE 10,i 2060 PRINT CHR$(240); 2070 NEXT i 2080 LOCATE 10,18-h 2090 PAPER 1 2100 PRINT " "; 2110 PAPER 0 2999 RETURN 3000 REM Jump 3020 LOCATE 10,20 3030 PRINT "Jump ";JUMP 3040 LOCATE 13,18 3050 PRINT CHR$(241); 3060 GOSUB 4000:REM Countdown 3070 PEN 2 3080 IF t>=5 THEN GOTO 3320:REM next jump 3090 GOSUB 5000:REM Do jump 3100 j=i 3110 l=INT (i) 3120 t=(TIME-stime)/300 3130 IF t>=5 THEN GOTO 3250:REM Out of time 3140 LOCATE 5,23 3150 PRINT "Time left ";INT ((5-t)*10)/10;" " 3160 IF INKEY$="" THEN GOTO 3120:REM Check time 3170 LOCATE 13,INT (l) 3180 PRINT " "; 3190 j=j-0.25 3200 l=INT (j) 3210 LOCATE 13,l 3220 PRINT CHR$(241); 3230 IF l<=17-h THEN GOSUB 6000:RETURN:REM Man over wall 3240 GOTO 3120:REM Check time 3250 FOR i=l TO 18 3260 LOCATE 13,i-1 3270 PRINT " "; 3280 LOCATE 13,i 3290 PRINT CHR$(241); 3300 SOUND 1,200+i*6,5 3310 NEXT i 3315 FOR k=1 TO 1000:NEXT k 3320 jump=jump+1 3330 LOCATE 5,23 3340 PRINT SPC(15); 3350 IF jump<=10 THEN GOTO 3020:REM Jump loop 3999 RETURN 4000 REM Countdown 4005 WHILE INKEY$<>"":WEND 4010 PEN 3 4020 LOCATE 1,20 4030 PRINT SPC(5); 4040 LOCATE 1,20 4050 PRINT "Ready"; 4060 FOR i=1 TO RND(1)*1000+1000:NEXT i 4070 LOCATE 1,20 4080 PRINT "Steady"; 4090 FOR i=1 TO RND(1)*1000+1000:NEXT i 4100 LOCATE 1,20 4110 PRINT SPC(6); 4120 IF INKEY$<>"" THEN GOTO 4500:REM Cheat 4130 stime=TIME 4140 SOUND 1,100 4150 LOCATE 1,20 4160 PRINT "Go" 4170 IF INKEY$="" THEN GOTO 4170 4180 t=(TIME-stime)/300 4190 GOTO 4999:REM Skip cheat 4500 LOCATE 2,10 4510 PRINT "cheat" 4520 SOUND 1,1000 4530 FOR k=1 TO 2000:NEXT k 4540 LOCATE 2,10 4550 PRINT SPC(5); 4560 t=(TIME-stime)/300 4999 RETURN 5000 REM Jump 5010 FOR i=18 TO 18-h+INT (t*28) STEP -1 5020 LOCATE 13,i 5030 PRINT " "; 5040 LOCATE 13,i-1 5050 PRINT CHR$(241); 5060 SOUND 1,119+i*6,10 5070 FOR k=1 TO 20:NEXT k 5080 NEXT i 5090 SOUND 129,0 5099 RETURN 6000 REM Man over wall 6010 FOR i=13 TO 5 STEP -1 6020 LOCATE i+1,l 6030 PRINT " "; 6040 LOCATE i,l 6050 PRINT CHR$(241); 6060 FOR k=1 TO 100:NEXT k 6070 NEXT i 6080 FOR i=l TO 18 6090 LOCATE 5,i-1 6100 PRINT " "; 6110 LOCATE 5,i 6120 PRINT CHR$(241); 6130 SOUND 1,200+i*6 6140 IF (SQ(1) AND 7)<>4 THEN GOTO 6140 6150 NEXT i 6999 RETURN 7000 REM Endgame 7010 IF jump<=10 THEN GOTO 7500:REM Successful jump 7020 LOCATE 1,24 7030 PRINT "You failed" 7040 GOTO 7800:REM Skip 7500 LOCATE 1,24 7510 PRINT "You took ";Jump;" JUMP"; 7515 IF jump>1 THEN PRINT "S"; 7520 PRINT " to clear the wall" 7800 WHILE INKEY$<>"":WEND 7810 SPEED KEY 30,2 7820 INPUT "Another Game ";a$ 7830 a$=LEFT$(a$,1) 7840 a$=UPPER$(a$) 7850 PEN 1 7999 RETURN |