10 REM* FROM NORTHSTAR USER'S GROUP - Revised for SOL by 20 REM* DAVID FOX MARIN COMPUTER CENTER 25 REM***COPYRIGHT BY CREATIVE COMPUTING 30 PRINT "&K" 40 CURSOR 6,18 50 PRINT "* * * K I N G D O M * * *" 60 CURSOR 15,0: INPUT ,(1,0)"Would you like instructions? ",Z$ 70 IF Z$="Y" THEN 2250 80 IF Z$="y" THEN 2250 90 CURSOR 15,0: PRINT " ";: CURSOR 100 INPUT ,"Please input a number: ",N 110 IF N<1 THEN 140 120 LET N=N/17 130 GOTO 110 140 LET X=RND(N) 150 DEF FNR(Z1)=INT(INT(Z1)*RND(0)) 160 DEF FNL(Z2)=FNR(100)-Z2 170 REM*** SET INITIAL PARAMETERS 180 LET Y=0 190 LET L0=INT(10^6) 200 LET L1=3 210 LET N0=FNR(75)+75 220 LET L2=FNR(250)+250 230 LET N1=FNR(3000)+2000 240 LET L3=0 250 LET N2=0 260 PRINT 270 REM 280 REM**** PRINT YEARLY REPORT**** 290 REM 300 PRINT "&K" 310 CURSOR 0,0 320 PRINT "<*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*>" 330 CURSOR 15 340 PRINT "<*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*> <*>"; 350 CURSOR 2,24 360 PRINT "REPORT FOR YEAR";Y 370 PRINT 380 PRINT "Population is";N0 390 PRINT "Acres of land owned: ";L2 400 PRINT "Bushels in storage: ";N1 410 PRINT "Price of land is";L1;" bushels per acre" 420 PRINT 430 REM 440 REM**** READ AND VERIFY LAND TRANSACTIONS*** 450 REM 460 CURSOR 9,0: INPUT "How many acres to buy? ",B 470 LET B=INT(B) 480 IF B<0 THEN 2170 490 IF B=0 THEN 600 500 LET A=N1-B*L1 510 IF A>=0 THEN 550 520 PRINT "YOUR STORAGE IS ONLY";N1;" BUSHELS!!" 530 CURSOR : PRINT 540 GOTO 460 550 LET N1=A 560 CURSOR 6,20: PRINT N1;" " 570 LET L2=L2+B 580 CURSOR 5,21: PRINT L2;" " 590 CURSOR 9,0: PRINT : PRINT 600 CURSOR : INPUT "How many acres to sell??? ",C 610 LET C=INT(C) 620 IF C<0 THEN 2170 630 IF C=0 THEN 730 640 LET A=L2-C 650 IF A>=0 THEN 690 660 PRINT "YOU ONLY OWN";L2;" ACRES!!!" 670 CURSOR : PRINT 680 GOTO 600 690 LET L2=A 700 CURSOR 5,21: PRINT L2;" " 710 LET N1=N1+C*L1 720 CURSOR 6,20: PRINT N1;" " 730 IF (B+C)=0 THEN 770 740 CURSOR 9,0 750 REM 760 REM*** TEST FOR WIN **** 770 IF (L2+N1-L0)>=0 THEN 2120 780 IF N1=0 THEN 1150 790 REM 800 REM*** READ AND VERIFY FOOD AND SEED ALLOTMENT***** 810 REM 820 CURSOR : PRINT : PRINT 830 CURSOR : INPUT "How many bushels for food????? ",N2 840 LET N2=INT(N2) 850 LET N2=INT(N2) 860 LET A=N1-N2 870 IF A>=0 THEN 910 880 PRINT "YOUR STORAGE IS ONLY";N1;" BUSHELS!!!" 890 CURSOR : PRINT 900 GOTO 830 910 LET N1=A 920 CURSOR 6,20: PRINT N1;" " 930 IF N1=0 THEN 1150 940 CURSOR 9,0: PRINT : PRINT 950 CURSOR : INPUT "How many acres to be planted??? ",L3 960 LET L3=INT(L3) 970 IF L3<0 THEN 2170 980 IF L3=0 THEN 1190 990 IF (L2-L3)>=0 THEN 1030 1000 PRINT "YOU ONLY OWN";L2;" ACRES!!!!!" 1010 CURSOR : PRINT 1020 GOTO 950 1030 IF (2*N0-L3)>=0 THEN 1070 1040 PRINT "YOUR POPULATION IS ONLY";N0;" PEOPLE!!!" 1050 CURSOR : PRINT 1060 GOTO 950 1070 LET A=N1-3*L3 1080 IF A>=0 THEN 1120 1090 PRINT "YOUR STORAGE IS ONLY";N1;" BUSHELS!!" 1100 CURSOR : PRINT 1110 GOTO 950 1120 LET N1=A 1130 CURSOR 6,20: PRINT N1;" " 1140 IF N1>0 THEN 1190 1150 CURSOR 9,0 1160 PRINT "STORAGE IS NOW EMPTY .... GOOD LUCK TURKEY BRAIN" 1170 REM 1180 REM**** COMPUTE EFFECTS OF FOOD ALLOCATION **** 1190 CURSOR 10,0: PRINT 1200 CURSOR 13,10: INPUT "Press `RETURN' to continue ",Q$ 1210 PRINT "&K": LET Y=Y+1: SET DS=10 1220 LET N3=FNR(N0/3+3) 1230 LET N4=FNR(N0/4+2) 1240 LET N5=N0-INT(N2/10) 1250 IF N5>0 THEN 1320 1260 IF N5=0 THEN 1360 1270 LET A=FNR(3-N5/2) 1280 PRINT "*** FOOD SURPLUS *** POPULATION INCREASE BY";A 1290 LET N5=0 1300 LET N3=N3+A 1310 GOTO 1360 1320 IF (FNL(5*(N5-2)))>0 THEN 1360 1330 LET A=FNR((N5*N1)/(2*N0)) 1340 PRINT "*** FOOD RIOTS *** ";A;" BUSHELS LOST!!!" 1350 LET N1=N1-A 1360 IF FNL(10)>0 THEN 1430 1370 LET A=INT(N0/3)+FNR(N0/2+2) 1380 REM 1390 REM*** COMPUTE RANDOM OCCURRANCES 1400 PRINT 1410 PRINT "*** PLAGUE *** ";A;" DIED" 1420 LET N4=N4+A 1430 IF FNL(10)>0 THEN 1530 1440 LET A=FNR(N0/5)+INT(N0/5) 1450 LET B=FNR(N1/20)+INT(N1/20) 1460 LET C=FNR(L2/50) 1470 PRINT 1480 PRINT "**** HUNS PILLAGE YOUR VILLAGE YA,YA,YA ****" 1490 PRINT A;" PEOPLE KILLED";B;" BUSHELS TAKEN";C;" ACRES DESTROYED" 1500 LET N4=N4+A 1510 LET N1=N1-B 1520 LET L2=L2-C 1530 IF FNL(15)>0 THEN 1600 1540 LET A=FNR(20)+10 1550 LET B=FNR(N0+250)+50 1560 PRINT 1570 PRINT "*** BORDER EXPANSION *** YOU GAIN";A;" PEOPLE";B;" ACRES" 1580 LET N3=N3+A 1590 LET L2=L2+B 1600 LET N0=N0+N3-N4-N5 1610 IF N0<=0 THEN 2150 1620 PRINT 1630 PRINT N3;" ARRIVED" 1640 PRINT N5;" DIED OF STARVATION" 1650 PRINT N4;" DIED NATURAL CAUSES" 1660 IF FNL(10)>0 THEN 1710 1670 LET A=FNR(N1/20)+INT(N1/20) 1680 PRINT 1690 PRINT "*** THEFT ***";A;" BUSHELS STOLEN" 1700 LET N1=N1-A 1710 IF FNL(10)>0 THEN 1760 1720 LET A=FNR(L2/10)+INT(L2/20) 1730 PRINT 1740 PRINT "***************EARTHQUAKE*************** ";A;" ACRES DESTROYED" 1750 LET L2=L2-A 1760 IF FNL(15)>0 THEN 1810 1770 LET A=FNR(100+INT(L2/100))+500 1780 PRINT 1790 PRINT "***** GRAIN SHIPMENT ARRIVES ***** ";A;" BUSHELS" 1800 LET N1=N1+A 1810 IF FNL(15)>0 THEN 1860 1820 LET L1=FNR(2)+1 1830 PRINT 1840 PRINT "***** DROUGHT *****" 1850 GOTO 1950 1860 IF FNL(15)>0 THEN 1910 1870 LET L1=FNR(3)+7 1880 PRINT 1890 PRINT "****** RAIN ******" 1900 GOTO 1950 1910 LET L1=FNR(4)+3 1920 REM 1930 REM**** COMPUTE HARVEST **** 1940 REM 1950 LET A=L1*L3 1960 LET B=FNR(A/2) 1970 LET C=A-B 1980 PRINT 1990 IF A=0 THEN 2070 2000 PRINT "Harvest was";L1;" bushels per acre for a total";A;" bushels" 2010 PRINT "Loss to rats";B;" bushels; net harvest was";C;" bushels" 2020 LET N1=N1+C 2030 PRINT 2040 CURSOR 15,10: INPUT ,"Press `RETURN' to continue ",Q$ 2050 SET DS=0 2060 GOTO 240 2070 PRINT "Harvest was";L1;" bushels per acre for a total";A;" bushels" 2080 GOTO 2020 2090 REM 2100 REM**** SPECIAL MESSAGES FOR ENDINGS **** 2110 REM 2120 PRINT 2130 PRINT "**** CONGRATULATIONS **** YOU NOW RULE THE WORLD!!!!" 2140 GOTO 2170 2150 PRINT 2160 PRINT "**** DISASTER **** - THERE ARE NO MORE PEOPLE LEFT!!" 2170 PRINT 2180 PRINT "YOUR REIGN LASTED";Y;" YEARS" 2190 SET DS=0 2200 PRINT : INPUT (1,0)"Do you want to try again? ",Q$ 2210 IF Q$="Y" THEN 180 2220 PRINT "&K": CURSOR 6,0: PRINT "Type `RUN' and press `RETURN' to play again." 2230 CURSOR 10 2240 END 2250 REM* INSTRUCTIONS 2260 PRINT "&K" 2270 PRINT "Welcome to your very own Kingdom! We, your subjects, do hope" 2280 PRINT "your reign will be long and prosperous (if it isn't, you'll" 2290 PRINT "find us quick to turn!).": PRINT 2300 PRINT "In order to win our lasting admiration (and win the rule of the" 2310 PRINT "world too) you only need to do one thing:": PRINT 2320 PRINT " Increase the number of acres of land in the Kingdom and the" 2330 PRINT " number of bushels in storage so that the total of the two" 2340 PRINT " exceeds 1,000,000.": PRINT 2350 PRINT "That's all there is to it. Of course, you must figure out how" 2360 PRINT "to do it yourself. Good luck, your majesty!!" 2370 PRINT : INPUT ,"Press `RETURN' to continue: ",Z$: GOTO 90