100 REM LAND IT! 110 CLEAR : HISCR=0 120 CLS : WAIT 0:RANDOMIZE : FLAG=0:REM FLAG IS FOR 2ND ROUND. 0 MEANS 1ST ROUND 130 RESTORE 140 LOCATE 3,0:PRINT "LAND IT! by jsurfer on 06/25/2007" 150 LOCATE 3,1:PRINT "http://home.comcast.net/~cheezsj/"; 160 LOCATE 11,3:PRINT "[S]tart [Q]uit"; 170 ZZ$=INKEY$ : 180 IF ZZ$="S" OR ZZ$="s" THEN *INITIALIZEALL 190 IF ZZ$="Q" OR ZZ$="q" THEN 850 200 GOTO 170 210 *INITIALIZEALL 220 LASTSTAGE=9 230 SCORE=0 240 WIDTHAIRPLANE=5 250 STAGE=0 260 *SET 270 GOSUB *STAGESET 280 *DRAW 290 CLS 300 LOCATE 23,0:PRINT "*** LAND IT! ***" 310 LOCATE 23,1: PRINT USING "STG:##";STAGE;:PRINT USING " SCR:####";SCORE; 320 LOCATE 23, 3:PRINT "MUST BE <= ";:PRINT SHOUGEKI 330 LINE (RWAYX, RWAYY)-(RWAYX+LRWAY, RWAYY) 340 LINE (RWAYX, RWAYY)-(RWAYX, 31) 350 IF YMIN=0 LINE (RWAYX+LRWAY, RWAYY)-(RWAYX+LRWAY, 0) ELSE LINE (RWAYX+LRWAY, RWAYY)-(RWAYX+LRWAY, YMIN) 360 LINE (BONUSSPOTX-WIDTHBONUSSPOT/2, RWAYY+1)-(BONUSSPOTX+WIDTHBONUSSPOT/2, RWAYY+1) 370 LINE (BONUSSPOTX-WIDTHBONUSSPOT/2+1, RWAYY+2)-(BONUSSPOTX+WIDTHBONUSSPOT/2-1, RWAYY+2) 380 IF YMIN<>0 THEN LINE (STARTCEILINGX, YMIN)-(RWAYX+LRWAY, YMIN) 390 PSET (X,Y):PSET (X+1,Y) 400 LOCATE 2,0:WAIT 15:PRINT " ";:PRINT " "; 410 LOCATE 2,0:PRINT "R"; 420 PRINT "e"; 430 PRINT "a"; 440 PRINT "d"; 450 PRINT "y"; 460 PRINT "."; 470 PRINT "."; 480 WAIT 30:PRINT "." 490 WAIT 30:LOCATE 2,0:PRINT "Go! ": WAIT 0 500 IF YMIN<>0 THEN LINE (STARTCEILINGX, YMIN)-(STARTCEILINGX, 0) 510 LOCATE 0,0:PRINT " " 520 *LOOP 530 TEMPLAFIVE=LA*5:TEMPAFIVE=A*5 540 IF LDIRECTION=0 THEN LINE (LX-2,LY+TEMPLAFIVE)-(LX+2, LY-TEMPLAFIVE),X 550 IF LDIRECTION=1 THEN LINE (LX-2,LY-TEMPLAFIVE)-(LX+2, LY+TEMPLAFIVE),X 560 IF DIRECTION=0 THEN LINE (X-2,Y+TEMPAFIVE)-(X+2, Y-TEMPAFIVE):LX=X:LDIRECTION=DIRECTION:LY=Y:LA=A 570 IF DIRECTION=1 THEN LINE (X-2,Y-TEMPAFIVE)-(X+2, Y+TEMPAFIVE):LX=X:LDIRECTION=DIRECTION:LY=Y:LA=A 580 REM PSET (X-2,Y-A*2): PSET(X+2, Y+A*2) 590 IF INKEY$ <>"" THEN YY=YY-A:DIRECTION=1 ELSE YY=YY+A:DIRECTION=0 600 Y=Y+YY 610 REM IF Y<0 THEN Y=0:YY=0 ELSE IF Y>31 THEN Y=31:YY=0 620 IF Y<0 THEN GAMEOVER=1 630 IF Y>30 THEN GAMEOVER=1 640 IF Y>RWAYY AND X>RWAYX THEN GAMEOVER=1 650 IF X>RWAYX+LRWAY THEN GAMEOVER=1 660 IF X>=STARTCEILINGX AND Y<=YMIN THEN GAMEOVER=1 670 IF Y>RWAYY-1 AND YRWAYX AND X50 THEN G= ABS (25-Y) 700 X=X+XSPEED 710 IF GAMEOVER=0 AND SUCCESS=0 AND X<145 THEN *LOOP 720 IF GAMEOVER=1 THEN LOCATE 1, 0: GOSUB *CRASH:PRINT "CRASHED! ":IF FLAG2=1 THEN PRINT " HIGHEST SCORE!!!" 730 IF SUCCESS=1 THEN GOSUB *SCORECALC 740 REM IF X>=145 THEN LOCATE 10, 3: PRINT "OVER!" 750 REM LOCATE 0,1:PRINT "PUSH SPACE TO END,":WAIT 60 760 REM LOCATE 5,2:PRINT "OTHER TO CONTINUE.":WAIT 0 770 IF GAMEOVER=1 THEN LOCATE 1,2:PRINT "GAME OVER":LOCATE 1,3:PRINT "CONTINUE(Y/N)?" ELSE LOCATE 1,3:PRINT "CONTINUE?(Y)" 780 Z$= INKEY$ :IF Z$="" THEN 780 790 REM LINE (0,0)-(143,31),X,BF 800 REM LINE (0,0)-(143,31),R,BF 810 IF GAMEOVER=0 AND (Z$="Y" OR Z$="y") THEN *SET 820 IF GAMEOVER=1 AND (Z$="Y" OR Z$="y") THEN 120 830 IF GAMEOVER=1 AND (Z$="N" OR Z$="n") THEN 850 840 GOTO 780 850 CLS :PRINT "HIGHEST SCORE FOR THIS SESSION IS:";:PRINT HISCR:PRINT "HAVE A NICE DAY!" 860 END 870 *SCORECALC 880 SCORE=SCORE+1 890 LOCATE 1, 0: PRINT "SUCCESS! +1 "; 900 X=X-0.5:YYYYY=1 910 IF X+WIDTHAIRPLANE/2>=BONUSSPOTX-WIDTHBONUSSPOT/2 AND X<=BONUSSPOTX+WIDTHBONUSSPOT/2 THEN LOCATE 1, 1:PRINT "ACCURACY BONUS! +5";:SCORE=SCORE+5:YYYYY=YYYYY+1 920 IF X>=RWAYX AND X<=RWAYX+WIDTHAIRPLANE/2 THEN LOCATE 1, YYYYY:PRINT "EDGE BONUS! +4";:SCORE=SCORE+4 930 IF X<=RWAYX+LRWAY AND X>=RWAYX+LRWAY-WIDTHAIRPLANE THEN LOCATE 1, YYYYY:PRINT "EDGE BONUS! +4";:SCORE=SCORE+4 940 RETURN 950 *STAGESET 960 STAGE=STAGE+1 970 IF STAGE=LASTSTAGE+1 OR STAGE=LASTSTAGE*2+1 OR STAGE=LASTSTAGE*3+1 OR STAGE=LASTSTAGE*4+1OR STAGE=LASTSTAGE*5+1THEN RESTORE :FLAG=1 980 IF STAGE=LASTSTAGE*6+1 OR STAGE=LASTSTAGE*7+1 OR STAGE=LASTSTAGE*8+1 OR STAGE=LASTSTAGE*9+1OR STAGE=LASTSTAGE*10+1THEN RESTORE :FLAG=1 990 READ Y, YY, X, A, DIRECTION, RWAYX, RWAYY, LRWAY, BSPOTC, DELTAFROMRWAYX, WIDTHBONUSSPOT, YMIN, STARTCEILINGX, XSPEED,SHOUGEKI 1000 IF FLAG=1 THEN A=0.1:XSPEED=1:SHOUGEKI=0.25 1010 A=A+0.005 1020 REM A=KASOKUDO 1030 REM DIRECTION=0 MEANS DOWNWARD 1040 LX=X:LDIRECTION=DIRECTION:LY=Y:LA=A 1050 IF BSPOTC=0 THEN CENTR=LRWAY/2+RWAYX:BONUSSPOTX=CENTR 1060 IF BSPOTC<>0 THEN BONUSSPOTX=RWAYX+DELTAFROMRWAYX 1070 GAMEOVER=0: SUCCESS=0 1080 RETURN 1090 *CRASH 1100 FOR I=0 TO 10:FOR J=0 TO 4:LINE (X-J,Y-J)-(X+J,Y+J), X, B: NEXT : NEXT 1110 FLAG2=0 1120 IF SCORE>HISCR THEN HISCR=SCORE:FLAG2=1 1130 RETURN 1140 REM 1150 REM STAGE DATA 1160 REM 1170 REM Y, YY, X, A(A minus 0.005), DIRECTION, RWAYX, RWAYY, LRWAY, 1180 REM BONUSSPOTX CENTER OR NOT (0 means CENTER and 1 means not CENTER), IF NOT CENTER HOW FAR FROM RWAYX, 1190 REM WIDTHBONUSSPOT, YMIN (This is the limit in the sky or ceiling. ), STARTCEILINGX, XSPEED, SHOUGEKI(>0.35 EASY) 1200 REM 1210 REM STAGE 01 FINALIZED! 1220 DATA 5, 0, 0, 0.05, 0, 50, 28, 80 1230 DATA 0, 0 1240 DATA 20, 0, 0, 0.6, 0.35 1250 REM STAGE 02 FINALIZED! 1260 DATA 5, 0, 0, 0.05, 0, 50, 28, 80 1270 DATA 0, 0 1280 DATA 20, 10, 80, 0.6, 0.35 1290 REM STAGE 03 FINALIZED! 1300 DATA 15, 0, 0, 0.05, 0, 50, 28, 80 1310 DATA 1, 20 1320 DATA 20, 0, 0, 0.7, 0.35 1330 REM STAGE 04 FINALIZED! 1340 DATA 5, 0, 0, 0.07, 0, 50, 10, 40 1350 DATA 0, 0 1360 DATA 10, 0, 0, 0.7, 0.35 1370 REM STAGE 05 FINALIZED! 1380 DATA 5, 0, 0, 0.07, 0, 20, 25, 50 1390 DATA 0, 0 1400 DATA 10, 0, 0, 0.8, 0.25 1410 REM STAGE 06 FINALIZED! 1420 DATA 20, 0, 0, 0.07, 0, 50, 10, 80 1430 DATA 1, 60 1440 DATA 10, 0, 0, 0.8, 0.25 1450 REM STAGE 07 FINALIZED! 1460 DATA 10, 0, 0, 0.1, 0, 100, 10, 30 1470 DATA 0, 0 1480 DATA 10, 0, 0, 0.9, 0.25 1490 REM STAGE 08 FINALIZED! 1500 DATA 10, 0, 0, 0.1, 0, 10, 20, 110 1510 DATA 0, 0 1520 DATA 10, 10, 10, 0.9, 0.25 1530 REM STAGE 09 FINALIZED! 1540 DATA 22, 0, 0, 0.1, 0, 10, 28, 120 1550 DATA 1, 100 1560 DATA 10, 22, 10, 1, 0.25