10  COM X$[72],C
20  REM**CL4-1**BASIC C.A.I.**GEOGRAPHY**CHAIN TO CL4-2**JUNE 16, 1972
25  REM CLIMAT, HP 36760A, 6/74
30  DIM G$[72],R$[72],S$[72]
40  FILES SCRA
50  C=0
60  PRINT "HI, I'M YOUR GEOGRAPHICAL GURU AND IN A FEW SECONDS WE'RE"
70  PRINT "GOING TO DO SOME MEDITATING ABOUT CLIMATOLOGY.  BUT FIRST,"
80  PRINT "WHAT WOULD YOU LIKE ME TO CALL YOU";
90  INPUT X$
100  PRINT 
110  LET G$=X$
120  GOSUB 2860
130  IF F=0 THEN 170
140  PRINT "IF YOU'VE GOT SUCH A LOW OPINION OF YOURSELF, THAT'S QUITE"
150  PRINT "ALL RIGHT WITH ME."
160  PRINT 
170  PRINT "FOLLOWING IS A SET OF CLIMATE DATA DESCRIBING A CERTAIN REAL"
180  PRINT "LOCATION.  TEMPERATURES ARE MONTHLY AVERAGES AND ARE IN "
190  PRINT "DEGREES FAHRENHEIT, WHILE MONTHLY AVERAGE RAINFALL IS IN"
200  PRINT "INCHES.  ULTIMATELY, THIS DATA WILL ENABLE US TO LEARN THE"
210  PRINT "KOPPEN CLASSIFICATION FOR THIS PLACE AND ITS EXACT LOCATION."
220  PRINT 
230  PRINT 
240  PRINT "  J.,  F.,  M.,  A.,  M.,  J.,  J.,  A.,  S.,  O.,  N.,  D."
250  PRINT 
260  PRINT "  77   80   84   87   85   81   80   80   81   82   80   77"
270  PRINT "  0.0  0.2  0.3  2.4 11.2 19.4 24.5 21.2 15.6  7.4  2.9  0.2"
280  PRINT 
290  PRINT 
300  PRINT "          YEARLY AVERAGE TEMP. 81.2 DEGREES F."
310  PRINT "          YEARLY TOTAL RAINFALL 105.6 INCHES"
320  PRINT 
330  PRINT 
340  PRINT "STUDY THE ABOVE DATA VERY CAREFULLY.  NOTE THE MONTHS OF "
350  PRINT "MAXIMUM AND MINIMUM TEMPERATURE AND RAINFALL.  NOTE ALSO"
360  PRINT "THE SECOND TEMPERATURE MAXIMUM IN SEPTEMBER-OCTOBER AND"
370  PRINT "THE SEASONAL DISTRIBUTION OF RAIN.  REMEMBER, THIS IS A"
380  PRINT "REAL PLACE, AT AN ELEVATION OF FIFTEEN FEET."
390  PRINT 
400  PRINT "NOW FOR SOME QUESTIONS.  ANSWER THEN IN YOUR OWN WORDS.  REMEMBER"
410  PRINT "TO PUSH 'RETURN' AFTER YOU TYPE IN YOUR ANSWER.  IF YOU FIND"
420  PRINT "THAT YOU NEED HELP, JUST ASK FOR IT.  "
430  PRINT 
440  PRINT "GOOD LUCK, ";X$
450  PRINT 
460  PRINT "IN WHICH HEMISPHERE IS THIS STATION LOCATED";
470  INPUT G$
480  PRINT 
490  FOR J=1 TO 2
500  GOSUB 2130
510  IF F#1 THEN 530
520  GOTO J OF 640,610
530  NEXT J
540  GOSUB 2860
550  IF F=0 THEN 570
560  GOSUB 2390
570  PRINT "THIS IS THE EASIEST OF ALL CLIMATE QUESTIONS.  LOOK AT THE"
580  PRINT "JANUARY AND JULY TEMPERATURES.  THIS SHOULD GET YOU IN THE"
590  PRINT "GROOVE.  TRY AGAIN."
600  GOTO 470
610  PRINT "YOU CAN'T TELL YET BETWEEN EAST-WEST OR LAND-WATER"
620  PRINT "HEMISPHERES.  TRY AGAIN."
630  GOTO 470
640  PRINT "EXCELLENT -- YOU KNEW BECAUSE THE JANUARY AND DECEMBER"
650  PRINT "TEMPERATURES ARE BELOW THE OTHER MONTHS AND OCCUR WHEN THERE"
660  PRINT "IS ALMOST NO RAIN AND THUS LITTLE CLOUD COVER TO CUT"
670  PRINT "INSOLATION."
680  PRINT 
690  PRINT "NOW, CAN YOU TELL ME THE RELATIVE LATITUDE OF THIS STATION"
700  PRINT "IN THE NORTHERN HEMISPHERE"
710  INPUT G$
720  PRINT 
730  FOR J=3 TO 5
740  GOSUB 2130
750  IF F#1 THEN 770
760  GOTO J-2 OF 850,910,970
770  NEXT J
780  GOSUB 2860
790  IF F=0 THEN 810
800  GOSUB 2390
810  PRINT "WHAT I REALLY WANT TO KNOW IS THIS, ";X$;":"
820  PRINT "IS THIS STATION IN THE POLAR, MID-LATITUDE, OR EQUATORIAL"
830  PRINT "REGION"
840  GOTO 710
850  PRINT "IF THE STATION WERE POLEWARD OF THE TROPIC OF CANCER THE"
860  PRINT "TEMPERATURE RANGE WOULD BE GREATER. THE DIFFERENCE WOULD"
870  PRINT "BE MOST OBVIOUS IN JANUARY AND DECEMBER, WHEN THEY WOULD "
880  PRINT "BE CLOSER TO THE HIGH 60'S RATHER THAN THE HIGH 70'S.  TRY"
890  PRINT "AGAIN, ";X$
900  GOTO 710
910  PRINT "IN POLAR ENVIRONMENTS TEMPERATURES IN THE SUMMER MONTHS"
920  PRINT "DO NOT EXCEED AND AVERAGE OF 50 DEGREES F. FOR ANY "
930  PRINT "SIGNIFICANT PERIOD.  TEMPERATURES ABOVE 50 COMBINED "
940  PRINT "WITH MODEST PRECIPITATION WOULD LEAD TO FOREST GROWTH."
950  PRINT "TRY AGAIN, ";X$
960  GOTO 710
970  PRINT "YOU'RE GROOVING RIGHT ALONG, ";X$;".  I PRESUME"
980  PRINT "YOU PICKED THE EQUATORIAL REGION OF THE NORTHERN HEMISPHERE"
990  PRINT "(BETWEEN THE EQUATOR AND THE TROPIC OF CANCER) BECAUSE OF"
1000  PRINT "THE SMALL TEMPERATURE RANGE AND THE HIGH ANNUAL AVERAGE."
1010  PRINT 
1020  PRINT "ON TO THE NEXT QUESTION!  LOOK CAREFULLY AT THE CLIMATE"
1030  PRINT "DATA AGAIN BEFORE ANSWERING.  IN WHICH SECTION OF THE"
1040  PRINT "EQUATORIAL ZONE WOULD YOU SAY OUR STATION IS LOCATED"
1050  INPUT G$
1060  PRINT 
1070  A[1]=8
1080  A[2]=6
1090  A[3]=7
1100  FOR Q=6 TO 8
1110  J=A[Q-5]
1120  GOSUB 2130
1130  IF F#1 THEN 1150
1140  GOTO Q-5 OF 1330,1240,1280
1150  NEXT Q
1160  GOSUB 2860
1170  IF F=0 THEN 1190
1180  GOSUB 2390
1190  PRINT "IN THE EQUATORIAL REGION OF THE NORTHERN HEMISPHERE,"
1200  PRINT "THE CLIMATE CAN VARY CONSIDERABLY DEPENDING UPON WHERE"
1210  PRINT "THE STATION IS LOCATED -- NEAR THE EQUATOR, NEAR THE"
1220  PRINT "TROPIC OF CANCER, OR IN BETWEEN THESE TWO.  TRY AGAIN."
1230  GOTO 1050
1240  PRINT "NEAR THE TROPIC OF CANCER (THE LOCATION YOU HAVE CHOSEN)"
1250  PRINT "TEMPERATURES FOR THE COOLEST MONTHS AVERAGE IN THE UPPER"
1260  PRINT "60'S RATHER THAN THE UPPER 70'S.  TRY AGAIN."
1270  GOTO 1050
1280  PRINT "AT A LOCATION ALONG THE EQUATOR, TEMPERATURE NORMALLY"
1290  PRINT "VARIES WITH CLOUD COVER -- WET MONTHS ARE COOLER AND"
1300  PRINT "DRY PERIODS ARE WARMER.  THIS IS NOT ENTIRELY TRUE AT "
1310  PRINT "OUR STATION.  TRY AGAIN."
1320  GOTO 1050
1330  PRINT "GREAT -- YOU CHOSE THE MID-EQUATORIAL REGION (NEAR 15"
1340  PRINT "DEGREES N. LATITUDE) BECAUSE OF THE TEMPERATURE RANGE:"
1350  PRINT "GREATER THAN EQUATORIAL LOCATIONS; AND BECAUSE OF 'WINTER'"
1360  PRINT "TEMPERATURES WARMER THAN AT THE TROPIC.  RIGHT?"
1370  PRINT 
1380  PRINT X$;", HOW WOULD YOU BEST CHARACTERIZE THE RAINFALL PATTERN"
1390  Z=0
1400  PRINT "AT OUR LOCATION"
1410  INPUT G$
1420  LET Z=Z+1
1430  PRINT 
1440  FOR J=9 TO 13
1450  IF J=10 THEN 1490
1460  GOSUB 2130
1470  IF F#1 THEN 1490
1480  GOTO J-8 OF 1690,10,1590,1630,1660
1490  NEXT J
1500  GOSUB 2860
1510  IF F=0 THEN 1530
1520  GOSUB 2390
1530  IF Z>1 THEN 1720
1540  PRINT "NOTE THAT THE RAINFALL BUILDS VERY QUICKLY TO A QUITE HIGH"
1550  PRINT "MAXIMUM AND THEN FALLS OFF RAPIDLY.  ALSO, CONSIDER THE"
1560  PRINT "GREAT RANGE OF THE MONTHLY RAINFALL AVERAGES.  TAKING"
1570  PRINT "THESE INTO ACCOUNT, TRY THE QUESTION AGAIN."
1580  GOTO 1410
1590  PRINT "COME NOW.  TROPICAL (OR EQUATORIAL) WOULD MEAN AT LEAST"
1600  PRINT "MODEST RAINFALL EVERY MONTH.  FIND A WORD THAT BETTER"
1610  PRINT "DESCRIBES THE SEASONALITY."
1620  GOTO 1410
1630  PRINT "TOUCHE -- YOU'RE ON THE RIGHT TRACK.  TRY A GENETIC WORD,"
1640  PRINT "ONE THAT TELLS ME MORE ABOUT THE SEASONAL DISTRIBUTION"
1650  GOTO 1410
1660  PRINT "WELL, YOU'RE CERTAINLY CORRECT, BUT YOU HAVEN'T TOLD ME"
1670  PRINT "MUCH ABOUT THE DISTRIBUTION.  TRY ANOTHER WORD."
1680  GOTO 1410
1690  PRINT "EXCELLENT!  ";G$;" IS A PERFECT CHARACTERIZATION."
1700  PRINT 
1710  GOTO 1750
1720  PRINT "THE CORRECT ANSWER IS MONSOONAL.  BETTER LUCK ON THE REST"
1730  PRINT "OF THE QUESTIONS."
1740  PRINT 
1750  PRINT "NOW YOU KNOW THE STATION IS:"
1760  PRINT "          NORTHERN HEMISPHERE"
1770  PRINT "          ABOUT 15 DEGREES NORTH LATITUDE"
1780  PRINT "          STRONG MONSOONAL PATTERN"
1790  PRINT 
1800  PRINT "TAKE A LOOK AT THE WORLD MAP.  THERE ARE ONLY A FEW PLACES"
1810  PRINT "IN THE WORLD THAT FILL THE BILL.  IN YOUR OPINION, ON WHICH"
1820  PRINT "CONTINENT IS OUR STATION";
1830  INPUT G$
1840  PRINT 
1850  FOR J=14 TO 16
1860  GOSUB 2130
1870  IF F#1 THEN 1890
1880  GOTO J-13 OF 2080,1990,2030
1890  NEXT J
1900  GOSUB 2860
1910  IF F=0 THEN 1930
1920  GOSUB 2390
1930  PRINT "THE ONLY AREAS THAT REALLY FIT THE ABOVE DESCRIPTION ARE:"
1940  PRINT "          LATIN AMERICA"
1950  PRINT "          WEST AFRICA"
1960  PRINT "          ASIA"
1970  PRINT "CHOOSE ONE OF THESE."
1980  GOTO 1830
1990  PRINT "THE AREAS OF CENTRAL AND SOUTH AMERICA UNDER CONSIDERATION"
2000  PRINT "SELDOM SHOW SUCH A CONTRAST BETWEEN THE WET AND THE DRY"
2010  PRINT "SEASONS.  TRY AGAIN."
2020  GOTO 1830
2030  PRINT "ON THE AFRICAN CONTINENT, THE PATTERN OF THE WESTERN PORTION"
2040  PRINT "APPROXIMATES OUR STATION AT A FEW LOCATIONS.  HOWEVER, WE"
2050  PRINT "MORE OFTEN FIND A SHORTER WET SEASON, A WETTER DRY SEASON,"
2060  PRINT "OR A DOUBLE RAINFALL MAXIMUM.  GOOD GUESS.  TRY AGAIN."
2070  GOTO 1830
2080  PRINT "FINE -- YOU CHOSE ASIA BECAUSE OF THE VERY STRONG RHYTHM"
2090  PRINT "IN THE RAINFALL AND BECAUSE OF THE REGULARITY IN THE BUILD-"
2100  PRINT "UP AND DECLINE OF THE WET SEASON."
2110  PRINT 
2120  CHAIN "$CL4-2"
2130  RESTORE 
2140  READ R$
2150  IF R$#"DICTIONARY" THEN 2140
2160  READ T,N
2170  IF T=9999 THEN 2130
2180  READ #1,1
2190  FOR I=1 TO N
2200  READ R$
2210  IF T#J THEN 2230
2220  PRINT #1;R$, END 
2230  NEXT I
2240  IF T#J THEN 2160
2250  READ #1,1
2260  IF  END #1 THEN 2350
2270  READ #1;S$
2280  FOR L=1 TO LEN(G$)-LEN(S$)+1
2290  FOR K=1 TO LEN(S$)
2300  IF G$[L+K-1,L+K-1]#S$[K,K] THEN 2330
2310  NEXT K
2320  GOTO 2370
2330  NEXT L
2340  GOTO 2270
2350  F=0
2360  GOTO 2380
2370  F=1
2380  RETURN 
2390  IF C<0 THEN 2460
2400  C=-1
2410  PRINT "MAN, WHAT KIND OF LANGUAGE IS THAT?  WATCH IT OR I'LL"
2420  PRINT "SWEAR BACK AT YOU!"
2430  PRINT 
2440  PRINT 
2450  RETURN 
2460  PRINT "I WARNED YOU.  NOW GET YOUR ASS IN GEAR AND STOP SCREWING"
2470  PRINT "AROUND."
2480  GOTO 2430
2490  DATA "DICTIONARY"
2500  DATA 1,1
2510  DATA "NORTH"
2520  DATA 2,6
2530  DATA "EAST","WEST","ORIENT","OCCIDENT","LAND","WATER"
2540  DATA 3,6
2550  DATA "MID","CENTR","FORTY","HALF","THIRTY","TEMPERATE"
2560  DATA 4,8
2570  DATA "POL","NORTH","ARCTIC","ARTIC","FIFTY","SIXTY","SEVENTY"
2580  DATA "HIGH"
2590  DATA 5,8
2600  DATA "EQUAT","SOUTH","LOW","TEN","TWENTY","FIVE","FIFTEEN"
2610  DATA "TROPICAL"
2620  DATA 6,5
2630  DATA "NORTH","CANCER","TWENTY","POL","HIGH"
2640  DATA 7,5
2650  DATA "SOUTH","EQUAT","ZERO","LOW","FIVE"
2660  DATA 8,5
2670  DATA "MID","FIFTEEN","BETWEEN","TEN","CENT"
2680  DATA 9,2
2690  DATA "MONSOON","GANGE"
2700  DATA 10,10
2710  DATA "SHIT","FUCK","PISS","CRAP","DAMN","HELL","SCREW","BLOW"
2720  DATA "FART","BASTARD"
2730  DATA 11,2
2740  DATA "TROPICAL","EQUATORIAL"
2750  DATA 12,2
2760  DATA "SEASONAL","UNEVEN"
2770  DATA 13,5
2780  DATA "HEAVY","WET","HUMID","DRY WINTER","TORRENTIAL"
2790  DATA 14,1
2800  DATA "ASIA"
2810  DATA 15,3
2820  DATA "AMERICA","AM.","AMER."
2830  DATA 16,3
2840  DATA "AFRICA","AFR.","AF."
2850  DATA 9999,0
2860  J=10
2870  GOSUB 2130
2880  RETURN 
2890  END 
