ksp: add map view

This commit is contained in:
Vince Weaver 2016-05-25 23:09:37 -04:00
parent 4e74910bfc
commit 0a61eda282
4 changed files with 26 additions and 16 deletions

View File

@ -24,7 +24,7 @@ VAB.BAS: vab.bas
ksp.dsk: ACMPLX.BAS \ ksp.dsk: ACMPLX.BAS \
LAUNCH.BAS \ LAUNCH.BAS GLOBE.HGR \
LOADING.BAS LOADING.HGR SQUAD.HGR TITLE.HGR \ LOADING.BAS LOADING.HGR SQUAD.HGR TITLE.HGR \
PHYSICS.BAS \ PHYSICS.BAS \
VAB.BAS VAB.HGR VAB.BAS VAB.HGR
@ -36,9 +36,13 @@ ksp.dsk: ACMPLX.BAS \
$(DOS33) -y ksp.dsk SAVE A LOADING.BAS $(DOS33) -y ksp.dsk SAVE A LOADING.BAS
$(DOS33) -y ksp.dsk SAVE A ACMPLX.BAS $(DOS33) -y ksp.dsk SAVE A ACMPLX.BAS
$(DOS33) -y ksp.dsk SAVE A LAUNCH.BAS $(DOS33) -y ksp.dsk SAVE A LAUNCH.BAS
$(DOS33) -y ksp.dsk SAVE B GLOBE.HGR
$(DOS33) -y ksp.dsk SAVE A PHYSICS.BAS $(DOS33) -y ksp.dsk SAVE A PHYSICS.BAS
GLOBE.HGR: globe.pcx
$(PCX2HGR) globe.pcx > GLOBE.HGR
LOADING.HGR: loading.pcx LOADING.HGR: loading.pcx
$(PCX2HGR) loading.pcx > LOADING.HGR $(PCX2HGR) loading.pcx > LOADING.HGR

View File

@ -7,8 +7,8 @@
1525 PRINT 1525 PRINT
1530 FOR I=1 TO 8 1530 FOR I=1 TO 8
1540 IF AD(I) GOTO 1600 1540 IF AD(I) GOTO 1600
1560 ON I GOSUB 1641,1642,1643,1644,1645,1646,1647,1648 1550 ON I GOSUB 1641,1642,1643,1644,1645,1646,1647,1648
1550 PRINT " ";I;". ";AN$,AJ$;" S: ";AS$;" C: ";AC$ 1560 PRINT " ";I;". ";AN$,AJ$;" S: ";AS$;" C: ";AC$
1600 NEXT I 1600 NEXT I
1605 PRINT 1605 PRINT
1610 INPUT W 1610 INPUT W

BIN
ksp/globe.pcx Normal file

Binary file not shown.

View File

@ -1,3 +1,6 @@
5 HGR:HCOLOR=3
7 HOME
10 PRINT CHR$(4);"BLOAD GLOBE.HGR,A$2000"
3000 AN=0.785 3000 AN=0.785
3001 CM=1 3001 CM=1
3002 E=3 3002 E=3
@ -31,14 +34,14 @@
4025 IF FM<0.1 THEN FM=0:AX=0:AY=0:GOTO 4050 4025 IF FM<0.1 THEN FM=0:AX=0:AY=0:GOTO 4050
4030 AX=(ET/TM)*SIN(AN) 4030 AX=(ET/TM)*SIN(AN)
4035 AY=(ET/TM)*COS(AN) 4035 AY=(ET/TM)*COS(AN)
4037 PRINT "ET=";ET;" TM=";TM 4037 REM PRINT "ET=";ET;" TM=";TM
4040 FM=FM-FR 4040 FM=FM-FR
4045 TM=EM+KM+FM+CM 4045 TM=EM+KM+FM+CM
4047 GOTO 4060 4047 GOTO 4060
4050 REM NOT THRUSTING 4050 REM NOT THRUSTING
4055 AX=0:AY=0 4055 AX=0:AY=0
4060 GA=ATN(RX/RY) 4060 GA=ATN(RX/RY)
4062 PRINT "GA=";GA;" AY=";AY 4062 REM PRINT "GA=";GA;" AY=";AY
4065 IF RY<0 THEN GA=GA+3.14 4065 IF RY<0 THEN GA=GA+3.14
4070 GY=COS(GA)*G 4070 GY=COS(GA)*G
4075 GX=SIN(GA)*G 4075 GX=SIN(GA)*G
@ -54,16 +57,19 @@
5018 RA=SQR(RX*RX+RY*RY) 5018 RA=SQR(RX*RX+RY*RY)
5020 IF RA<KR THEN PRINT "CRASH": END 5020 IF RA<KR THEN PRINT "CRASH": END
5030 G=-9.8/((RA/KR)*(RA/KR)) 5030 G=-9.8/((RA/KR)*(RA/KR))
5035 PRINT "-------------------------" 5031 REM PRINT "-------------------------"
5040 PRINT "TIME: ";T 5032 VTAB 21
5050 PRINT "ALT: ";(RA-KR)/1000;"KM","G ";G 5040 PRINT "TIME: ";T,"STAGE: ";S
5060 PRINT "VEL: ";V;"M/S","STAGE: ";S 5045 PRINT "ALT: ";INT((RA-KR)/1000);"KM "
5070 PRINT "ACCEL: ","FUEL: ";INT(FL);"%" 5060 PRINT "VEL: ";INT(V);"M/S","FUEL: ";INT(FL);"% "
5080 PRINT "GRAVANGLE ";GA*180/3.14 5080 REM PRINT "GRAVANGLE ";GA*180/3.14
5090 PRINT "X: ";RX;" Y: ";RY 5090 REM PRINT "X: ";RX;" Y: ";RY
5100 PRINT "VX: ";VX;" VY: ";VY 5100 REM PRINT "VX: ";VX;" VY: ";VY
5110 PRINT "ANGLE: ";AN 5110 REM PRINT "ANGLE: ";AN
5112 PRINT "AX: ";AX;"AY: ";AY 5112 REM PRINT "AX: ";AX;"AY: ";AY
5118 T=T+1 5118 T=T+1
5120 REM GET A$:IF A$="Q" THEN END 5120 REM GET A$:IF A$="Q" THEN END
5130 GOTO 4000 5130 HX=INT(RX/25000)+140:HY=INT(-RY/25000)+85
5135 REM CHECK BOUNDS
5140 HPLOT HX,HY
5150 GOTO 4000