ksp: add astronaut complex

This commit is contained in:
Vince Weaver 2016-05-24 14:12:05 -04:00
parent 6d319dd1df
commit 0b18406b57
5 changed files with 96 additions and 9 deletions

View File

@ -6,19 +6,27 @@ all: ksp.dsk
basic: VAB.BAS THEME.BAS
VAB.BAS: vab.bas
$(TXT2BAS) < vab.bas > VAB.BAS
ACMPLX.BAS: acmplx.bas
$(TXT2BAS) < acmplx.bas > ACMPLX.BAS
LOADING.BAS: loading.bas
$(TXT2BAS) < loading.bas > LOADING.BAS
ksp.dsk: LOADING.HGR SQUAD.HGR TITLE.HGR LOADING.BAS VAB.BAS VAB.HGR
VAB.BAS: vab.bas
$(TXT2BAS) < vab.bas > VAB.BAS
ksp.dsk: ACMPLX.BAS \
LOADING.BAS LOADING.HGR SQUAD.HGR TITLE.HGR \
VAB.BAS VAB.HGR
$(DOS33) -y ksp.dsk SAVE B LOADING.HGR
$(DOS33) -y ksp.dsk SAVE B SQUAD.HGR
$(DOS33) -y ksp.dsk SAVE B TITLE.HGR
$(DOS33) -y ksp.dsk SAVE A VAB.BAS
$(DOS33) -y ksp.dsk SAVE B VAB.HGR
$(DOS33) -y ksp.dsk SAVE A LOADING.BAS
$(DOS33) -y ksp.dsk SAVE A ACMPLX.BAS
LOADING.HGR: loading.pcx

24
ksp/acmplx.bas Normal file
View File

@ -0,0 +1,24 @@
1500 REM *** ASTRONAUT COMPLEX ***
1505 TEXT: HOME
1510 HTAB 11
1515 INVERSE: PRINT "ASTRONAUT COMPLEX": NORMAL
1520 PRINT
1522 PRINT "CHOOSE ONE KERBAL FOR THIS MISSION:"
1525 PRINT
1530 FOR I=1 TO 8
1540 IF AD(I) GOTO 1600
1560 ON I GOSUB 1641,1642,1643,1644,1645,1646,1647,1648
1550 PRINT " ";I;". ";AN$,AJ$;" S: ";AS$;" C: ";AC$
1600 NEXT I
1605 PRINT
1610 INPUT W
1615 IF W<1 OR W>8 THEN PRINT "INVALID INPUT, PLEASE TRY AGAIN!": GOTO 1610
1630 END
1641 AN$="JEBEDIAH" :AJ$="PILOT":AS$="****":AC$="****":RETURN
1642 AN$="VALENTINA":AJ$="PILOT":AS$="****":AC$="****":RETURN
1643 AN$="KAI" :AJ$="SCI ":AS$="*** ":AC$="***":RETURN
1644 AN$="KUROSHIN" :AJ$="ENGR ":AS$="** ":AC$="*":RETURN
1645 AN$="DESKTOP" :AJ$="ENGR ":AS$="* ":AC$="***":RETURN
1646 AN$="SLASHDOT" :AJ$="SCI ":AS$="*** ":AC$="*":RETURN
1647 AN$="ZURGTROYD":AJ$="PILOT":AS$="** ":AC$="***":RETURN
1648 AN$="DAPHTY" :AJ$="ENGR ":AS$="*** ":AC$="***":RETURN

View File

@ -2,7 +2,13 @@ CC = gcc
CFLAGS = -Wall -O2
LFLAGS =
all: ksp_launch ksp_loading ksp_vab
all: ksp_acpx ksp_launch ksp_loading ksp_vab
ksp_acpx: ksp_acpx.o
$(CC) $(LFLAGS) -o ksp_acpx ksp_acpx.o
ksp_acpx.o: ksp_acpx.c
$(CC) $(CFLAGS) -c ksp_acpx.c
ksp_launch: ksp_launch.o
$(CC) $(LFLAGS) -o ksp_launch ksp_launch.o
@ -24,5 +30,5 @@ ksp_vab.o: ksp_vab.c
clean:
rm -f *~ *.o ksp_launch ksp_loading ksp_vab
rm -f *~ *.o ksp_launch ksp_loading ksp_vab ksp_acpx

49
ksp/c/ksp_acpx.c Normal file
View File

@ -0,0 +1,49 @@
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
void home(void) {
printf("%c[2J%c[1;1H",27,27);
}
void htabvtab(int x,int y) {
printf("%c[%d;%dH",27,y,x);
}
void centerprint(int y, char *string) {
int x;
x=(40-strlen(string))/2;
htabvtab(x,y);
printf("%s",string);
fflush(stdout);
}
int main(int argc, char **argv) {
int x,y,z;
int stages;
int s;
home();
printf("Astronaut Complex\n"); // center and inverse?
printf("Available:\n");
printf("1. Jebediah\tPilot\tS ***\tC ***\n");
printf("2. Valentina\tPilot\tS ***\tC ***\n");
printf("3. Kai\tEngineer\t ***\tC ***\n");
printf("4. Kuroshin\tEngineer\t ***\tC ***\n");
printf("5. Desktop\tScientist\t ***\tC ***\n");
printf("6. Slashdot\tPilot\t ***\tC ***\n");
printf("7. Zurgtroyd\tPilot\t ***\tC ***\n");
printf("Select three astronauts\n"); // highlight and say correct?
return 0;
}

View File

@ -41,7 +41,7 @@
1294 IF E >2 THEN XDRAW 1 AT X+14, Y+8
1297 Y=Y+6
1300 NEXT I
1310 PRINT "HOW MANY STRUTS? (1-20000)";
1320 INPUT ST
1330 PRINT "PARACHUTES? (Y/N)";
1340 INPUT P$
1330 PRINT "HOW MANY PARACHUTES? (0-3)";
1340 INPUT P
1350 PRINT "HOW MANY STRUTS? (0-20000)";
1360 INPUT ST