From 0b18406b57a9c307b3406f818049523876975882 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Tue, 24 May 2016 14:12:05 -0400 Subject: [PATCH] ksp: add astronaut complex --- ksp/Makefile | 14 +++++++++++--- ksp/acmplx.bas | 24 ++++++++++++++++++++++++ ksp/c/Makefile | 10 ++++++++-- ksp/c/ksp_acpx.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ ksp/vab.bas | 8 ++++---- 5 files changed, 96 insertions(+), 9 deletions(-) create mode 100644 ksp/acmplx.bas create mode 100644 ksp/c/ksp_acpx.c diff --git a/ksp/Makefile b/ksp/Makefile index 8ecf705c..d86d9064 100644 --- a/ksp/Makefile +++ b/ksp/Makefile @@ -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 diff --git a/ksp/acmplx.bas b/ksp/acmplx.bas new file mode 100644 index 00000000..2c7e91d5 --- /dev/null +++ b/ksp/acmplx.bas @@ -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 diff --git a/ksp/c/Makefile b/ksp/c/Makefile index e7fe8cb7..1bc52517 100644 --- a/ksp/c/Makefile +++ b/ksp/c/Makefile @@ -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 diff --git a/ksp/c/ksp_acpx.c b/ksp/c/ksp_acpx.c new file mode 100644 index 00000000..54b9207d --- /dev/null +++ b/ksp/c/ksp_acpx.c @@ -0,0 +1,49 @@ +#include +#include +#include +#include + +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; + +} diff --git a/ksp/vab.bas b/ksp/vab.bas index 59389fd2..abc71423 100644 --- a/ksp/vab.bas +++ b/ksp/vab.bas @@ -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