Source Code
0 REM "SPACE STATION" TIM HARTNELL
2 FAST
3 RAND
4 CLS
5 LET CTR=0
10 GOSUB 3000
20 LET YEAR=YEAR+1
30 LET FOLK=INT FOLK+FOLK/INT (((RND*18)+1)+2)-FOLK/INT (((RND*15)+1)+3)
40 GOTO 710
50 PRINT "COMPUTER REPORT:"
60 PRINT
70 IF OXY<OXYNEED*FOLK THEN GOTO 8000
80 IF FOOD<FOODNEED*FOLK THEN GOTO 8100
90 IF CASH<1 THEN GOTO 8200
97 IF FOLK<1 THEN GOTO 8500
98 IF FOLK<2 AND CTR=1 THEN GOTO 8500
100 IF FOLK<2 THEN GOTO 8300
110 IF FOLK<13 THEN PRINT "WARNING - POPULATION IS","NEARING EXTINCTION"
120 IF OXY<2*OXYNEED*FOLK THEN PRINT "WARNING - OXYGEN SUPPLIES LOW"
130 IF FOOD<2*FOODNEED*FOLK THEN PRINT "WARNING - FOOD STOCKS LOW"
140 IF CASH<2000 THEN PRINT "WARNING - MONEY RUNNING LOW"
150 PRINT "%*%*THERE ARE ";INT FOLK;" PEOPLE ON"
160 PRINT "THE SPACE STATION IN YEAR ";YEAR;"%*%*"
170 PRINT
180 PRINT "MONEY CREDIT IS £";CASH
190 PRINT "ANNUAL MAINTENANCE: £";REPAIR
200 PRINT "OXYGEN TANKS HOLD ";(INT (OXY*100)/100);" UNITS"
210 PRINT "OXYGEN COSTS £";OXYCOST;" PER UNIT"
220 PRINT "OXYGEN NEED PER PERSON: ";OXYNEED
230 PRINT
240 PRINT "FOOD STOCKS STAND AT ";(INT (FOOD*100)/100)
610 LET U=INT ((RND*11)+1)+128
620 FOR J=1 TO 32
630 PRINT CHR$ (U);
640 NEXT J
650 PRINT
700 RETURN
710 GOSUB 50
712 PRINT "ARTEFACTS - HOW MANY WILL YOU",,"MAKE AND TRADE?"
714 PRINT "THEY USE UP ";ARTCOST;" UNITS OF"
718 PRINT "OXYGEN AND SELL FOR £";ARTPAY
720 INPUT B
730 IF B*ARTCOST>OXY THEN PRINT "NOT ENOUGH OXYGEN"
740 IF B*ARTCOST>OXY THEN GOTO 720
745 LET CASH=CASH+B*ARTPAY
750 LET OXY=OXY-B*ARTCOST
755 CLS
760 GOSUB 50
762 PRINT "FOOD COSTS £";FOODCOST;" PER UNIT"
763 PRINT "EACH PERSON NEEDS ";FOODNEED;" UNITS"
764 PRINT "(£";FOODCOST*FOODNEED;" EACH, £";(INT (FOLK*FOODCOST*FOODNEED)*10)/10;" FOR STATION)"
766 PRINT "THIS WILL LAST ";(INT (FOOD/(FOODNEED*FOLK)*10)/10);" YEARS AT THE PRESENT POPULATION"
770 PRINT "HOW MUCH FOOD WILL YOU BUY?"
780 INPUT C
790 IF C*FOODCOST>CASH THEN PRINT "NOT ENOUGH MONEY"
800 IF C*FOODCOST>CASH THEN GOTO 780
805 LET FOOD=FOOD+C*FOODCOST
810 LET CASH=CASH-C*FOODCOST
820 CLS
830 GOSUB 50
850 PRINT "HOW MUCH OXYGEN WILL YOU BUY?"
855 PRINT "(CURRENT STOCKS WILL LAST FOR ";(INT (OXY/(OXYNEED*FOLK)*10)/10);" YEARS AT THE PRESENT POPULATION)"
860 INPUT D
870 IF D*OXYCOST>CASH THEN PRINT "NOT ENOUGH MONEY"
880 IF D*OXYCOST>CASH THEN GOTO 860
890 CLS
900 IF INT (RND*5)+1=2 THEN GOSUB 7000
\n2005 LET FOOD=FOOD-FOLK*FOODNEED
\n2030 LET CASH=CASH-REPAIR-D*OXYCOST
\n2040 LET OXY=OXY+D-FOLK*OXYNEED
\n2050 GOTO 20
\n3010 LET YEAR=0
\n3015 LET A$="THE STATION IS DEAD"
\n3020 LET FOLK=INT (80+INT (RND*40)+1)
\n3030 LET CASH=7*(700+INT (RND*800+1))/INT (RND*3+1)
\n3040 LET FOODCOST=INT (RND*7+1)
\n3050 LET ARTCOST=1+INT (RND*3)+1
\n3055 LET FOOD=2000+INT (RND*500)+1
\n3060 LET OXY=2000-INT (RND*1500)+1
\n3070 LET OXYCOST=INT (RND*7)+1
\n3080 LET ARTPAY=30*INT (RND*ARTCOST)+1
\n3090 LET REPAIR=200+INT (RND*400+1)
\n3100 LET FOODNEED=1+INT (RND*5+1)
\n3105 LET OXYNEED=2+INT (RND*3+1)
\n3115 RETURN
\n7010 CLS
\n7012 LET J=INT (RND*6+1)
\n7013 PRINT "THE STATION WAS ATTACKED BY"
\n7014 IF J=1 THEN PRINT "A FLEET OF SYRIAN SHIPS"
\n7015 IF J=2 THEN PRINT "RENEGADE EARTHLINGS"
\n7016 IF J=3 THEN PRINT "MARTIAN SPACE PILOTS"
\n7017 IF J=4 THEN PRINT "VYRILLIEX OUTWORLDERS"
\n7018 IF J=5 THEN PRINT "A LONE SHIP, APPARENTLY UNDER",,"ROBOT CONTROL"
\n7019 IF J=6 THEN PRINT "A PARRALEXIAN ESCORT VESSEL"
\n7020 PRINT
\n7025 PRINT
\n7027 PRINT
\n7030 LET Z=1+(FOLK/INT (RND*15+1)+1)
\n7040 PRINT "THERE WERE ";INT Z;" PEOPLE KILLED"
\n7045 PRINT
\n7050 LET ZZ=250+INT (RND*250+1)
\n7060 PRINT "DAMAGE WAS £";ZZ
\n7062 PRINT
\n7065 LET ZZZ=INT (RND*300+1)
\n7066 LET ZZZZ=INT (RND*300*1)
\n7067 PRINT "AND FOOD STOCKS HAVE FALLEN",,"BY ";ZZZZ
\n7069 LET FOOD=FOOD-ZZZZ
\n7070 LET FOLK=FOLK-Z
\n7075 LET OXY=OXY-ZZZ
\n7080 LET CASH=CASH-ZZ
\n7085 PRINT
\n7090 PRINT ,,"PRESS <ENTER>"
\n7092 INPUT U$
\n7095 CLS
\n7100 RETURN
\n8010 PRINT A$
\n8020 PRINT "YOU RAN OUT OF OXYGEN IN YEAR ";YEAR
\n8040 GOTO 8020
\n8100 PRINT A$
\n8110 PRINT "FOOD SUPPLIES WERE EXHAUSTED IN YEAR ";YEAR
\n8120 GOTO 8100
\n8200 PRINT A$
\n8210 PRINT "THE TREASURY RAN DRY IN YEAR ";YEAR
\n8220 GOTO 8210
\n8310 PRINT "YOUR POPULATION HAS FALLEN"
\n8320 PRINT "TO ";INT (FOLK);". DO YOU WANT TO"
\n8330 PRINT "COMMIT SUICIDE PAINLESSLY"
\n8340 PRINT "NOW (1), AWAIT A SAD AND"
\n8350 PRINT "LINGERING DEATH (2), OR"
\n8355 PRINT "WAIT AND HOPE FOR NEW COLONISTS"
\n8356 PRINT "(3)?"
\n8360 INPUT B
\n8365 CLS
\n8366 PRINT "I HOPE YOU HAVE CHOSEN WELL"
\n8367 FOR H=1 TO 50
\n8368 NEXT H
\n8370 IF B=1 THEN GOTO 8400
\n8384 IF B=2 THEN GOTO 8395
\n8386 IF B=3 THEN LET NC=INT (5*RND)+1
\n8387 IF NC=1 THEN LET FOLK=FOLK+INT (RND*26+1)
\n8388 IF NC=1 THEN LET CASH=CASH+INT (RND*300+1)
\n8389 IF NC>1 THEN GOTO 8390
\n8391 LET CTR=CTR+1
\n8395 GOTO 20
\n8400 PRINT A$
\n8401 PRINT "YOU MADE IT TO YEAR ";YEAR+1
\n8402 PRINT "GOODBYE"
\n8410 GOTO 8402
\n8500 PRINT A$
\n8510 PRINT "ALL COLONISTS HAVE DIED"
\n8520 PRINT "YOU MADE IT TO YEAR ";YEAR+1
\n8530 GOTO 8402
\n8550 STOP
\n8560 REM RAND USR 14336
\n8570 REM SAVE "SPASTA.B1"
\n8575 SAVE "1021%5"
\n8580 RUN