ksp: running out of space, loading high now

This commit is contained in:
Vince Weaver 2016-05-27 01:12:16 -04:00
parent b42866206a
commit 80deee7f36
3 changed files with 65 additions and 37 deletions

View File

@ -28,12 +28,19 @@ PHYSICS.BAS: physics.bas
VAB.BAS: vab.bas
$(TXT2BAS) < vab.bas > VAB.BAS
LOAD_DEMO.BAS: load_demo.bas
$(TXT2BAS) < load_demo.bas > LOAD_DEMO.BAS
ROCKET.SHAPE: ship2.table
../hgr-utils/shape_table -b < ship2.table > ROCKET.SHAPE
ksp.dsk: ACMPLX.BAS \
CONTRACT.BAS \
FLIGHT.BAS \
KSP.BAS \
ROCKET.SHAPE \
LOAD_DEMO.BAS \
LAUNCH.BAS GLOBE.HGR LAUNCHPAD.HGR ORBIT_TOP.HGR ORBIT_RIGHT.HGR \
LOADING.BAS LOADING.HGR SQUAD.HGR TITLE.HGR \
PHYSICS.BAS \
@ -54,6 +61,8 @@ ksp.dsk: ACMPLX.BAS \
$(DOS33) -y ksp.dsk SAVE A FLIGHT.BAS
$(DOS33) -y ksp.dsk SAVE A CONTRACT.BAS
$(DOS33) -y ksp.dsk SAVE A KSP.BAS
$(DOS33) -y ksp.dsk SAVE A LOAD_DEMO.BAS
$(DOS33) -y ksp.dsk SAVE B ROCKET.SHAPE
LAUNCHPAD.HGR: launchpad.pcx

View File

@ -1,15 +1,13 @@
7 TEXT:HOME
10 REM PRINT CHR$(4);"BLOAD GLOBE.HGR,A$2000"
20 AN$="ZURGTROYD":S=3
95 G=-9.8
20 AN$="ZURGTROYD":SS=3
100 EN(1)=1:ST(1)=1:FT(1)=1
101 EN(2)=2:ST(2)=2:FT(2)=1
102 EN(3)=3:ST(3)=3:FT(3)=1
103 LN=0:CQ=0:OM=0
110 HIMEM:7925
120 POKE 232,245:POKE 233,30
130 FOR L=7925 TO 8175: READ B:POKE L,B:NEXT L
125 POKE 232,0:POKE 233,16
127 PRINT CHR$(4);"BLOAD ROCKET.SHAPE,A$1000"
130 REM FOR L=7925 TO 8175: READ B:POKE L,B:NEXT L
1000 PRINT "ROCKET SUMMARY:":PRINT
1002 G=-9.8:LN=0:CQ=0:OM=0:S=SS
1005 FOR I=1 TO S
1010 EM(I)=EN(I)*1.5+ST(I)*FT(I)*0.5
1012 IF I=1 THEN EM(I)=EM(I)+1.0
@ -32,7 +30,7 @@
2000 NEXT I
2999 GET A$
3000 AN=0:GX=0:GY=-9.8:GA=0:V=0:VX=0:VY=0:AX=0:AY=0:KR=600000
3016 RX=0:RY=KR+10:RA=KR+10:TR=0:T=0:BF=0
3016 RX=0:RY=KR+10:RA=KR+10:TR=0:T=0:BF=0:MX=0
3020 HGR:ROT=0:SCALE=2:H=0
3030 REM ** LAUNCHPAD **
3035 PRINT:PRINT CHR$(4);"BLOAD LAUNCHPAD.HGR,A$2000"
@ -41,7 +39,7 @@
3040 XDRAW 1+((S-1)*2)+TR AT 140,80
4000 REM ** LOOP **
4002 IF LN=0 GOTO 5032
4003 RR=RA-KR
4003 RR=RA-KR:IF RR>MX THEN MX=RR
4004 IF OM=1 GOTO 4018
4005 IF RR>1800 OR OM=1 THEN GOTO 4012
4007 HCOLOR=0:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H
@ -71,7 +69,7 @@
5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6095
5222 A$=CHR$(Q-128):POKE 49168,0
5555 IF OM<>1 THEN XDRAW 1+((S-1)*2)+TR AT 140,80
6060 IF A$="Q" THEN END
6060 IF A$="Q" THEN GOTO 9000
6061 IF A$="A" THEN R=R-8:AN=AN-0.7853
6062 IF A$="D" THEN R=R+8:AN=AN+0.7853
6063 IF A$="C" THEN GOTO 8000
@ -116,7 +114,8 @@
8060 HPLOT 140,80 TO 100+X,40+Y
8070 XX=PEEK(-16336)
8080 NEXT I
8090 END
8085 AD(W)=1
8090 GOTO 9000
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)
@ -135,29 +134,44 @@
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
9200 DATA 6,0,14,0,42,0,77,0,113,0
9201 DATA 156,0,200,0,219,36,36,44,44,44
9202 DATA 53,53,53,54,54,54,54,63,63,45
9203 DATA 46,46,62,63,63,39,37,37,63,36
9204 DATA 36,0,219,36,36,44,44,44,53,53
9205 DATA 53,54,54,54,54,63,63,45,46,46
9206 DATA 62,63,127,73,62,54,62,39,36,39
9207 DATA 39,37,37,63,36,36,0,219,36,36
9208 DATA 36,36,44,44,44,53,53,53,54,54
9209 DATA 54,54,54,54,54,54,63,63,45,46
9210 DATA 46,62,63,63,39,37,37,63,36,36
9211 DATA 36,36,0,219,36,36,36,36,44,44
9212 DATA 44,53,53,53,54,54,54,54,54,54
9213 DATA 54,54,63,63,45,46,46,62,63,127
9214 DATA 73,62,54,62,39,36,39,39,37,37
9215 DATA 63,36,36,36,36,0,219,36,36,36
9216 DATA 36,36,36,44,44,44,53,53,53,54
9217 DATA 54,54,54,54,54,54,54,54,54,54
9218 DATA 54,63,63,45,46,46,62,63,63,39
9219 DATA 37,37,63,36,36,36,36,36,36,0
9220 DATA 219,36,36,36,36,36,36,44,44,44
9221 DATA 53,53,53,54,54,54,54,54,54,54
9222 DATA 54,54,54,54,54,63,63,45,46,46
9223 DATA 62,63,127,73,62,54,62,39,36,39
9224 DATA 39,37,37,63,36,36,36,36,36,36
9225 DATA 0
9000 REM *** CONTRACT COMPLETE ***
9005 IF MX<40000 THEN C$="CRASH SHIP":F$="0.30":E$="-1":GOTO 9010
9007 C$="REACH SPACE":F$="200":E$="20"
9010 TEXT:HOME
9020 HTAB 10:VTAB 9
9021 FOR I=1 TO 20: PRINT "*";: NEXT I: PRINT "*"
9023 HTAB 10: PRINT "* ";:INVERSE: PRINT "CONTRACT COMPLETE";:NORMAL: PRINT " *"
9024 HTAB 10: PRINT "* ";
9026 L=10-(LEN(C$))/2
9027 HTAB 10+L:PRINT C$;:HTAB 30: PRINT "*"
9030 HTAB 10:PRINT "* FUNDS ";F$;:HTAB 30: PRINT "*"
9030 HTAB 10:PRINT "* EXPERIENCE ";E$;:HTAB 30: PRINT "*"
9040 HTAB 10
9042 FOR I=1 TO 20: PRINT "*";: NEXT I:PRINT "*"
9100 VTAB 16
9110 PRINT "NOW WHAT?"
9120 PRINT " 1. RETURN TO THE VAB"
9130 PRINT " 2. RETURN TO ASTRO COMPLEX"
9140 PRINT " 3. RETURN TO LAUNCH"
9145 PRINT " 4. HELP"
9150 PRINT " 5. QUIT GAME"
9160 PRINT "---> ";
9170 GET A$
9171 IF A$="1" GOTO 1
9172 IF A$="2" GOTO 2
9173 IF A$="3" GOTO 1000
9174 IF A$="4" OR A$="H" GOTO 9200
9175 IF A$="5" OR A$="Q" THEN TEXT:HOME:END
9176 GOTO 9160
9200 REM *** HELP ***
9210 HOME
9220 PRINT "KSP-APPLE-II BY VINCE WEAVER"
9230 PRINT " APPLE II FOREVER"
9240 PRINT " A,D - STEER SHIP LEFT/RIGHT"
9250 PRINT " Z - START ENGINES"
9260 PRINT " X - CUT ENGINES"
9270 PRINT " SPACE - LAUNCH,STAGE"
9275 PRINT " M - SWITCH TO ORBITAL VIEW"
9280 PRINT " ESC - QUIT"
9300 GET A$
9320 GOTO 9010

5
ksp/load_demo.bas Normal file
View File

@ -0,0 +1,5 @@
10 REM LOAD BASIC PROGRAM INTO HGR2 AREA
15 PRINT "LOADING PRESENTER DEMO TO A$4000"
20 POKE 104,64
30 POKE 16384,0
40 PRINT CHR$(4);"LOAD KSP.BAS"