ksp: map mode mostly works

This commit is contained in:
Vince Weaver 2016-05-26 23:54:19 -04:00
parent 403d69ba9d
commit cc5550d16d
2 changed files with 15 additions and 15 deletions

View File

@ -5,3 +5,6 @@ auto-generated shape tabe for ship based on VAB choices
more expressive kerbals more expressive kerbals
atmospheric drag atmospheric drag
support all four qudrants in space view support all four qudrants in space view
deadly re-entry
remembering some history for map mode
some way of detecting we made orbit (perapsis/apoapsis calculations?)

View File

@ -42,7 +42,7 @@
4000 REM ** LOOP ** 4000 REM ** LOOP **
4002 IF LN=0 GOTO 5032 4002 IF LN=0 GOTO 5032
4003 RR=RA-KR 4003 RR=RA-KR
4004 IF RR>1800 THEN GOTO 4012 4004 IF RR>1800 OR OM=1 THEN GOTO 4012
4005 HCOLOR=0:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H 4005 HCOLOR=0:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H
4010 H=RR/20:HCOLOR=1:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H 4010 H=RR/20:HCOLOR=1:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H
4012 IF RR<40000 AND CQ<>0 THEN GOSUB 7600 4012 IF RR<40000 AND CQ<>0 THEN GOSUB 7600
@ -71,12 +71,7 @@
5040 PRINT "TIME: ";T,"STAGE: ";4-S;" ";AN$ 5040 PRINT "TIME: ";T,"STAGE: ";4-S;" ";AN$
5045 PRINT "ALT: ";INT((RA-KR)/1000);"KM ";AN;" " 5045 PRINT "ALT: ";INT((RA-KR)/1000);"KM ";AN;" "
5060 PRINT "VEL: ";INT(V);"M/S","FUEL: ";INT(FL);"% " 5060 PRINT "VEL: ";INT(V);"M/S","FUEL: ";INT(FL);"% "
5080 REM PRINT "GRAVANGLE ";GA*180/3.14 5113 IF OM<>1 THEN XDRAW 1+((S-1)*2)+TR AT 140,80
5090 REM PRINT "X: ";RX;" Y: ";RY
5100 REM PRINT "VX: ";VX;" VY: ";VY
5110 REM PRINT "ANGLE: ";AN
5112 REM PRINT "AX: ";AX;"AY: ";AY
5113 XDRAW 1+((S-1)*2)+TR AT 140,80
5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6080 5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6080
6000 A$=CHR$(Q-128):POKE 49168,0 6000 A$=CHR$(Q-128):POKE 49168,0
6060 IF A$="Q" THEN END 6060 IF A$="Q" THEN END
@ -86,21 +81,23 @@
6064 IF A$="Z" THEN TH=1 6064 IF A$="Z" THEN TH=1
6065 IF A$="V" THEN RA=RA+100 6065 IF A$="V" THEN RA=RA+100
6066 IF A$="X" THEN TH=0 6066 IF A$="X" THEN TH=0
6067 IF A$="M" THEN GOTO 6300
6068 IF A$=" " AND LN=1 THEN S=S-1:XX=PEEK(-16336) 6068 IF A$=" " AND LN=1 THEN S=S-1:XX=PEEK(-16336)
6069 IF A$=" " AND LN=0 THEN GOSUB 7500 6069 IF A$=" " AND LN=0 THEN GOSUB 7500
6070 IF A$="E" THEN GOSUB 8100 6070 IF A$="E" THEN GOSUB 8100
6073 IF R=64 THEN R=0:AN=0 6073 IF R=64 THEN R=0:AN=0
6074 IF R=-8 THEN R=56 6074 IF R=-8 THEN R=56
6075 IF S<0 THEN S=0 6075 IF S<1 THEN S=1
6080 ROT=R 6080 ROT=R
6090 XDRAW 1+((S-1)*2)+TR AT 140,80 6090 IF OM<>1 THEN XDRAW 1+((S-1)*2)+TR AT 140,80
6095 IF OM=1 THEN HX=INT(RX/25000)+140:HY=INT(-RY/25000)+85:HPLOT HX,HY
6118 T=T+1 6118 T=T+1
6200 GOTO 4000 6200 GOTO 4000
6500 REM ** ORBIT MODE ** 6300 IF OM=1 GOTO 6400
6530 HX=INT(RX/25000)+140:HY=INT(-RY/25000)+85 6310 OM=1
6535 REM CHECK BOUNDS 6320 PRINT:PRINT CHR$(4);"BLOAD GLOBE.HGR,A$2000"
6540 REM HPLOT HX,HY 6330 GOTO 6095
6550 RETURN 6400 OM=0:CQ=-1:GOTO 4000
7200 DATA 6,0,14,0,42,0,77,0,113,0 7200 DATA 6,0,14,0,42,0,77,0,113,0
7201 DATA 156,0,200,0,219,36,36,44,44,44 7201 DATA 156,0,200,0,219,36,36,44,44,44
7202 DATA 53,53,53,54,54,54,54,63,63,45 7202 DATA 53,53,53,54,54,54,54,63,63,45
@ -146,7 +143,7 @@
8000 REM *** CRASH *** 8000 REM *** CRASH ***
8010 SCALE=3 8010 SCALE=3
8015 GOSUB 8200 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 8020 FOR I=0 TO 64 STEP 8: ROT=I:XDRAW 1+((S-1)*2)+TH AT 140,80: XX=PEEK(-16336):NEXT I
8030 FOR I=1 TO 50 8030 FOR I=1 TO 50
8040 X=INT(RND(1)*80)+1:Y=INT(RND(1)*80)+1 8040 X=INT(RND(1)*80)+1:Y=INT(RND(1)*80)+1
8050 C=INT(RND(1)*7)+1:HCOLOR=C 8050 C=INT(RND(1)*7)+1:HCOLOR=C