dos33fsprogs/ksp/applesoft/flight.bas
2016-06-20 23:04:32 -04:00

108 lines
3.5 KiB
QBasic

5 LN=0
10 CQ = 0
7000 HIMEM:7925
7020 POKE 232,245:POKE 233,30
7030 FOR L=7925 TO 8175: READ B:POKE L,B:NEXT L
7032 HGR:ROT=0:SCALE=2:H=0:RA=0
7035 PRINT CHR$(4);"BLOAD LAUNCHPAD.HGR,A$2000"
7036 HCOLOR=1:HPLOT 1,80 TO 132,80: HPLOT 148,80 TO 247,80
7037 HCOLOR=3:HPLOT 110,110 TO 110,60:HPLOT TO 130,60: HPLOT 110,70 TO 130,70
7039 TH=0:S=2
7040 XDRAW 1+(S*2)+TH AT 140,80
7045 IF RA>1800 THEN GOTO 7053
7045 HCOLOR=0:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H
7047 H=RA/20:HCOLOR=1:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H
7053 IF RA<10000 AND CQ<>0 THEN GOSUB 7600
7054 IF RA<10000 GOTO 7058
7055 IF RA>10000 AND CQ<>1 THEN GOSUB 7700
7058 GET A$
7060 IF A$="Q" THEN END
7061 XDRAW 1+(S*2)+TH AT 140,80
7062 IF A$="A" THEN R=R-8
7063 IF A$="D" THEN R=R+8
7064 IF A$="C" THEN GOTO 8000
7065 IF A$="Z" THEN TH=1
7066 IF A$="V" THEN RA=RA+100
7067 IF A$="X" THEN TH=0
7068 IF A$=" " AND LN=1 THEN S=S-1:XX=PEEK(-16336)
7069 IF A$=" " AND LN=0 THEN GOSUB 7500
7070 IF A$="E" THEN GOSUB 8100
7073 IF R=64 THEN R=0
7074 IF R=-8 THEN R=56
7075 IF S<0 THEN S=0
7080 ROT=R
7082 VTAB 21:PRINT "RA=";RA
7085 GOTO 7040
7090 END
7200 DATA 6,0,14,0,42,0,77,0,113,0
7201 DATA 156,0,200,0,219,36,36,44,44,44
7202 DATA 53,53,53,54,54,54,54,63,63,45
7203 DATA 46,46,62,63,63,39,37,37,63,36
7204 DATA 36,0,219,36,36,44,44,44,53,53
7205 DATA 53,54,54,54,54,63,63,45,46,46
7206 DATA 62,63,127,73,62,54,62,39,36,39
7207 DATA 39,37,37,63,36,36,0,219,36,36
7208 DATA 36,36,44,44,44,53,53,53,54,54
7209 DATA 54,54,54,54,54,54,63,63,45,46
7210 DATA 46,62,63,63,39,37,37,63,36,36
7211 DATA 36,36,0,219,36,36,36,36,44,44
7212 DATA 44,53,53,53,54,54,54,54,54,54
7213 DATA 54,54,63,63,45,46,46,62,63,127
7214 DATA 73,62,54,62,39,36,39,39,37,37
7215 DATA 63,36,36,36,36,0,219,36,36,36
7216 DATA 36,36,36,44,44,44,53,53,53,54
7217 DATA 54,54,54,54,54,54,54,54,54,54
7218 DATA 54,63,63,45,46,46,62,63,63,39
7219 DATA 37,37,63,36,36,36,36,36,36,0
7220 DATA 219,36,36,36,36,36,36,44,44,44
7221 DATA 53,53,53,54,54,54,54,54,54,54
7222 DATA 54,54,54,54,54,63,63,45,46,46
7223 DATA 62,63,127,73,62,54,62,39,36,39
7224 DATA 39,37,37,63,36,36,36,36,36,36
7225 DATA 0
7500 REM *** LAUNCH ***
7510 HCOLOR=0:HPLOT 110,110 TO 110,60:HPLOT TO 130,60: HPLOT 110,70 TO 130,70
7520 XX=PEEK(-16336)
7530 TH=1:LN=1
7535 GOSUB 8220
7540 RETURN
7600 REM *** GROUND ***
7610 PRINT CHR$(4);"BLOAD LAUNCHPAD.HGR,A$2000"
7615 XDRAW 1+(S*2)+TH AT 140,80
7620 CQ=0
7650 RETURN
7700 REM *** SPACE_UP ***
7710 PRINT CHR$(4);"BLOAD ORBIT_TOP.HGR,A$2000"
7715 XDRAW 1+(S*2)+TH AT 140,80
7720 CQ=1
7750 RETURN
8000 REM *** CRASH ***
8010 SCALE=3
8015 GOSUB 8200
8020 FOR I=0 TO 64 STEP 8: ROT=I:XDRAW 1+(S*2)+TH AT 140,80: XX=PEEK(-16336):NEXT I
8030 FOR I=1 TO 50
8040 X=INT(RND(1)*80)+1:Y=INT(RND(1)*80)+1
8050 C=INT(RND(1)*7)+1:HCOLOR=C
8060 HPLOT 140,80 TO 100+X,40+Y
8070 XX=PEEK(-16336)
8080 NEXT I
8090 END
8100 REM *** KERBAL EYES ***
8105 HCOLOR=3:HPLOT 258,150 TO 263,150:HPLOT 265,150 TO 270,150
8110 KE=INT(RND(1)*3)
8120 HCOLOR=0:HPLOT 258+(2*KE),150 TO 259+(2*KE),150
8125 HPLOT 265+(2*KE),150 TO 266+(2*KE),150
8130 RETURN
8200 REM *** KERBAL FROWN ***
8205 HCOLOR=1:HPLOT 259,155 TO 271,155:HPLOT 259,156 TO 271,156
8206 HCOLOR=0:HPLOT 261,155 TO 269,155:HPLOT 259,156 TO 271,156
8207 RETURN
8210 REM *** KERBAL NEUTRAL ***
8215 HCOLOR=1:HPLOT 259,155 TO 271,155:HPLOT 259,156 TO 271,156
8216 HCOLOR=0:HPLOT 259,155 TO 271,155
8217 RETURN
8220 REM *** KERBAL SMILE ***
8225 HCOLOR=1:HPLOT 259,155 TO 271,155:HPLOT 259,156 TO 271,156
8226 HCOLOR=0:HPLOT 259,155 TO 271,155:HPLOT 261,156 TO 269,156
8227 RETURN