home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG055.ARC / KINGDOM.BAS < prev    next >
BASIC Source File  |  1979-12-31  |  8KB  |  264 lines

  1. 10 REM **************************************************
  2. 20 REM *                        *
  3. 30 REM *    K I N G D O M .        or Joe's Land.    *
  4. 40 REM *                        *
  5. 50 REM *    Source :-   UNKNOWN            *
  6. 60 REM *    Modified by :- P. Turner.        *
  7. 70 REM *    Date :- 12th MAY 1983.            *
  8. 80 REM *                        *
  9. 90 REM **************************************************
  10. 100 REM     U S E R    E Q U A T E   A R E A.
  11. 110 LET CLS$ = CHR$(26):        'CLEAR SCREEN
  12. 120 REM        E N D    U S E R   E Q U A T E.
  13. 130 REM
  14. 140 REM        PRINT TITLE PAGE
  15. 150 PRINT CLS$:
  16. 160 FOR LN = 1 TO 5:            'POSITION CURSOR
  17. 170    PRINT:
  18. 180 NEXT LN
  19. 190 PRINT TAB(10)"W e l c o m e  t o     K I N G D O M.":
  20. 200 FOR LN = 1 TO 4:
  21. 210    PRINT:
  22. 220 NEXT LN:
  23. 230 LET N5=8:
  24. 240 LET N4=8:
  25. 250 PRINT "YOUR GOAL: TO COMPLETE YOUR ";N4;" YEAR TERM.":
  26. 260 PRINT "GOOD LUCK.":
  27. 270 RANDOMIZE
  28. 280 LET M=INT(70000!+(RND*1000)-(RND*1000)):
  29. 290 LET M=M*500:
  30. 300 LET P=INT(500 +(RND*10)-(RND*10)):
  31. 310 LET L=4000:
  32. 320 LET W=0:
  33. 330 LET X2=0:
  34. 340 LET E0=0:
  35. 350 LET X1=0:
  36. 360 LET E1=0:
  37. 370 LET S9=0:
  38. 380 LET S0=0:
  39. 390 LET M5=0:
  40. 400 LET S1=0:
  41. 410 LET D1=INT(P/3):
  42. 420 LET L1=INT((RND*5)+10):
  43. 430 LET L0=INT(RND*10+95):
  44. 440 PRINT CLS$:
  45. 450 GOSUB 2160:
  46. 460 PRINT "YOU HAVE";M;"RALLODS,";
  47. 470 PRINT P;"COUNTRYMEN, ":
  48. 480 IF W=0 THEN GOTO 500:
  49. 490 PRINT W;"FOREIGN WORKERS, ";
  50. 500 PRINT "AND";L;"SQ. MILES OF LAND.":
  51. 510 PRINT "THIS YEAR INDUSTRY WILL BUY LAND FOR";L0;"RALLODS/SQ. MILE":
  52. 520 PRINT "LAND CURRENTLY COSTS";L1;"RALLODS/SQ. MILE TO PLANT":
  53. 530 IF S1=0 THEN GOTO 550:
  54. 540 PRINT "POLLUTION LEVEL IS ";S1;" UNITS.":
  55. 550 GOSUB 2160:
  56. 560 INPUT"HOW MANY SQ. MILES TO SELL TO INDUSTRY ";L2:
  57. 570 IF L2<0 THEN GOTO 560:
  58. 580 IF L2<(L-1000) THEN GOTO 650:
  59. 590 PRINT "  THINK AGAIN. YOU'VE ONLY ";L-1000;" SQ. MILES OF FARM LAND":
  60. 600 IF X<>1 THEN GOTO 560:
  61. 610 PRINT "(FOREIGN INDUSTRY NOT INTERESTED IN FOREST LAND BECAUSE":
  62. 620 PRINT "OF GREATER DEVELOPMENT COST)":
  63. 630 LET X1=1:
  64. 640 GOTO 560:
  65. 650 LET M=INT(M+L2*L0):
  66. 660 LET L=INT(L-L2):
  67. 670 LET X9=INT(44*(2000-L)):
  68. 680 LET M2=0:
  69. 690 LET M3=0:
  70. 700 M4=0
  71. 710 INPUT"HOW MANY RALLODS TO DISTRIBUTE TO YOUR COUNTRYMEN ";M1
  72. 720 IF M1<0 THEN GOTO 710:
  73. 730 IF M1<=M THEN GOTO 760:
  74. 740 GOSUB 2180:
  75. 750 GOTO 710:
  76. 760 LET M=INT(M-M1):
  77. 770 IF M=0 THEN GOTO 1090:
  78. 780 INPUT"HOW MANY SQ. MILES TO PLANT ";L3
  79. 790 IF L3<0 THEN GOTO 780:
  80. 800 IF L3<=P*2 THEN GOTO 830:
  81. 810 PRINT "EACH COUNTRYMAN CAN ONLY PLANT 2 SQ. MILES":
  82. 820 GOTO 890:
  83. 830 IF L3<=L-1000 THEN GOTO 860:
  84. 840 PRINT "ONLY GOT ";L-1000;" SQ. MILES OF FARM LAND.":
  85. 850 GOTO 890:
  86. 860 LET M4=INT(L3*L1):
  87. 870 IF M4<=M THEN GOTO 930:
  88. 880 GOSUB 2180:
  89. 890 PRINT "YOU CAN AFFORD ";INT(M/L1);
  90. 900 PRINT " AND HAVE LABOR FOR ";P*2;
  91. 910 PRINT " AND HAVE ";L-1000;" SQ. MILES":
  92. 920 GOTO 780:
  93. 930 LET M=INT(M-M4):
  94. 940 IF M=0 THEN GOTO 1090:
  95. 950 INPUT"HOW MUCH TO SPEND FOR EDUCATION ";M2:
  96. 960 IF M2<0 THEN GOTO 950:
  97. 970 IF M2<M THEN GOTO 1000:
  98. 980 GOSUB 2180:
  99. 990 GOTO 950:
  100. 1000 LET M=INT(M-M2):
  101. 1010 IF M=0 THEN GOTO 1090:
  102. 1020 IF L=2000 THEN GOTO 1090:
  103. 1030 INPUT"HOW MUCH TO SPEND TO COMBAT POLLUTION ";M3:
  104. 1040 IF M3<0 THEN GOTO 1030:
  105. 1050 IF M3<=M THEN GOTO 1080:
  106. 1060 GOSUB 2180:
  107. 1070 GOTO 1030:
  108. 1080 LET M=INT(M-M3):
  109. 1090 GOSUB 2160:
  110. 1100 LET D0=0:
  111. 1110 LET E2=M2/P:
  112. 1120 LET D2=INT(P-M1/100):
  113. 1130 IF D2<=0 THEN GOTO 1160:
  114. 1140 LET D0=D2:
  115. 1150 PRINT  D2;"COUNTRYMEN DIED OF STARVATION.":
  116. 1160 LET D3=INT((S1/100000!)*(.1+.4*RND)*P):
  117. 1170 IF D3<=0 THEN GOTO 1200:
  118. 1180 PRINT  D3;" COUNTRYMEN DIED OF EXCESS POLLUTION.":
  119. 1190 LET D0=D0+D3:
  120. 1200 IF D0 <= 0 THEN GOTO 1330:
  121. 1210 LET F=D0*9:
  122. 1220 PRINT "YOU WERE FORCE TO SPEND";F;
  123. 1230 PRINT "RALLODS FOR FUNERAL EXPENSES":
  124. 1240 LET M=INT(M-F):
  125. 1250 IF M<=0 THEN GOTO 1330:
  126. 1260 PRINT "INSUFFICIENT RESOURCES FORCED SALE OF LAND.":
  127. 1270 LET T0=-INT((M-L0+1)/L0):
  128. 1280 LET L=L-T0:
  129. 1290 IF L>=1000 THEN GOTO 1320:
  130. 1300 PRINT "NOT ENOUGH LAND TO SELL":
  131. 1310 GOTO 2200:
  132. 1320 LET M=M+T0*L0:
  133. 1330 IF D0>200 THEN GOTO 2230:
  134. 1340 LET P=P-D0:
  135. 1350 LET D1=D1-D0:
  136. 1360 IF D1 < 0 THEN GOTO 2340:
  137. 1370 IF D2 <= 2 THEN GOTO 1390:
  138. 1380 IF M > 500 THEN GOTO 2460:
  139. 1390 IF L2=0 THEN GOTO 1450:
  140. 1400 LET T0=INT(L2+L2*RND*2):
  141. 1410 IF W=0 THEN GOTO 1430:
  142. 1420 LET T0=INT(T0+.1*W):
  143. 1430 PRINT T0;" WORKERS CAME TO THE ISLAND AND":
  144. 1440 LET W=W+T0:
  145. 1450 LET T0=INT(((500-P)/10-D3/3-D2/5)*.75*(1+RND)):
  146. 1460 PRINT ABS(T0);" COUNTRYMEN ";
  147. 1470 IF T0<0 THEN GOTO 1500:
  148. 1480 PRINT "CAME TO ";
  149. 1490 GOTO 1510:
  150. 1500 PRINT "LEFT ";
  151. 1510 PRINT " THE ISLAND.":
  152. 1520 LET P=P+T0:
  153. 1530 IF P<W THEN GOTO 2410:
  154. 1540 LET T0=0:
  155. 1550 IF L=2000 THEN GOTO 1610:
  156. 1560 LET T0=INT((S1/100000!)*L3):
  157. 1570 IF T0<=L3 THEN GOTO 1590:
  158. 1580 LET T0=L3:
  159. 1590 IF T0=0 THEN GOTO 1610:
  160. 1600 PRINT "OF ";L3;" SQ. MILES PLANTED, ";
  161. 1610 PRINT "YOU HARVESTED ";L3-T0;" SQ. MILES OF CROPS.":
  162. 1620 IF T0=0 THEN GOTO 1690:
  163. 1630 IF X2>=2 THEN GOTO 1690:
  164. 1640 PRINT "  (DUE TO ";
  165. 1650 IF X2=0 THEN GOTO 1670:
  166. 1660 PRINT "INCREASED ";
  167. 1670 PRINT "POLLUTION LEVEL)":
  168. 1680 LET X2=X2+1:
  169. 1690 LET T1=INT((39+RND*20)*(1+.25*(E0+E1)/20)):
  170. 1700 PRINT "  MAKING ";INT(T1*(L3-T0));" RALLODS.":
  171. 1710 LET M=M+INT(T1*(L3-T0)):
  172. 1720 LET E0=E1:
  173. 1730 IF E2 <= 10 THEN GOTO 1750:
  174. 1740 LET E2=10:
  175. 1750 LET E1=E2:
  176. 1760 LET T0=2000-L:
  177. 1770 IF T0 < 2 THEN GOTO 2040:
  178. 1780 IF T0 <= 26 THEN GOTO 1800:
  179. 1790 LET T0=26:
  180. 1800 LET T0=INT(T0*500*(.52+.5*RND)):
  181. 1810 LET T1=S1/100000!:
  182. 1820 IF T1<=1 THEN GOTO 1840:
  183. 1830 LET T1=1:
  184. 1840 LET T1=T1*T0:
  185. 1850 PRINT "YOU MADE ";INT(T0-T1);" RALLODS FROM TOURIST TRADE"
  186. 1860 LET M=M+INT(T0-T1):
  187. 1870 IF INT(T0-T1) <= M5 THEN GOTO 2020:
  188. 1880 IF S1<=S9 THEN GOTO 2020:
  189. 1890 PRINT "  DECREASE BECAUSE ";
  190. 1900 LET T2=RND*10:
  191. 1910 ON (T2/2)+1 GOTO 1920,1950,1970,1990,2010,2010:
  192. 1920 PRINT "FISH POPULATION HAS DWINDLED DUE TO":
  193. 1930 PRINT " WATER POLLUTION":
  194. 1940 GOTO 2020:
  195. 1950 PRINT "AIR POLLUTION IS KILLING GAME BIRD POPULATION":
  196. 1960 GOTO 2020:
  197. 1970 PRINT "MINERAL BATHS ARE BEING RUINED BY WATER POLLUTION":
  198. 1980 GOTO 2020:
  199. 1990 PRINT "UNPLEASANT SMOG IS DISCOURIGING SUN BATHERS":
  200. 2000 GOTO 2020:
  201. 2010 PRINT "HOTEL ARE LOOKING SHABBY DUE TO SMOG GRIT":
  202. 2020 LET M5=INT(T0-T1):
  203. 2030 LET S9=S1:
  204. 2040 LET S2=(2000-L)^2-M3/.44:
  205. 2050 PRINT "YOU RECEIVED ";X9;" RALLODS FROM TAXES ON INDUSTRY"
  206. 2060 IF S2>=0 THEN GOTO 2110:
  207. 2070 LET S1=INT(S1+S2/2):
  208. 2080 IF S1 >= S0 THEN GOTO 2100:
  209. 2090 LET S1=S0:
  210. 2100 GOTO 2130:
  211. 2110 LET S1=INT(S1+S2):
  212. 2120 LET S0=INT(S0+S2/10):
  213. 2130 LET N5=N5-1:
  214. 2140 IF N5>0 THEN GOTO 420:
  215. 2150 GOTO 2510:
  216. 2160 PRINT:
  217. 2170 RETURN:
  218. 2180 PRINT "ONLY GOT ";M;" RALLODS LEFT!":
  219. 2190 RETURN:
  220. 2200 PRINT "YOU'VE BEEN THROWN OUT OF OFFICE AND YOU ARE NOW":
  221. 2210 PRINT "RESIDING IN PRISON.":
  222. 2220 END:
  223. 2230 PRINT D0;"COUNTRYMEN DIED IN ONE YEAR!":
  224. 2240 PRINT "DUE TO THIS EXTREME MISMANAGEMENT YOU HAVE NOT ONLY"
  225. 2250 PRINT "BEEN IMPEACHED AND THROWN OUT OF OFFICE BUT YOU"
  226. 2260 LET T0=INT(RND*2.01)+1:
  227. 2270 ON T0 GOTO 2280,2300,2320:
  228. 2280 PRINT "ALSO HAD YOUR LEFT EYE GOUGED OUT.":
  229. 2290 END:
  230. 2300 PRINT "HAVE ALSO GAINED A VERY BAD REPUTATION.":
  231. 2310 END:
  232. 2320 PRINT "HAVE ALSO BEEN DECLARED NATIONAL FINK.":
  233. 2330 END:
  234. 2340 PRINT "OVER 1/3 OF THE POPULATION HAS DIED SINCE YOU":
  235. 2350 PRINT "WERE ELECTED TO OFFICE.  THE PEOPLE (REMAINING)":
  236. 2360 PRINT "HATE YOUR GUTS.":
  237. 2370 GOTO 2380:
  238. 2380 IF RND < .25 THEN GOTO 2200:
  239. 2390 PRINT "YOU HAVE BEEN ASSASINATED.":
  240. 2400 END:
  241. 2410 PRINT "THE NUMBER OF FOREIGN WORKERS HAS EXCEEDED";
  242. 2420 PRINT " THE NUMBER OF COUNTRYMEN.":
  243. 2430 PRINT "AS A MAJORITY THEY HAVE REVOLTED AND ";
  244. 2440 PRINT "TAKEN OVER THE COUNTRY.":
  245. 2450 GOTO 2380:
  246. 2460 PRINT "MONEY WAS LEFT OVER IN THE TREASURY WHICH YOU DID NOT":
  247. 2470 PRINT "SPEND.  AS A RESULT SOME OF YOUR COUNTRYMEN DIED OF ":
  248. 2480 PRINT "STARVATION.  THE PUBLIC IS ENRAGED AND YOU HAVE BEEN":
  249. 2490 PRINT "FORCED TO EITHER RESIGN OR COMMIT SUICIDE.":
  250. 2500 END:
  251. 2510 PRINT: 
  252. 2520 PRINT "CONGRATULATIONS":
  253. 2530 PRINT "YOU HAVE SUCCESSFULLY COMPLETED YOUR ";N4;" YEAR TERM":
  254. 2540 PRINT "OF OFFICE.  YOU HAVE DONE SUCH A GOOD JOB THAT YOU MIGHT":
  255. 2550 PRINT "WANT TO RUN FOR ELECTION AGAIN THIS TIME.":
  256. 2560 PRINT "TYPE 0 (ZERO) IF YOU DO";
  257. 2570 INPUT Q
  258. 2580 LET N5=N4:
  259. 2590 IF Q=0 THEN GOTO 410:
  260. 2600 END:
  261. AIN THIS TIME.":
  262. 2560 PRINT "TYPE 0 (ZERO) IF YOU DO";
  263. 2570 INPUT Q
  264. 2580 LET N5=N