10 PRINT CHR$(12) 20 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT TAB(12) "WORLD BUILDER" 30 PRINT TAB(11) "BY STEVEN KIMMEL" 40 PRINT:PRINT TAB(12) "A PROGRAM FOR DESIGNING WORLDS" 50 PRINT TAB(11) "WHERE NO MAN HAS BEEN BEFORE" 60 DIM SC$(8),M(8),C$(8),S$(36),LS(36),SS$(36),SM(36),MP(15),R(15) 70 FOR I=1 TO 8:READ SC$(I),M(I),C$(I):NEXT I 80 FOR I=1 TO 17:READ S$(I),SS$(I),SM(I):LS(I)=SM(I)^3.5:NEXT 90 FOR I=18 TO 36:READ S$(I),SS$(I),LS(I):SM(I)=LS(I)^.285714:NEXT 100 DATA O,100,BLUE,B,17,PALE BLUE,A,3.2,WHITE,F,1.54,PALE YELLPW 110 DATA G,1.02,YELLOW,K,.75,ORANGE,M,.38,RED,D,0.,RED 120 DATA SOL,G2,1.0,ALPHA CENTURI A,G4,1.08,ALPHA CENTURI B,K1,.88 130 DATA EPSILON ERIDANI,K2,.80,TAU CETI,G8,.82 140 DATA 70 OPHIUCHI A,K1,.9,70 OPHIUCHI B,K5,.65 150 DATA ETA CASSIOPEIAE A,F9,.94,ETA CASSIOPEIAE B,K6,.58 160 DATA SIGMA DRACONIS,G9,.82,36 OPHIUCHI A,K2,.77 170 DATA 36 OPHIUCHI B,K1,.76,HR 7703,K2,.75 180 DATA DELTA PAVONIS,GY,.98,82 ERIDANI,G5,.91 190 DATA BETA HYDRI,G1,1.23,HR 8832,K3,.74 200 DATA SIRIUS,A1,23,CANOPUS,F0,130,VEGA,A0,52,ARCTURUS,K2,100 210 DATA RIGEL, B8,52000,CAPELLA,G8,145,PROCYON,F5,7.6 220 DATA ACHERNAR,B5,1000,ALTAIR,A7,10,DETELGEUSE,M2,8300 230 DATA ALDEBARAN,K5,160,SPICA,B1,760,DARNARD'S STAR,M5,.00044 240 DATA POLLUX,K0,33,FOMALHAUT,A3,13,BETA CRUCIS,B0,8300 250 DATA DENEB,A2,52000,REGULUS,B7,160,BARNARD'S STAR,M5,.00044 260 PRINT CHR$(12):PRINT "WORLD BUILDER" 270 PRINT "ENTER THE NUMBER FOR THE OPTION YOU WANT" 280 PRINT:PRINT "1....USE A KNOWN STAR" 290 PRINT "2....USE A STAR NOT ON LIST" 300 PRINT "3....LIST KNOWN STARS" 310 PRINT "4....QUIT" 320 INPUT "YOUR CHOICE";A 330 IF A<1 OR A>4 GOTO 260 340 ON A GOTO 410 ,550 ,370 ,350 350 INPUT "ARE YOU SURE YOU WANT TO QUIT";A$ 360 IF ASC(A$)=89 THEN END ELSE GOTO 260 370 PRINT CHR$(12):PRINT "I KNOW THE FOLLOWING STARS" 380 FOR I=1 TO 12 390 PRINT S$(I);TAB(20);S$(I+12);TAB(40);S$(I+24) 400 NEXT I 410 INPUT "WHICH STAR SHOULD I USE";S$ 420 IF S$="NONE" OR S$="" THEN 260 430 FOR I=1 TO 36 440 IF S$=S$(I) THEN SK=I:GOTO 470 450 NEXT I 460 PRINT "I DON'T KNOW THAT STAR" :GOTO 510 470 SC=VAL(RIGHT$(SS$(SK),1))/10 480 S1$=LEFT$(SS$(SK),1) 490 FOR I=1 TO 7:IF S1$=SC$(I) THEN J=I:GOTO 510 500 NEXT I 510 MS=SM(SK):L=LS(SK):AS=(MS^-2.5)*10 520 P=(1.25-L^.285714)/MS/.005 530 IF P/100*AS>10 THEN P=1000/AS 540 GOTO 740 550 INPUT "WHAT IS THE STAR'S NAME";S$ 560 INPUT "WHAT IS THE STAR'S SPECTRAL CLASS";S1$ 570 IF S1$<>"" THEN GOTO 640 580 INPUT "WHAT IS THE ABSOLUTE MAGNITUTDE (SUN=4.85)";M 590 L=EXP(4.4228-.9195*M): MS=L^.285714 600 FOR I=1 TO 7:IF M(I)12 THEN PRINT "THE BIG BANG OCCURED 12 BILLION YEARS AGO.";INPUT "IS THIS WHAT YOU WANT";A$:IF ASC(A$)<>89 THEN 690 720 MS=MS*(1.25-.005*P) 730 L=MS^3.5 740 TS=6000*MS^.35 750 DS=MS^.3333 760 PRINT CHR$(12):PRINT "STELLAR DATA" 770 PRINT "THE SELECTED STAR, ";S$;", IS A ";S1$;SC*10;" STAR" 780 IF SC>.75 THEN PRINT"IS ";C$(J+1) : GOTO 810 790 IF SC<.25 THEN PRINT"IS ";C$(J); : GOTO 810 800 PRINT "IS BETWEEN ";C$(J);" AND ";C$(J+1) 810 PRINT "HAS A MASS OF ";MS;" TIMES THAT OF THE SUN" 820 PRINT "IT IS ";L;" TIMES AS BRIGHT AS THE SUN" 830 PRINT "THE STAR HAS AN EXPECTED LIFESPAN OF";AS;" BILLION YEARS" 840 PRINT "OF WHICH IT HAS LIVED";P;"% OR ABOUT"AS*P/100;"BILLION YEARS." 850 IF P>95 THEN PRINT" THE STAR IS IN ITS DEATH THROES." 860 PRINT "IT HAS A SURFACE TEMPATURE OF ";TS;" DEGREES KELVIN" 870 IF J+SC<2.5 OR J+SC>7 THEN PRINT "AND IS BELIEVED TO HAVE NO PLANETS":GOTO 890 880 PRINT "AND MAY HAVE PLANETS" 890 PRINT "THIS STAR WILL DIE AS A "; 900 IF MS<1.5 THEN PRINT "WHITE DWARF":GOTO 940 910 IF MS<4.0 THEN PRINT "NEUTRON STAR": GOTO 940 920 IF MS<10. THEN PRINT "NEUTRON STAR": GOTO 940 930 PRINT "BLACK HOLE AFTER GOING SUPER NOVA" 940 INPUT "ANOTHER STAR";A$ 950 IF ASC(A$)=89 THEN 260 960 P=P/100 970 PRINT CHR$(12):PRINT "THE MAIN PLANET OF INTEREST" 980 PRINT "THE EARTH HAS AN AVERAGE SURFACE TEMPERATURE OF 60 DEGREES" 990 INPUT "WHAT SURFACE TEMPERATURE WOULD YOU LIKE";TP:TP=TP+460 1000 INPUT "DESIRED SURFACE GRAVITY (EARTH=1)";G 1010 IF G<=0 THEN PRINT "THE PLANET MUST HAVE SOME GRAVITY":GOTO 1000 1020 RP=SQR(L/(TP/520)^4) 1030 IF RP17.6 THEN PRINT "THE PLANET WON'T LOSE ITS HYDROGEN ATMOSPHERE" 1130 PRINT "EARTH'S ORBIT HAS AN ECCENTRCITY OF .01672" 1140 INPUT "WHAT IS THE ORBITAL ECCENTRICITY ( <1)";EC 1150 IF EC>1 THEN 1140 1160 CA=(1-EC)*RP : FA=(1+EC)*RP 1170 INPUT "HOW DOES THE AXIS TILT (EARTH=23.5 DEGREES)";TI 1180 IF TI<0 OR TI>90 THEN 1170 1190 INPUT "HOW MANY MOONS DOES THE PLANET HAVE";MN 1200 IF MN>10 THEN PRINT "FOR CONVENIENCE WE'LL LIMIT THIS TO 10":MN=10 1210 MM=1000:H=0:R=56*G 1220 IF MN<=0 THEN 1320 1230 FOR I=1 TO MN 1240 PRINT "MASS OF MOON #";I;" (OUR MOON=1)";:INPUT MN(I) 1250 INPUT "ORBIT (OUR MOON=30)";MR(I) 1260 IF MR(I)<3*G THEN PRINT "THE MOON IS TOO CLOSE AND WILL BREAK UP":GOTO 1250 1270 IF MR(I)>56*G THEN PRINT"THE MOON IS TOO FAR AND WILL DRIFT AWAY":GOTO 1250 1280 MP(I)=SQR(MR(I)^3/M)*4 1290 IF MR(I)MM THEN DA=MM 1350 PRINT CHR$(12):PRINT "THIS PLANET'S DAY SHOULD BE ABOUT";DA;" HOURS LONG." 1360 PRINT "THAT MAKES ITS YEAR";8766/DA*PP;"DAYS LONG. WITH A TILT OF";TI 1370 HI=(1+.025*DA/24)*TP-460 : LO=(1-.025*DA/24)*TP-460 1380 IF LO<-460 THEN LO=-460 1390 PRINT "TODAY'S HIGH TEMPERATURE SHOULD BE";HI;" DEGREES F." 1400 PRINT "TONIGHT'S EXPECTED LOW IS";LO;" DEGREES F." 1410 SH=HI+1.9*TI*(1+EC) ^2 : LL=LO-1.9*TI/(1+EC)^2 1420 IF LL<-460 THEN =-460 1430 PRINT "THIS SUMMER WE EXPECT IT TO GET UP TO";SH 1440 PRINT "THIS WINTER IT SHOULD DROP DOWN TO";LL 1450 IF SH<32 OR LL>175 THEN PRINT "THERE ARE TIMES WHEN NO LIQUID WATER EXISTS." 1460 IF MN<=0 GOTO 1600 1470 IF MN=1 GOTO 1570 1480 FOR I=1 TO MN:F=0:FOR K=1 TO MN-I 1490 IF MR(K+1)>=MR(K) THEN 1540 1500 T=MR(K):MR(K)=MR(K+1):MR(K+1)=T 1510 T=MN(K):MN(K)=MN(K+1):MN(K+1)=T 1520 T=MP(K):MP(K)=MP(K+1):MP(K+1)=T 1530 F=1 1540 NEXT K 1550 IF F=0 THEN 1570 1560 NEXT I 1570 PRINT:PRINT "YOUR SELECTED SYSTEM ON MOONS" 1580 PRINT "ORBIT","MASS","PERIOD" 1590 FOR I=1 TO MN:PRINT MR(I),MN(I),MP(I)/DA;"DAYS":NEXT I 1600 INPUT "WANT A DIFFERENT SET OF MOONS";A$ 1610 IF ASC(A$)=89 THEN 1190 1620 PRINT CHR$(12):PRINT "PLANETARY DATA" 1630 PRINT "OUR PRINCIPAL PLANET OF INTEREST HAS AN AVERAGE SURFACE " 1640 PRINT "TEMPERATURE OF";TP-460;" DEGREES F. THIS REQUIRES AN ORBIT" 1650 PRINT "OF";RP;" ASTRONOMICAL UNITS (";RP*93;" MILLION MILES)" 1660 PRINT "CLOSEST APPROACH =";CA;" AU: GREATEST DISTANCE =";FA;" AU" 1670 PRINT "THIS ALSO MEANS IT HAS A YEAR THAT IS";PP;" YEARS LONG" 1680 PRINT "THE STAR APPEARS"; 1690 IF SA>1.5 OR SA<.75 THEN PRINT " MUCH"; 1700 IF SA>1. THEN PRINT" LARGER";: ELSE PRINT " SMALLER"; 1710 PRINT " THAN OUR SUN." 1720 IF G>.95 AND G<1.05 THEN PRINT "GRAVITY IS ESSENTIALLY THE SAME AS EARTH'S":GOTO 1780 1730 PRINT "SINCE OUT PLANET HAS A GRAVITY";:IF G<1 THEN 1760 1740 PRINT "GREATER THAN EARTH'S WE EXPECT" 1750 PRINT "A THICKER ATMOSPHERE. THERE IS GREATER TECTONIC ACTION AND MUCH" 1751 PRINT "GREATER RESISTING FORCES. THUS WE EXPECT MORE CONTINENTS AND" 1752 PRINT "SHORTER MOUNTAINS. EARTHQUAKES SHOULD BE MORE FREQUENT AND MORE" 1753 PRINT "SEVERE.":GOTO 1780 1760 PRINT " LESS THAN EARTH'S WE EXPECT" 1770 PRINT "A THINNER ATMOSPHERE. THERE IS LESS TECTONIC ACTION AND LESS" 1771 PRINT "RESISTANCE. THUS WE EXPECT FEWER MOUNTAINS BUT THEY MAY BE MUCH" 1772 PRINT "TALLER. EARTHQUAKES, IF ANY, WILL BE LESS SEVERE." 1780 PRINT "A GRAVITY OF ";G;" MEANS THAT IF YOU WEIGH 200 POUNDS" 1790 PRINT "YOU WOULD WEIGH";G*200;" ON OUR PLANET" 1800 INPUT "WOULD YOU LIKE A NEW GRAVITY";A$ 1810 IF ASC(A$)=89 THEN 1000 1820 PRINT CHR$(12):PRINT "LIFE ???" 1830 IF M<.055 OR M>17.6 THEN PRINT "BECAUSE OF THE BAD ATMOSPHERE ":GOTO 2080 1840 IF RPRX THEN PRINT "BECAUSE OF THE LEVEL OF RADIATION ":GOTO 2080 1850 IF SH<32 OR LL>175 THEN PRINT "SINCE LIQUID WATER NEVER OCCURS ":GOTO 2080 1860 IF AS*P <1.5 THEN PRINT "THE PLANET IS TOO YOUNG TO HAVE EVOLVED LIFE":GOTO 2080 1870 IF P>.95 THEN PRINT "SINCE THE STAR IS IN ITS DEATH THROES ":GOTO 2080 1880 PRINT "THERE MAY BE SOME "; 1890 IF AS*P<2*G THEN PRINT "BACTERIA AND BLUE GREEN ALGAE":GOTO 2060 1900 IF AS*P<3*G THEN PRINT "SINGLE CELL LIFE WITH NUCLEUS":GOTO 2060 1910 IF AS*P<4*G THEN PRINT "SIMMPLE MULTICELLED LIFE":GOTO 2060 1920 IF AS*P<4.4*G THEN PRINT "WATER VERTEBRATES AND LAND PLANTS":GOTO 2060 1930 PRINT "MAJOR LAND ANIMALS AND PERHAPS INTELLEGENCE" 1940 IF G<.95 THEN 1990 1950 IF G<1.05 THEN 2030 1960 PRINT "HIGHER GRAVITY MEANS A THICK ATMOSPHERE WHICH WILL SUPPORT LARGE" 1961 PRINT "BIRDS. IT ALSO MEANS THAT SHORT FALLS COULD BE FATAL SO REACTION" 1962 PRINT "TIMES SHOULD BE VERY SHORT. ALL LIFE FORMS WILL BE SORTER AND" 1963 PRINT "STOCKIER THAN ON EARTH." 1970 IF G>1.2 THEN PRINT "THERE ARE NO TWO LEGGED ANIMALS." 1980 PRINT "THE THICK ATMOSPHERE IMPROVES SOUND TRANSMISSION SO THE ANIMALS MAY" 1981 PRINT "RELY MORE ON HEARING.":GOTO 2030 1990 PRINT "LOWER GRAVITY MEANS THINNER ATMOSPHERE. BIRDS, IF ANY, WILL HAVE" 1991 PRINT "LARGER WINGS. ALL LIFE FORMS SHOULD BE TALLER AND MORE SLENDER" 1992 PRINT "THAN ON EARTH." 2000 PRINT "THERE PROBABLY ARE MANY TWO LEGGED ANIMALS." 2010 PRINT "THE THIN ATMOSPHERE HURTS SOUND TRANSMISSION SO ANIMALS WILL" 2011 PRINT "EITHER HAVE LARGE EARS OR NONE. LUNGS WILL BE MUCH LARGER." 2020 IF TP>75 THEN PRINT "SOME FORM OF RADIATION PROTECTION WILL BE NECESSARY." 2030 IF SA<.75 THEN PRINT "BECAUSE OF THE SMALL SUN, WE EXPECT ANIMALS TO HAVE" 2031 IF SA<.75 THEN PRINT "LARGE EYES OR RELY ON OTHER SENSES." 2040 IF SA>1.5 THEN PRINT "UNLESS THE ATMOSPHERE IS OBSCURED, WE EXPECT RELIANCE" 2041 IF SA>1.5 THEN PRINT "ON SIGHT USING RELATIVELY SMALL EYES." 2050 IF HI-LO>50 THEN PRINT "EXTREME TEMPERATURE VARIATIONS FAVOR UNDERGROUND AND" 2051 IF HI-LO>50 THEN PRINT "UNDERWATER LIFEFORMS." 2060 IF (TP-460)<32 OR (TP-460)>86 OR G>1.5 OR G<.68 OR M<.4 OR M>2.35 OR DA>96 OR SH>120 OR LL<-60 OR HI>120 OR LO<-10 THEN HM=0 ELSE HM=1 2070 GOTO 2090 2080 PRINT "THERE APPEARS TO BE NO LIFE ON THIS PLANET." 2090 PRINT "THIS PLANET ";:IF HM=1 THEN PRINT "MIGHT BE";:ELSE PRINT "WOULDN'T BE"; 2100 PRINT " CONSIDERED HABITABLE BY MAN." 2110 INPUT "WANT ANOTHER PLANET";A$ 2120 IF ASC(A$)=89 THEN 970 2130 PRINT CHR$(12):PRINT "OTHER PLANETS" 2140 INPUT "HOW MANY PLANETS WOULD YOU LIKE";NP 2150 IF NP>15 THEN PRINT "FOR CONVENIENCE WE'LL LIMIT THIS TO 15":NP=15 2160 IF NP<1 THEN 2600 2170 AM=1180/SQR(MS)-M*SQR(RP) 2180 R(1)=RP:MP(1)=M 2190 FOR I=2 TO NP 2200 PRINT CHR$(12) 2210 PRINT "OUR SOLAR SYSTEM IS LAID OUT LIKE THIS:" 2220 PRINT "PLANET MASS DISTANCE FROM SUN" 2230 PRINT "MERCURY .055 .387" 2240 PRINT "VENUS .815 .723" 2250 PRINT "EARTH 1.0 1.0" 2260 PRINT "MARS .108 1.524" 2270 PRINT "JUPITER 317.9 5.203" 2280 PRINT "SATURN 95.2 9.539" 2290 PRINT "URANUS 14.6 19.18" 2300 PRINT "NEPTUNE 17.2 30.06" 2310 PRINT "PLUTO .100 39.44" 2320 PRINT "MASS FOR PLANET #";I;:INPUT MP(I) 2330 IF MP (I)>1000 THEN PRINT "A BODY THIS LARGE WOULD BECOME A STAR.":GOTO 2340 2340 INPUT "DISTANCE FROM STAR";R(I) 2350 IF R(I)56*MS THEN PRINT "PLANET IS TOO FAR FROM THE SUN":GOTO 2340 2370 FOR K=1 TO I-1:IF R(K)>.9*R(I) AND R(K)<1.1*R(I) THEN 2430 2380 NEXT K 2390 A1=MP(I)*SQR(R(I)) 2400 IF A1>AM THEN PRINT "THE PLANET HAS TOO MUCH MASS FOR SYSTEM":GOTO 2210 2410 AM=AM-A1 2420 NEXT I:GOTO 2450 2430 PRINT "THIS PLANET IS TOO CLOSE TO OTHER PLANETS TO HAAVE A STABLE ORBIT" 2440 GOTO 2210 2450 FOR I=1 TO NP:F=0:FOR K=1 TO NP-I 2460 IF R(K+1)>=R(K) THEN 2500 2470 T=R(K):R(K)=R(K+1):R(K+1)=T 2480 T=MP(K):MP(K)=MP(K+1):MP(K+1)=T 2490 F=1 2500 NEXT K 2510 IF F=0 THEN 2530 2520 NEXT I 2530 PRINT "PLANET # MASS ORBIT" 2540 FOR I=1 TO NP 2550 PRINT I,MP(I),R(I); 2560 IF R(I)>RM AND R(I).055 AND MP(I)<17.6 THEN PRINT "LIFE?" ELSE PRINT " " 2570 NEXT I 2580 INPUT "WOULD YOU LIKE TO TRY ANOTHER SYSTEM";A$ 2590 IF ASC(A$)=89 THEN 2130 2600 INPUT "WOULD YOU LIKE TO TRY ANOTHER STAR";A$ 2610 IF ASC(A$)=89 THEN 260 2620 END