diff --git a/ksp/TODO b/ksp/TODO index 2118016d..c59f9e88 100644 --- a/ksp/TODO +++ b/ksp/TODO @@ -4,3 +4,4 @@ stars in background? EVA? auto-generated shape tabe for ship based on VAB choices more expressive kerbals +atmospheric drag diff --git a/ksp/contract.bas b/ksp/contract.bas index eba97f9c..662d8487 100644 --- a/ksp/contract.bas +++ b/ksp/contract.bas @@ -33,7 +33,7 @@ 9240 PRINT " A,D - STEER SHIP RIGHT/LEFT" 9250 PRINT " Z - START ENGINES" 9260 PRINT " X - CUT ENGINES" -9270 PRINT " SPACE - STAGE" +9270 PRINT " SPACE - LAUNCH,STAGE" 9275 PRINT " M - SWITCH TO ORBITAL VIEW" 9280 PRINT " ESC - QUIT" 9300 GET A$ diff --git a/ksp/flight.bas b/ksp/flight.bas index 7d194890..03553986 100644 --- a/ksp/flight.bas +++ b/ksp/flight.bas @@ -1,12 +1,18 @@ +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=80:RA=0 +7032 HGR:ROT=0:SCALE=2:H=0:RA=0 7035 PRINT CHR$(4);"BLOAD LAUNCHPAD.HGR,A$2000" -7036 HCOLOR=1:HPLOT 1,H TO 279,H +7036 HCOLOR=1:HPLOT 1,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 HCOLOR=0:HPLOT 1,80+H TO 247,80+H:H=RA/20:HCOLOR=1:HPLOT 1,80+H TO 247,80+H +7046 IF RA<10000 AND CQ<>0 THEN GOSUB 7600 +7047 IF RA<10000 GOTO 7050 +7048 IF RA>10000 AND CQ<>1 THEN GOSUB 7700 7050 GET A$ 7060 IF A$="Q" THEN END 7061 XDRAW 1+(S*2)+TH AT 140,80 @@ -16,11 +22,14 @@ 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$=" " THEN S=S-1:XX=PEEK(-16336) -7070 IF R=64 THEN R=0 -7072 IF R=-8 THEN R=56 +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 @@ -49,8 +58,23 @@ 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" +7620 CQ=0 +7650 RETURN +7700 REM *** SPACE_UP *** +7710 PRINT CHR$(4);"BLOAD ORBIT_TOP.HGR,A$2000" +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 @@ -58,3 +82,22 @@ 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 diff --git a/ksp/launchpad.pcx b/ksp/launchpad.pcx index 90d32e4a..251b403a 100644 Binary files a/ksp/launchpad.pcx and b/ksp/launchpad.pcx differ diff --git a/ksp/orbit_top.pcx b/ksp/orbit_top.pcx index 119608dc..94130e9c 100644 Binary files a/ksp/orbit_top.pcx and b/ksp/orbit_top.pcx differ