From 416db063a6a8a821b17ad32b00f4f826c03cfa86 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 26 May 2016 14:12:30 -0400 Subject: [PATCH] ksp: space! --- ksp/TODO | 1 + ksp/contract.bas | 2 +- ksp/flight.bas | 53 +++++++++++++++++++++++++++++++++++++++++----- ksp/launchpad.pcx | Bin 2264 -> 2199 bytes ksp/orbit_top.pcx | Bin 4986 -> 5176 bytes 5 files changed, 50 insertions(+), 6 deletions(-) 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 90d32e4a76dcc9fbaff4c10d41647ada10d70e61..251b403ae733628f6748af0a09c530659e38e62e 100644 GIT binary patch literal 2199 zcmd;LW#nK0f^LTW3_6TDj372ifU$>xbWI2w{xke%I0wX|Y$zm1_R4~mUF-`Aul`!UKbCrfc*dezx1qs(x(~EMpIJ2B8u8k)@TR} Hl@I^`%fcrE literal 2264 zcmeHHOA5k341FOZh&RK>K>zakm3P917z=-@8g zK`M_@{L_S#-0g>#`lurxx))C#mU-tAFpT0$+>h;OfnlK!S)QX6jC&1ED4e;9xWu%S c!)}+nux6HRuh~h?t1%b4ztzb~2*iTG4RpXOk^lez diff --git a/ksp/orbit_top.pcx b/ksp/orbit_top.pcx index 119608dc07cf284952da53b6f5babacb7dc93266..94130e9c50d7a014a201667859cdb855ee8e29f4 100644 GIT binary patch delta 385 zcmZ9IF-rqM5QX0{v!{-bL#$P74h2Q*1TB<+0UNQiwDTwUJ9Jxrg9tVjR-42SPq_;i z5DWpaP^+XC!Z~-rECgnj`5uqAJNp~ouiZ9icZ7^{jKC>!Bp~-+-(ZJCIY$$wPKIFg z(D@4tQmY-(vh)i;J5Y>xMLs=l@v6LgJmGk=H$e>HG}}11BK1SFb!fnJCl-6f>rtn~ zpiV{U9S^(_y-sOAytj~zH39`it1~v+(aV(c)Kn!YwerE&W=B$wT~m{1k4xcUr9BR4 zK@-upmvc3F@{XHuUz#2VVYTvD{2HO9euthtlLJ;MwHGr-x@*R7b|A-hi?iqRf7&Kl A5&!@I delta 162 zcmdm?@k?#P5$1^tcoa@EFdu@U9}NE)jxw+wW@cq(UyEndKPYO;%@-XZ$=l zfJKq<_2g<6HO4oSSF=bmKAn7yMU(O2WHweE#wU{