home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol142 / ausopoly.bas < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  26.2 KB  |  1,061 lines

  1. 10 'V 15-01-83    **************************************************************
  2. 20 '1             *
  3. 30 '.             *         MONOPOLY
  4. 40 '0             *  FROM RCPM VOL 008
  5. 50 '1 23-01-83    *
  6. 60 '              **************************************************************
  7. 70 'ADAPTED BY BOB LIDDELOW TO MBASIC 5.21 & OC-1
  8. 80 '1.01 -ENGLISH PLACE NAMES SUBBED FOR AMERICAN
  9. 100 DIM P$(41),S(41),R(41),V(41),J(41),M(41),K(21),L(41),C(41),B(41),O(41)
  10. 110 WIDTH 52:PRINT CHR$(26)"HOW MANY PLAYERS";
  11. 120 NNN=0:PRINT "(TYPE '0' FOR INSTRUCTIONS) ?";
  12. 130 NN$=INKEY$:IF NN$="" THEN NNN=NNN+1:GOTO 130 ELSE N=VAL(NN$):PRINT N
  13. 140 RANDOMIZE(NNN)
  14. 150 IF N>0 THEN 180
  15. 160 GOSUB 8690
  16. 170 GOTO 110
  17. 180 IF N<11 THEN 210
  18. 190 PRINT " NO MORE THAN 10 CAN PLAY"
  19. 200 GOTO 110
  20. 210 FOR Q5 = 1 TO N
  21. 220 PRINT CHR$(10) "NAME OF"Q5;
  22. 230 REM THIS PART STARTED FROM 151-2
  23. 240 REM A(B)=0 FOR HUMAN, 1 FOR COMPUTER
  24. 250 GOTO 310
  25. 260 N$(Q5)="COMPUTER"
  26. 270 A(Q5)=1
  27. 280 W7=W7+1
  28. 290 REM W7 IS # OF COMPUTER PLAYERS
  29. 300 GOTO 470
  30. 310 INPUT N$(Q5):IF N$(Q5)="" GOTO 310
  31. 320 IF N$(Q5)="COMPUTER" THEN 260
  32. 330 IF N$(Q5)="YOU" THEN 260
  33. 340 IF N$(Q5)<>"WHAT" THEN 360
  34. 350 GOTO 440
  35. 360 Z7=1
  36. 370 FOR O1=1 TO Q5-1
  37. 380 IF M$(O1)<>N$(Q5) THEN 410
  38. 390 PRINT "NAME IN USE, INPUT ANOTHER"
  39. 400 GOTO 220
  40. 410 NEXT O1
  41. 420 M$(Q5)=N$(Q5)
  42. 430 GOTO 470
  43. 440 PRINT "TYPE PLAYERS NAME (ONE ONLY AT A TIME)"
  44. 450 PRINT "'YOU' IF THE COMPUTER IS PLAYING."
  45. 460 GOTO 220
  46. 470 T(Q5)=1500
  47. 480 NEXT Q5
  48. 490 IF Z7=1 THEN 520
  49. 500 A7=1
  50. 510 A8=1
  51. 520 FOR B4= 1 TO 40
  52. 530 REM READS DATA, P$=NAME,S IS TYPE,R IS RENT, AND C IS COST
  53. 540 READ P$(B4),S(B4)
  54. 550 REM B3= B= PLAYER NUMBER
  55. 560 IF S(B4)>8 THEN 580
  56. 570 GOTO 600
  57. 580 READ L(B4),C(B4)
  58. 590 R(B4)=L(B4)
  59. 600 NEXT B4
  60. 610 I0=1
  61. 620 J0=200
  62. 630 I=I+1
  63. 640 PRINT
  64. 650 PRINT "TURN";I
  65. 660 PRINT
  66. 670 GOSUB 7020
  67. 680 IF I0=0 THEN 710
  68. 690 GOTO 2890
  69. 700 I0=0
  70. 710 FOR B3=1 TO N
  71. 720 B=B3
  72. 730 IF A(B)=1 THEN 770
  73. 740 O$="YOU"
  74. 750 I$="YOUR"
  75. 760 GOTO 800
  76. 770 O$="I"
  77. 780 I$="MY"
  78. 790 REM THIS SETS O AND I$ FOR COMPUTER OR HUMAN
  79. 800 R5=0
  80. 810 U=0
  81. 820 IF Q(B)=1 THEN 3830
  82. 830 IF A(B)=1 THEN 890
  83. 840 IF N$(B)<>"ME" THEN 870
  84. 850 PRINT "YOUR TURN"
  85. 860 GOTO 930
  86. 870 PRINT N$(B3);"'S TURN"
  87. 880 GOTO 930
  88. 890 PRINT "MY TURN";
  89. 900 IF W7=1 THEN 920
  90. 910 PRINT "(PLAYER";B;")";
  91. 920 PRINT
  92. 930 IF T(B)>0 THEN 950
  93. 940 GOSUB 9130
  94. 950 IF Q(B)=1 THEN    3830
  95. 960 IF E(B)=0 THEN 990
  96. 970 B9=B3
  97. 980 GOSUB 4880
  98. 990 IF T(B)> 100 THEN 1010
  99. 1000 GOSUB 5820
  100. 1010 IF N(B)>0 THEN 1030
  101. 1020 IF X(B)=0 THEN 1050
  102. 1030 GOSUB 6340
  103. 1040 GOTO 1050
  104. 1050 B2=INT(RND(1)*6)+1
  105. 1060 B1=INT(RND(1)*6)+1
  106. 1070 PRINT "THE DICE ARE ON";B1;" AND ";B2
  107. 1080 IF B1=B2 THEN 1120 ELSE G(B)=0
  108. 1090 IF J(B)=1 THEN 1260
  109. 1100 G(B)=0
  110. 1110 GOTO 1620
  111. 1120 G(B)= G(B)+1
  112. 1130 REM G(B) IS NUMBER OF DOUBLES
  113. 1140 IF G(B)>=3 THEN 1210
  114. 1150 IF J(B)=1 THEN 1180
  115. 1160 REM J(B)= 1IF IN JAIL, =0 IF OUT OF JAIL
  116. 1170 GOTO 1620
  117. 1180 J(B)=0
  118. 1190 PRINT "OUT OF JAIL "
  119. 1200 GOTO 2870
  120. 1210 J(B)=1
  121. 1220 PRINT "3 DOUBLES . IN JAIL"
  122. 1230 P(B)=10:G(B)=0
  123. 1240 GOTO 2880
  124. 1250 G(B)=0
  125. 1260 IF F(B)>0 THEN 1280
  126. 1270 GOTO 1400
  127. 1280 PRINT " IN JAIL WILL ";O$;" USE ";I$;" JAILCARD";
  128. 1290 IF A(B)=0 THEN 1320
  129. 1300 PRINT "?* YES *"
  130. 1310 GOTO 1370
  131. 1320 INPUT X$
  132. 1330 IF LEFT$(X$,1)="N" THEN  1400
  133. 1340 IF LEFT$(X$,1)="Y" THEN 1370
  134. 1350 PRINT "YES OR NO";
  135. 1360 GOTO 1320
  136. 1370 F(B)=F(B)-1
  137. 1380 D(B)=0
  138. 1390 GOTO 1600
  139. 1400 IF D(B)<3 THEN 1430
  140. 1410 PRINT "THIRD TIME IN JAIL.";O$;" MUST PAY $50."
  141. 1420 GOTO 1590
  142. 1430 PRINT "IN JAIL. WILL ";O$;" PAY $50";
  143. 1440 IF A(B)=0 THEN 1520
  144. 1450 D(B)=D(B)+1
  145. 1460 IF D(B)=3 THEN 1500
  146. 1470 IF T(B)>200 THEN 1500
  147. 1480 PRINT "?   *NO*"
  148. 1490 GOTO 2880
  149. 1500 PRINT "?  *YES*"
  150. 1510 GOTO 1590
  151. 1520 P(B)=P(B)+1
  152. 1530 INPUT A$
  153. 1540 P(B)=10
  154. 1550 IF LEFT$(A$,1)="Y" THEN 1590
  155. 1560 IF LEFT$(A$,1)="N" THEN 2880
  156. 1570 PRINT "TYPE 'YES' OR 'NO'";
  157. 1580 GOTO 1400
  158. 1590 T(B)= T(B)-50
  159. 1600 J(B)=0
  160. 1610 D(B)=0
  161. 1620 P(B)= P(B)+B1+B2
  162. 1630 R5=0
  163. 1640 U=0
  164. 1650 P=P(B)
  165. 1660 IF P(B)>40 THEN 1680
  166. 1670 GOTO 1720
  167. 1680 P(B)= P(B)- 40
  168. 1690 P=P(B)
  169. 1700 T(B)= T(B)+200
  170. 1710 PRINT "***** PASSED     GO!! COLLECTED $200 "
  171. 1720 IF S(P(B))>10 THEN 1750
  172. 1730 GOTO 2400
  173. 1740 P=P(B3)
  174. 1750 IF V(P(B))>B THEN 2150
  175. 1760 REM V(--) IS THE OWNER OF THE PROPERTY
  176. 1770 IF V(P(B))<B THEN 1790
  177. 1780 GOTO 1810
  178. 1790 IF V(P(B))>0 THEN 2150
  179. 1800 GOTO 1870
  180. 1810 Y9=P(B)
  181. 1820 IF A(B)=0 THEN 1850
  182. 1830 PRINT "I AM ON <";P$(P);"> WHICH I OWN."
  183. 1840 GOTO 2870
  184. 1850 PRINT "YOU ARE ON <";P$(Y9); "> WHICH YOU OWN "
  185. 1860 GOTO 2870
  186. 1870 P=P(B3)
  187. 1880 IF A(B)=0 THEN 1910
  188. 1890 PRINT"<" P$(P);"> IS AVAILABLE AT PRICE $";C(P);" WILL I BUY IT";
  189. 1900 GOTO 1930
  190. 1910 PRINT "WILL YOU BUY <";P$(P);"> FOR $";C(P);
  191. 1920 IF A(B)=0 THEN 1980
  192. 1930 IF T(B)<200 +C(P) THEN 1960
  193. 1940 PRINT "?  *YES*"
  194. 1950 GOTO 2030
  195. 1960 PRINT "?  *NO*"
  196. 1970 GOTO 2870
  197. 1980 INPUT A$
  198. 1990 IF LEFT$(A$,1)="Y" THEN 2030
  199. 2000 IF LEFT$(A$,1)="N" THEN 2870
  200. 2010 PRINT "YES OR NO";
  201. 2020 GOTO 1980
  202. 2030 T(B)= T(B)- C(P(B))
  203. 2040 IF R5=1 THEN 2060
  204. 2050 GOTO 2070
  205. 2060 W(B)=W(B)+1
  206. 2070 IF U=1 THEN 2090
  207. 2080 GOTO 2100
  208. 2090 U(B)= U(B)+1
  209. 2100 V(P(B))= B
  210. 2110 U8=0
  211. 2120 GOSUB 4370
  212. 2130 GOTO 2870
  213. 2140 REM THIS IS RENT ROUTINE
  214. 2150 IF R5=0 THEN 2180
  215. 2160 R(P(B))= 25* W(V(P(B)))
  216. 2170 GOTO 8430
  217. 2180 IF U=0 THEN 8430
  218. 2190 IF U(B)=2 THEN 2220
  219. 2200 U3=4
  220. 2210 GOTO 2230
  221. 2220 U3=10
  222. 2230 GOTO 8420
  223. 2240 IF A(W8)=0 THEN 2290
  224. 2250 PRINT "<"P$(W9); "> IS MINE";
  225. 2260 IF W7=1 THEN 2300
  226. 2270 PRINT "(PLAYER";W8;")";
  227. 2280 GOTO 2300
  228. 2290 PRINT "<"P$(W9);"> BELONGS TO "; N$(W8);
  229. 2300 IF M(P(B))=1 THEN 2350
  230. 2310 PRINT ", RENT IS $ "; R(P(B))
  231. 2320 T(B)=T(B)-R(P(B))
  232. 2330 T(V(P))= T(V(P))+ R(P(B))
  233. 2340 GOTO 2870
  234. 2350 PRINT " ,BUT IT IS MORTGAGED"
  235. 2360 GOTO 2870
  236. 2370 P=P(B3)
  237. 2380 T(V(P(B)))= T(V(P(B)))+ R(P(B))
  238. 2390 GOTO 2870
  239. 2400 ON S(P(B)) GOTO 2870,2480,2530,2600,2710,2740,2780,2420,2820,2850
  240. 2410 REM FOR UNIQUE SQUARES IT SENDS THE PROGRAM TO THE RIGHT DIRECTION
  241. 2420 Y9=P(B)
  242. 2430 IF A(B)=0 THEN 2460
  243. 2440 PRINT "I AM ON <";P$(Y9);">."
  244. 2450 GOTO 2870
  245. 2460 PRINT "YOU ARE ON <";P$(Y9)">"
  246. 2470 GOTO 2870
  247. 2480 PRINT "COMMUNITY CHEST ";
  248. 2490 PRINT "--";
  249. 2500 GOSUB 3860
  250. 2510 REM GOES TO CHANCE-COMMUNITY CHEST GOSUB
  251. 2520 GOTO 2550
  252. 2530 PRINT "CHANCE--";
  253. 2540 GOSUB 3860
  254. 2550 IF V0=1 THEN 2570
  255. 2560 GOTO 2870
  256. 2570 V0=0
  257. 2580 R5=1
  258. 2590 GOTO 1750
  259. 2600 Z2=.1*(T(B))
  260. 2610 IF Z2>0 THEN 2640
  261. 2620 PRINT  O$;" IS ON INCOME TAX, BUT HAS A NEGATIVE AMOUNT OF MONEY"
  262. 2630 GOTO 2870
  263. 2640 IF Z2>200 THEN 2680
  264. 2650 T(B)= T(B)-INT(Z2)
  265. 2660 PRINT "INCOME TAX--$";INT(Z2)
  266. 2670 GOTO 2870
  267. 2680 T(B)= T(B)- 200
  268. 2690 PRINT "INCOME TAX-$200"
  269. 2700 GOTO 2870
  270. 2710 T(B)= T(B)-75
  271. 2720 PRINT "SUPER TAX $75"
  272. 2730 GOTO 2870
  273. 2740 J(B)=1
  274. 2750 P(B)=10
  275. 2760 PRINT "GO TO JAIL"
  276. 2770 GOTO 2870
  277. 2780 PRINT "FREE PARKING-$";J0;"."
  278. 2790 T(B)=T(B)+J0
  279. 2800 J0=200
  280. 2810 GOTO 2870
  281. 2820 R5=1
  282. 2830 GOTO 1750
  283. 2840 GOTO 2870
  284. 2850 U=1
  285. 2860 GOTO 1740
  286. 2870 IF G(B)>0 THEN 1050
  287. 2880 PRINT
  288. 2890 IF A8=-1 THEN J8=B3:GOTO 3130
  289. 2900 IF A8=0 THEN 2960
  290. 2910 IF A8=5 THEN 2940
  291. 2920 A8=A8+1
  292. 2930 GOTO 3810
  293. 2940 A8=1
  294. 2950 GOTO 3110
  295. 2960 PRINT "SUMMARY";
  296. 2970 INPUT A$
  297. 2980 IF A$="AUTO" THEN 3000
  298. 2990 GOTO 3020
  299. 3000 PRINT:INPUT"   PRESS <RET> TO CONTINUE ",ANY$:A8=1
  300. 3010 GOTO 3810
  301. 3020 IF A$="ALWAYS" THEN 3040
  302. 3030 GOTO 3060
  303. 3040 A8=-1
  304. 3050 GOTO 3110
  305. 3060 IF LEFT$(A$,1)="N" THEN 3810
  306. 3070 IF LEFT$(A$,1)="Y" THEN 3110
  307. 3080 PRINT "<YES>, <NO>, <AUTO> OR <ALWAYS>. AUTO GIVES SUMMARY EVERY 5 TURNS.
  308. 3090 PRINT "ALWAYS GIVES FULL SUMMARY EVERY TURN"
  309. 3100 GOTO 2960
  310. 3110 GOTO 3120
  311. 3120 FOR J8=1 TO N
  312. 3130 PRINT :X=0
  313. 3140 T0=0
  314. 3150 IF Q(J8)=1 THEN 3760
  315. 3160 T$=" "
  316. 3170 IF A(J8)=1 THEN 3230
  317. 3180 IF N$(J8)<>"ME" THEN 3210
  318. 3190 PRINT "YOU HAVE $";T(J8);
  319. 3200 GOTO 3270
  320. 3210 PRINT N$(J8);" HAS $";T(J8);
  321. 3220 GOTO 3270
  322. 3230 PRINT "I";
  323. 3240 IF W7=1 THEN 3260
  324. 3250 PRINT "(PLAYER";J8;")";
  325. 3260 PRINT " HAVE $";T(J8);
  326. 3270 FOR J9=1 TO 40
  327. 3280 IF V(J9)=J8 THEN 3300
  328. 3290 GOTO 3460
  329. 3300 IF T$= " " THEN 3320
  330. 3310 PRINT ","; T$;
  331. 3320 T$= P$(J9)
  332. 3330 X=X+C(J9)+B(J9)*INT((S(J9)-10)/2+.5)*50 -M(J9)* .5*C(J9)
  333. 3340 IF B(T)=0 THEN 3420
  334. 3350 IF B(T)>1 THEN 3380
  335. 3360 PRINT "(WITH A HOUSE)";
  336. 3370 GOTO 3420
  337. 3380 IF B(T)<5 THEN 3410
  338. 3390 PRINT "(WITH A HOTEL)";
  339. 3400 GOTO 3420
  340. 3410 PRINT "(WITH";B(T);"HOUSES)";
  341. 3420 IF M(T)=0 THEN 3440
  342. 3430 PRINT "(MORTGAGED)";
  343. 3440 T=J9
  344. 3450 IF T0=1 THEN 3570
  345. 3460 NEXT J9
  346. 3470 IF F(J8)>0 THEN 3530
  347. 3480 IF T$<>" " THEN 3510
  348. 3490 PRINT "."
  349. 3500 GOTO 3720
  350. 3510 PRINT ", AND ";T$;
  351. 3520 GOTO 3550
  352. 3530 IF T$=" " THEN 3580
  353. 3540 PRINT ",";T$;
  354. 3550 T0=1
  355. 3560 GOTO 3340
  356. 3570 T0=0
  357. 3580 IF F(J8)=0 THEN 3660
  358. 3590 IF F(J8)=1 THEN 3630
  359. 3600 PRINT ",AND ";F(J8);"JAILCARDS.";
  360. 3610 X=X+F(J8)*50
  361. 3620 GOTO 3720
  362. 3630 PRINT ",AND A JAILCARD.";
  363. 3640 X=X+50
  364. 3650 GOTO 3720
  365. 3660 IF T$=" " THEN 3720
  366. 3670 K(0)=LEN(T$):FOR XE=1 TO K(0):K(XE)=ASC(MID$(T$,XE,1)):NEXT XE
  367. 3680 IF K(K(0))=46 THEN 3710
  368. 3690 PRINT ".";
  369. 3700 GOTO 3720
  370. 3710 GOTO 3720
  371. 3720 PRINT
  372. 3730 IF  X=0 THEN 3750
  373. 3740 PRINT "     TOTAL ASSETS:$";T(J8)+X;"."
  374. 3750 PRINT:IF J8=N OR A8=-1 THEN GOTO 3755 ELSE INPUT"     PRESS <RET> TO CONTINUE ",ANY$
  375. 3755 IF A8=-1 GOTO 3770
  376. 3760 NEXT J8
  377. 3770 PRINT "         ";
  378. 3780 PRINT "$";J0;" ON THE FREE PARKING JACKPOT."
  379. 3790 'PRINT
  380. 3800 PRINT:INPUT"     PRESS <RET> TO CONTINUE ",ANY$
  381. 3810 IF I0=0 THEN 3830
  382. 3820 GOTO 700
  383. 3830 PRINT
  384. 3840 NEXT B3
  385. 3850 GOTO 630
  386. 3860 J5=INT(RND(1)*7)+1
  387. 3870 ON J5 GOTO 3880,3920,3980,4040,4100,4150,4180
  388. 3880 PRINT "GOTO JAIL!!!"
  389. 3890 J(B)=1
  390. 3900 P(B)=10
  391. 3910 GOTO 4200
  392. 3920 PRINT "COLLECT $50 FROM EVERYONE"
  393. 3930 FOR Y3=1 TO N
  394. 3940 T(Y3)= T(Y3)-50
  395. 3950 NEXT Y3
  396. 3960 T(B)=T(B)+N*50
  397. 3970 GOTO 4200
  398. 3980 PRINT "GO TO  KING'S CROSS STATION"
  399. 3985 PRINT"    PASSED GO - COLLECT $200":T(B)=T(B)+200
  400. 3990 P(B)=5
  401. 4000 P=5
  402. 4010 V0=1
  403. 4020 REM V0 TELLS THE PROGRAM TO GO TO KING'S CROSS
  404. 4030 RETURN
  405. 4040 PRINT "PAY ALL $50"
  406. 4050 FOR Y4=1 TO N
  407. 4060 T(Y4)= T(Y4)+50
  408. 4070 NEXT Y4
  409. 4080 T(B)=T(B)-N*50
  410. 4090 GOTO 4200
  411. 4100 Y2=INT(RND(1)*4)+1
  412. 4110 PRINT "PAY  $";Y2*50
  413. 4120 T(B)=T(B)-Y2*50
  414. 4130 J0=J0+Y2*50
  415. 4140 GOTO 4200
  416. 4150 PRINT "GO DIRECTLY TO GO"
  417. 4160 P(B)=40
  418. 4170 GOTO 4200
  419. 4180 PRINT "TICKET OUT OF JAIL"
  420. 4190 F(B)=F(B)+1
  421. 4200 RETURN
  422. 4210 DATA OLD KENT ROAD,11,2,60,CC,2,WHITECHAPEL ROAD,11,4,60,IT,4
  423. 4220 DATA KING'S CROSS STATION,9,25,200,THE ANGEL ISLINGTON,12,6,100,CH,3
  424. 4230 DATA EUSTON ROAD,12,6,100,PENTONVILLE ROAD,12,8,120,JAIL,8
  425. 4240 DATA PALL MALL,13,10,140,ELECTRIC Co.,10,1,150,WHITEHALL
  426. 4250 DATA 13,10,140,NORTHUMBERLAND AVENUE,13,12,160,MARYLEBONE STATION,9,25,200
  427. 4260 DATA BOW STREET,14,14,180,CC,2,MARLBOROUGH STREET,14,14,180
  428. 4270 DATA VINE STREET,14,16,200,FP,7,STRAND,15,18,200
  429. 4280 DATA CH,3,FLEET STREET,15,18,220,TRAFALGAR SQUARE,15,20,240
  430. 4290 DATA FENCHURCH ST. STATION,9,25,200
  431. 4300 DATA LIECESTER SQUARE,16,22,260,COVENTRY STREET
  432. 4310 DATA  16,22,260,WATER WORKS,10,1,150,PICCADILLY
  433. 4320 DATA 16,24,280,GOJAIL,6,REGENT STREET,17,26,300,OXFORD STREET
  434. 4330 DATA 17,26,300,CC,2,BOND STREET,17,28,320
  435. 4340 DATA LIVERPOOL ST. STATION,9,25,200,CHANCE,3,PARK LANE,18
  436. 4350 DATA 35,350,LT,5,MAYFAIR,18,50,400,GO,8
  437. 4360 DATA GO,8
  438. 4370 Z=0
  439. 4380 Z(3)=0
  440. 4390 Z(2)=0
  441. 4400 Z(1)=0
  442. 4410 IF U8=0 THEN 4450
  443. 4420 B9=E9
  444. 4430 P=E8
  445. 4440 GOTO 4470
  446. 4450 B9=B3
  447. 4460 P=P(B9)
  448. 4470 IF S(P)<11 THEN 4600
  449. 4480 IF P>4 THEN 4510
  450. 4490 I7=0
  451. 4500 GOTO 4520
  452. 4510 I7= P-4
  453. 4520 IF P>35 THEN 4550
  454. 4530 Q1= P+4
  455. 4540 GOTO 4560
  456. 4550 Q1=40
  457. 4560 FOR W1= I7 TO Q1
  458. 4570 IF S(W1) = S(P) THEN 4590
  459. 4580 GOTO 4630
  460. 4590 IF V(W1)= B9 THEN 4610
  461. 4600 RETURN
  462. 4610 Z=Z+1
  463. 4620 Z(Z)=W1
  464. 4630 NEXT W1
  465. 4640 E(B9)= E(B9)+1
  466. 4650 IF A(B9)=0 THEN 4680
  467. 4660  PRINT "I HAVE A MONOPOLY AND THE RENTS ARE DOUBLED"
  468. 4670 GOTO 4690
  469. 4680 PRINT "YOU NOW HAVE MONOPOLY. THE RENTS ARE DOUBLED"
  470. 4690 FOR Z2=1 TO 3
  471. 4700 R(Z(Z2))= 2*R(Z(Z2))
  472. 4710 O(Z(Z2))=1
  473. 4720 NEXT Z2
  474. 4730 IF S(Z(1))<11 THEN 4750
  475. 4740 GOTO 4760
  476. 4750 RETURN
  477. 4760 GOSUB 4880
  478. 4770 U8=0
  479. 4780 RETURN
  480. 4790 FOR I1=1 TO 40
  481. 4800 IF S(I1)= S(B) THEN 4820
  482. 4810 GOTO  4860
  483. 4820 IF V(I1)= V9 THEN 4840
  484. 4830 RETURN
  485. 4840 Z=Z+1
  486. 4850 Z(Z)=I1
  487. 4860 NEXT I1
  488. 4870 GOTO 4680
  489. 4880 PRINT " DO ";O$;" WANT HOUSES NOW";
  490. 4890 IF A(B9)=0 THEN 4930
  491. 4900 IF T(B9)>500 THEN  4990
  492. 4910 PRINT "? *NO*"
  493. 4920 RETURN
  494. 4930 INPUT Z$
  495. 4940 IF LEFT$(Z$,1)="N" THEN 4980
  496. 4950 IF LEFT$(Z$,1)="Y" THEN 5010
  497. 4960 PRINT "YES OR NO";
  498. 4970 GOTO 4930
  499. 4980 RETURN
  500. 4990 I3=1
  501. 5000 GOTO 5030
  502. 5010 PRINT "LOT,  #OF HOUSES";
  503. 5020 IF A(B)=0  THEN 5230
  504. 5030 FOR I2= 1 TO 40
  505. 5040 IF V(I2)<>B9 THEN 5100
  506. 5050 IF O(I2)=0 THEN 5100
  507. 5060 IF B(I2)>4 THEN 5100
  508. 5070 GOTO 5160
  509. 5080 H=I2
  510. 5090 GOTO 5360
  511. 5100 NEXT I2
  512. 5110 GOTO 5140
  513. 5120 IF I3> 5 THEN 5140
  514. 5130 GOTO 5030
  515. 5140 PRINT "?*NO*"
  516. 5150 RETURN
  517. 5160 IF T(B)>1700 THEN 5200
  518. 5170 IF B(I2)>5-INT(T(B)/350) THEN 5200
  519. 5180 H4=INT (T(B)/350)
  520. 5190 GOTO 5210
  521. 5200 H4= 5-B(I2)
  522. 5210 PRINT "?* YES ";H4;" ON ";P$(I2);"*"
  523. 5220 GOTO 5370
  524. 5230 INPUT H$,H5
  525. 5240 IF H$="N"OR H$="NO" THEN 4980
  526. 5250 IF H$="WHAT" THEN 9490
  527. 5260 IF H5>0 THEN 5300
  528. 5270 PRINT "A POSITIVE NUMBER PLEASE!"
  529. 5280 INPUT H5
  530. 5290 GOTO 5260
  531. 5300 FOR H=1 TO 40
  532. 5310 IF P$(H)= H$   THEN 5360
  533. 5320 NEXT H
  534. 5330 PRINT "WHAT LOT";
  535. 5340 INPUT H$
  536. 5350 GOTO 5240
  537. 5360 IF A(B)=0 THEN 5420
  538. 5370 H5=H4
  539. 5380 H=I2
  540. 5390 GOTO 5420
  541. 5400 PRINT "YOU DON'T OWN THAT"
  542. 5410 GOTO 4880
  543. 5420 H7=H5+B(H)
  544. 5430 GOSUB 5450
  545. 5440 GOTO 5700
  546. 5450 R(H)=L(H)
  547. 5460 IF H7<6 THEN 5500
  548. 5470 PRINT " YOU WILL HAVE TO HAVE 5 HOUSES (ONE HOTEL)"
  549. 5480 H5=H7-B(H)
  550. 5490 H7=5
  551. 5500 IF H7>0 THEN 5530
  552. 5510 PRINT "YOU CAN'T HAVE LESS THAN 0 HOUSES."
  553. 5520 GOTO 5680
  554. 5530 B(H)=0
  555. 5540 FOR H6= 1 TO H7
  556. 5550 B(H)=H6
  557. 5560 J=H
  558. 5570 IF B(H)=0 THEN 4980
  559. 5580 ON B(H) GOTO 5590,5610,5630,5650,5650
  560. 5590 R(J)= R(J)*2.5
  561. 5600 GOTO 5660
  562. 5610 R(J)=R(J)*3
  563. 5620 GOTO 5660
  564. 5630 R(J)= R(J)*2.3
  565. 5640 GOTO 5660
  566. 5650 R(J)=R(J)+185
  567. 5660 R(J)= 10* INT(R(J)/10 +.5)
  568. 5670 NEXT H6
  569. 5680 PRINT "THE RENT IS NOW $";R(J);"."
  570. 5690 RETURN
  571. 5700 C=INT((S(J)-10)/2+.5)*50
  572. 5710 IF H5=1 THEN 5740
  573. 5720 PRINT "THOSE WERE $";C;"EACH, MAKING $";H5*C;"."
  574. 5730 GOTO 5750
  575. 5740 PRINT "THAT WAS $";C;"."
  576. 5750 T(B9)= T(B9)- H5*C
  577. 5760 'X(B9)=X(B9)+H5
  578. 5770 RETURN
  579. 5780 PRINT "ANOTHER";
  580. 5790 GOTO 4890
  581. 5800 RETURN
  582. 5810 GOTO 4550
  583. 5820 PRINT "WHAT DO ";O$;" WANT TO MORTGAGE";
  584. 5830 I3=1
  585. 5840 IF A(B)=0 THEN 6020
  586. 5850 IF T(B)>150 THEN 5970
  587. 5860 FOR I4= 1 TO 40
  588. 5870 IF V(I4)=B THEN 5890
  589. 5880 GOTO 5950
  590. 5890 IF O(I4)= I3 THEN 5950
  591. 5900 IF M(I4)=1 THEN 5950
  592. 5910 IF B(I4)<>0 THEN 5950
  593. 5920 PRINT "?  *";P$(I4);"*"
  594. 5930 Z5=I4
  595. 5940 GOTO 6110
  596. 5950 NEXT I4
  597. 5960 IF I3=1 THEN 6000
  598. 5970 PRINT "?  *NOTHING*"
  599. 5980 RETURN
  600. 5990 GOTO 6220
  601. 6000 I3=0
  602. 6010 GOTO 5860
  603. 6020 INPUT Z$
  604. 6030 IF Z$="WHAT" THEN 9520
  605. 6040 IF LEFT$(Z$,3)<>"NOT" THEN 6060
  606. 6050 RETURN
  607. 6060 FOR Z5=1 TO 40
  608. 6070 IF P$(Z5)=Z$ THEN 6110
  609. 6080 NEXT Z5
  610. 6090 PRINT "WHAT";
  611. 6100 GOTO 6020
  612. 6110 IF B(Z5)>0 THEN 6230
  613. 6120 FOR X=1 TO 40
  614. 6130 IF S(X)<>S(Z5) THEN 6170
  615. 6140 IF  B(X)=0 THEN 6170
  616. 6150 PRINT "THERE ARE HOUSES ON OTHER LOTS OF MONPOLY. YOU MUST SELL THEM."
  617. 6160 GOTO 5820
  618. 6170 NEXT X
  619. 6180 GOTO 6260
  620. 6190 M(Z5)=1
  621. 6200 N(B)= N(B)+1
  622. 6210 T(B)= T(B)+.5*C(Z5)
  623. 6220 GOTO 5820
  624. 6230 PRINT "THERE ARE HOUSES ON IT"
  625. 6240 GOTO 5820
  626. 6250 RETURN
  627. 6260 IF V(Z5)>B3 THEN  6310
  628. 6270 IF V(Z5)<B3 THEN 6310
  629. 6280 IF M(Z5)=0 THEN 6300
  630. 6290 PRINT "IT ALREADY IS"
  631. 6300 GOTO 6190
  632. 6310 PRINT " YOU DON'T OWN THAT"
  633. 6320 GOTO 5830
  634. 6330 RETURN
  635. 6340 PRINT "UNMORTGAGE WHAT";
  636. 6350 IF A(B)=0 THEN 6470
  637. 6360 IF T(B)<150 THEN 6450
  638. 6370 FOR E0= 1 TO 40
  639. 6380 IF V(E0)= B THEN 6400
  640. 6390 GOTO 6440
  641. 6400 IF M(E0)=0 THEN 6440
  642. 6410 PRINT "?*"; P$(E0);"*"
  643. 6420 E=E0
  644. 6430 GOTO 6590
  645. 6440 NEXT E0
  646. 6450 PRINT "? *NOTHING*"
  647. 6460 GOTO 6700
  648. 6470 INPUT Z$
  649. 6480 IF Z$<>"WHAT" THEN 6520
  650. 6490 PRINT "TYPE 'NOTHING', A PROPERTY NAME, OR 'HOUSES' IF"
  651. 6500 PRINT "YOU WANT TO SELL THEM."
  652. 6510 GOTO 6470
  653. 6520 IF LEFT$(Z$,3)="NOT" THEN 6700
  654. 6530 IF Z$="HOUSES" THEN 6710
  655. 6540 FOR E=1 TO 40
  656. 6550 IF P$(E)=Z$ THEN 6590
  657. 6560 NEXT E
  658. 6570 PRINT "WHAT";
  659. 6580 GOTO 6470
  660. 6590 IF M(E)=1 THEN 6620
  661. 6600 PRINT "IT ISN'T MORTGAGED"
  662. 6610 GOTO 6340
  663. 6620 IF V(E)=B THEN 6650
  664. 6630 PRINT "YOU DON'T OWN IT"
  665. 6640 GOTO 6340
  666. 6650 M(E)=0
  667. 6660 N(B)= N(B)-1
  668. 6670 T(B)=T(B)-INT(.6*C(E))
  669. 6680 PRINT "WITH INTEREST THAT WAS$";INT(.6*C(E))
  670. 6690 IF N(B)>0 THEN 6340
  671. 6700 RETURN
  672. 6710 PRINT "LOT,# OF HOUSES";
  673. 6720 INPUT Z$,E2
  674. 6730 IF E2>0 THEN 6760
  675. 6740 PRINT "INPUT A POSITIVE NUMBER"
  676. 6750 GOTO 6710
  677. 6760 IF Z$="NO"  THEN 6220
  678. 6770 GOTO 6810
  679. 6780 PRINT "TYPE IN THE NAME OF THE LOT THEN THE # OF HOUSES YOU ARE"
  680. 6790 PRINT "SELLING. TO SELL NONE TYPE 'NO'"
  681. 6800 GOTO 6710
  682. 6810 FOR E3=1 TO 40
  683. 6820 IF P$(E3)=Z$ THEN  6870
  684. 6830 NEXT E3
  685. 6840 PRINT "WHAT LOT";
  686. 6850 INPUT Z$
  687. 6860 GOTO 6760
  688. 6870 B(E3)= B(E3)-E2
  689. 6880 X(B)=X(B)-E2
  690. 6890 IF B(E3)<0 THEN 6980
  691. 6900 H=E3
  692. 6910 H7=B(H)
  693. 6920 GOSUB 5450
  694. 6930 E4=INT((S(E3)-10)/2+.5)*25
  695. 6940 E4=E4*E2
  696. 6950 PRINT " YOU GET$";E4
  697. 6960 T(B)=T(B)+E4
  698. 6970 GOTO 6340
  699. 6980 PRINT "YOU DON'T HAVE THAT MANY"
  700. 6990 B(E3)=B(E3)+E2
  701. 7000 GOTO 6710
  702. 7010 GOTO 6340
  703. 7020 IF A7=1 THEN 7160
  704. 7030 IF E6=0 THEN 7070
  705. 7040 E6=E6+1
  706. 7050 IF E6<5 THEN 7200
  707. 7060 E6=1
  708. 7070 PRINT "CHANGES";
  709. 7080 E6=0
  710. 7090 INPUT Z$
  711. 7100 IF Z$<>"WHAT" THEN 7130
  712. 7110 PRINT "'YES', 'NO','NEVER',OR 'DELAY'( WILL ASK AGAIN IN THREE TURNS";
  713. 7120 GOTO 7090
  714. 7130 IF Z$= "NEVER" THEN 7150
  715. 7140 GOTO 7170
  716. 7150 A7=1
  717. 7160 RETURN
  718. 7170 IF LEFT$(Z$,1)="Y" THEN 7280
  719. 7180 IF Z$<>"DELAY" THEN 7220
  720. 7190 E6=1
  721. 7200 PRINT
  722. 7210 RETURN
  723. 7220 IF LEFT$(Z$,1)="N" THEN 7200
  724. 7230 PRINT "TYPE 'YES', OR 'NO' IF YOU WANT TO MAKE CHANGES OR NOT"
  725. 7240 PRINT "OR 'DELAY' TO HAVE IT ASK YOU LATER"
  726. 7250 GOTO 7070
  727. 7260 RETURN
  728. 7270 IF T(B9)> 300 THEN 4990
  729. 7280 GOTO 7320
  730. 7290 REM THIS PART WILL TRANSFERR OWNERSHIP OF A PROPERTY
  731. 7300 REM TO SOMEONE ELSE AND TRANSFER SOME MONEY TO
  732. 7310 REM TO CORRRESPOND
  733. 7320 PRINT "('WHAT,A,0' FOR INST.)";
  734. 7330 INPUT Z$,A$,A
  735. 7340 IF Z$="NEW PLAYER" THEN 10240
  736. 7350 IF A$<>"YOU" THEN 7370
  737. 7360 A$="COMPUTER"
  738. 7370 IF Z$="NEW PLAYER" THEN 10240
  739. 7380 IF Z$="WHAT" THEN 9540
  740. 7390 IF Z$= "NO" THEN 8350
  741. 7400 IF Z$="QUIT" THEN 7700
  742. 7410 IF Z$="JAIL CARD" THEN 7700
  743. 7420 IF Z$="JAILCARD" THEN 7700
  744. 7430 IF A$<>"BANK" THEN 7470
  745. 7440 GOTO 7700
  746. 7450 PRINT " THAT'S ILLEGAL!"
  747. 7460 GOTO 7320
  748. 7470 FOR E8=1 TO 40
  749. 7480 IF P$(E8)= Z$ THEN 7570
  750. 7490 NEXT E8
  751. 7500 PRINT "WHAT LOT";
  752. 7510 INPUT Z$
  753. 7520 IF Z$<>"WHAT" THEN  7550
  754. 7530 PRINT "TYPE THE PROPERTY NAME OR 'NO'"
  755. 7540 GOTO 7510
  756. 7550 IF Z$="NO" THEN 7070
  757. 7560 GOTO 7470
  758. 7570 IF S(E8)<9 THEN 8360
  759. 7580 T8=0
  760. 7590 IF V(E8)=0 THEN 8380
  761. 7600 IF B(E8)>0 THEN 7680
  762. 7610 FOR I2= 1 TO 40
  763. 7620 IF S(I2)<>S(E8) THEN 7660
  764. 7630 IF B(I2)=0 THEN 7660
  765. 7640 PRINT "THERE ARE HOUSES ON OTHER LOTS OF  MONOPOLY.YOU MUST SELL THEM."
  766. 7650 GOTO 7070
  767. 7660 NEXT I2
  768. 7670 GOTO 7700
  769. 7680 PRINT "THERE ARE HOUSES ON IT"
  770. 7690 GOTO 7320
  771. 7700 T8=0
  772. 7710 FOR E9= 1 TO N
  773. 7720 IF N$(E9)=A$ THEN 7740
  774. 7730 GOTO 7750
  775. 7740 T8=T8+1
  776. 7750 NEXT E9
  777. 7760 ON T8+1 GOTO 7880,7970,7770,7770,7770,7770,7770,7770,7770,7770
  778. 7770 PRINT "WHICH PLAYER NO.('-1' FOR INSTRUCTIONS)";
  779. 7780 INPUT E9
  780. 7790 IF E9>0 THEN 7830
  781. 7800 PRINT "TYPE THE PLAYER NO. OF THE PIECE. BECAUSE I"
  782. 7810 PRINT "PLAY MORE THAN ONE PLAYER, I MUST KNOW WHICH";
  783. 7820 GOTO 7780
  784. 7830 IF E9>N THEN 7770
  785. 7840 IF A(E9)=1 THEN 7870
  786. 7850 PRINT "I AM NOT ";N$(E9)
  787. 7860 GOTO 7770
  788. 7870 GOTO 7970
  789. 7880 PRINT "WHO";
  790. 7890 INPUT A$
  791. 7900 IF A$="NO"  THEN 8400
  792. 7910 IF A$<>"WHAT" THEN 7930
  793. 7920 PRINT "TYPE NEW OWNER'S NAME OR 'NO'";
  794. 7930 GOTO 7700
  795. 7940 REM THIS IS FOR JAILCARDS
  796. 7950 GOSUB 9730
  797. 7960 GOTO 7070
  798. 7970 GOTO 7980
  799. 7980 FOR E9=1 TO N
  800. 7990 IF N$(E9)<>A$ THEN 8010
  801. 8000 GOTO 8020
  802. 8010 NEXT E9
  803. 8020 B=E9
  804. 8030 IF Z$="JAILCARD" THEN 7940
  805. 8040 IF Z$<>"QUIT" THEN 8080
  806. 8050 B=E9
  807. 8060 GOSUB 9360
  808. 8070 GOTO 7070
  809. 8080 U5=V(E8)
  810. 8090 IF A$="BANK" THEN 8200
  811. 8100 IF A(V(E8))=1 THEN 8530
  812. 8110 IF A(E9)=1 THEN 8470
  813. 8120 T(V(E8))= T(V(E8))+A
  814. 8130 IF S(E8)<>9 THEN 8160
  815. 8140 W(V(E8))=W(V(E8))-1
  816. 8150 W(E9)=W(E9)+1
  817. 8160 IF S(E8)<>10 THEN 8190
  818. 8170 U(V(E8))=U(V(E8))-1
  819. 8180 U(E9)=U(E9)+1
  820. 8190 V(E8)= E9
  821. 8200 T(E9)= T(E9)-A
  822. 8210 IF A$="BANK" THEN 7070
  823. 8220 IF O(E8)=1 THEN 8240
  824. 8230 GOTO 8320
  825. 8240 FOR O9= 1 TO 40
  826. 8250 IF S(O9)=S(E8) THEN 8270
  827. 8260 GOTO 8290
  828. 8270 R(O9)= R(O9)/2
  829. 8280 O(O9)=0
  830. 8290 NEXT O9
  831. 8300 PRINT "NO LONGER A MONOPOLY THERE"
  832. 8310 E(U5)= E(U5)-1
  833. 8320 U8=1
  834. 8330 P=E8
  835. 8340 GOSUB 4370
  836. 8350 GOTO 7070
  837. 8360 PRINT " YOU FOOL, YOU CANT OWN ";Z$;"!!!!"
  838. 8370 GOTO 7320
  839. 8380 PRINT "IT ISN'T OWNED"
  840. 8390 GOTO 7320
  841. 8400 GOTO 7070
  842. 8410 REM THIS BELONGS TO LINES 1049--
  843. 8420 R(P(B))=INT(RND(1)*6+1)*U3
  844. 8430 W9=P(B)
  845. 8440 W8=V(P(B))
  846. 8450 GOTO 2240
  847. 8460 W8=V(P(B))
  848. 8470 IF T(E9)> 200+ C(E8)  THEN 8500
  849. 8480 PRINT "I DONT ACCEPT"
  850. 8490 GOTO 7280
  851. 8500 IF  A> 150+C(E8) THEN 8480
  852. 8510 PRINT "I ACCEPT"
  853. 8520 GOTO 8120
  854. 8530 IF O(E8)=1 THEN 8630
  855. 8540 IF A>2*C(E8) THEN 700
  856. 8550 IF S(O1)<>S(E8) THEN 8570
  857. 8560 IF V(O1)<>E9 THEN 8610
  858. 8570 NEXT O1
  859. 8580 IF T(V(E8))>200 THEN 8630
  860. 8590 IF A<C(E8)+200 THEN 8630
  861. 8600 GOTO 8670
  862. 8610 IF T(V(E8))<200 THEN 8650
  863. 8620 GOTO 8630
  864. 8630 PRINT "I WON'T SELL"
  865. 8640 GOTO 7280
  866. 8650 IF A>1.5*C(E8) THEN 8670
  867. 8660 GOTO 8630
  868. 8670 PRINT "IT IS A DEAL"
  869. 8680 GOTO 8120
  870. 8690 PRINT CHR$(26) "     THIS PROGRAM WILL HANDLE UP TO TEN PLAYERS"
  871. 8700 PRINT "OR PIECES. IT WILL DO ALL ROUTINE JOBS SUCH AS"
  872. 8710 PRINT "ROLLING THE DICE,MOVING PIECES, AND INFORMING THE"
  873. 8720 PRINT "PLAYERS OF ALL OPTIONS. IT WILL    ACTUALLY"
  874. 8730 PRINT "PLAY THE GAME MAKING THE DECISIONS OF ANY NUMBER OF PLAYERS."
  875. 8740 PRINT "WANT THE COMPUTER TO DO THIS TYPE 'YOU' WHEN IT ASKS"
  876. 8750 PRINT "FOR THE NAME."
  877. 8760 PRINT "OF PLAYERS. TO DO THIS TYPE 'YOU' AS THE"
  878. 8770 PRINT " NAME OF THAT PLAYER."
  879. 8780 PRINT
  880. 8790 PRINT "THIS PROGRAM IS FAIRLY SELF-EXPLANATORY, HOWEVER THE FOLLOWING"
  881. 8800 PRINT "THINGS MUST BE KEPT IN MIND:"
  882. 8810 PRINT
  883. 8820 PRINT " 1. IF A QUESTION IS NOT UNDERSTOOD,TYPING 'WHAT' WILL"
  884. 8830 PRINT "USUALLY GIVE INSTRUCTIONS. HOWEVER SOME QUESTIONS WILL"
  885. 8840 PRINT "ASK FOR MORE THAN ONE THING AND THIS NUMBER OF THINGS MUST"
  886. 8850 PRINT "BE TYPED SEPERATED BY COMMAS. ALSO CARE MUST BE "
  887. 8860 PRINT "TAKEN THAT ALL INPUTS ARE EITHER NUMERIC OR ALPHABETIC"
  888. 8870 PRINT "AS ASKED FOR.    EXAMPLE:"
  889. 8880 PRINT "          LOT, # OF HOUSES? WHAT,0"
  890. 8890 PRINT "WILL GIVE INSTRUCTIONS."
  891. 8900 PRINT:INPUT"     PRESS <RET> TO CONTINUE ",ANY$
  892. 8910 PRINT " 2. THE COMPUTER WILL OFTEN ASK IF YOU WANT CHANGES"
  893. 8920 PRINT "OR A SUMMARY. THE CHANGES ROUTINE WILL BE DESCRIBED"
  894. 8930 PRINT "BELOW, BUT IF YOU DON'T WANT TO BE BOTHERED WIL THE"
  895. 8940 PRINT "EVERYTIME, TYPE 'NEVER' TO HAVE IT STOP ASKING"
  896. 8950 PRINT "COMPLETELY, OR 'DELAY' TO HAVE IT ASK IN THREE"
  897. 8960 PRINT "TURNS. FOR SUMMARY TYPE 'AUTO' AND IT WILL "
  898. 8970 PRINT "GIVE A SUMMARY EVERY 5 TURNS, WITHOUT ASKING YOU AGAIN"
  899. 8980 PRINT " 3. TO SELL PROPERTIES OR ADD AND DROP PLAYERS USE THE "
  900. 8990 PRINT "CHANGES ROUTINE. TYPE 'YES' WHEN IT ASKS 'CHANGES?'"
  901. 9000 PRINT "TYPE 'YES' THEN TYPE 'WHAT,A,0' FOR COMPLETE INSTRUCTIONS"
  902. 9010 PRINT " 4. FIVE HOUSES ARE EQUIVALENT TO ONE HOTEL."
  903. 9020 PRINT " 5. IF YOU TYPE 'YOU' FOR ALL THE NAMES"
  904. 9030 PRINT "THE COMPUTER WILL PLAY ITSELF WITHOUT"
  905. 9040 PRINT "ASKING YOU FOR ANYTHING. TYPING CONTROL-O"
  906. 9050 PRINT "WILL MAKE THE GAME CONTINUE WITHOUT "
  907. 9060 PRINT "TYPE OUT, AND CONTROL-C THEN CONT   WILL START THE"
  908. 9070 PRINT " TYPE OUT AGAIN WITH THE GAME  VERY FAR ALONG."
  909. 9080 PRINT " 6. TO SELL HOUSES, WAIT UNTIL THE COMPUTER ASKS"
  910. 9090 PRINT "UNMORTGAGE WHAT? AND TYPE 'HOUSES' THEN    ANSWER"
  911. 9100 PRINT "ANSWER FURTHAR QUESTIONS."
  912. 9110 RETURN
  913. 9120 PRINT
  914. 9130 IF N7=1 THEN 9320
  915. 9140 IF A(B)=0 THEN 9220
  916. 9150 FOR I2= 1 TO N
  917. 9160 IF Q(I2)=1 THEN 9180
  918. 9170 IF A(I2)=0 THEN 9200
  919. 9180 NEXT I2
  920. 9190 GOTO 9320
  921. 9200 PRINT "I AM $";ABS(T(B));"IN THE RED. SHOULD I QUIT";
  922. 9210 GOTO 9230
  923. 9220 PRINT "YOU ARE $";ABS(T(B));"IN THE HOLE. WILL YOU QUIT";
  924. 9230 INPUT Z$
  925. 9240 IF LEFT$(Z$,1)="Y" THEN 9360
  926. 9250 IF LEFT$(Z$,1)="N" THEN 9310
  927. 9260 IF LEFT$(Z$,1)="L" THEN 9320
  928. 9270 PRINT "TYPE 'YES' TO QUIT OR 'NO' TO KEEP GOING"
  929. 9280 PRINT "AND PAYING 5% INTEREST ON THE NEGATIVE AMMOUNT"
  930. 9290 PRINT "OR 'LATER' TO NOT QUIT NOW BUT KEEP THE COMPUTER ASKING"
  931. 9300 GOTO 9230
  932. 9310 N7=1
  933. 9320 I1=INT(ABS(.05*T(B)+ .5))
  934. 9330 PRINT "5% INTEREST IS $";I1
  935. 9340 T(B)= T(B) - I1
  936. 9350 RETURN
  937. 9360 Q(B)=1
  938. 9370 T(B)=0
  939. 9380 FOR I2=1 TO 40
  940. 9390 IF V(I2)<>B THEN 9450
  941. 9400 V(I2)=0
  942. 9410 M(I2)=0
  943. 9420 B(I2)=0
  944. 9430 R(I2)=L(I2)
  945. 9440 O(I2)=0
  946. 9450 NEXT I2
  947. 9460 N$(B)=" "
  948. 9470 RETURN
  949. 9480 GOTO 6470
  950. 9490 PRINT "TYPE PROPERTY NAME THEN NUMBER OF HOUSES OR"
  951. 9500 PRINT "'NO,0' TO DO NOTHING"
  952. 9510 GOTO 5210
  953. 9520 PRINT "TYPE A PROPERTY NAME OR 'NOTHING' ";
  954. 9530 GOTO 6020
  955. 9540 PRINT " THIS ROUTINE CAN DO SEVERAL THINGS:"
  956. 9550 PRINT " 1. TO SELL PROPERTY FROM ONE PERSON TO ANOTHER"
  957. 9560 PRINT "TYPE THE PROPERTY NAME,THE NEW OWNER'S NAME, THEN"
  958. 9570 PRINT "THE AMOUNT IT IS BEING SOLD FOR."
  959. 9580 PRINT " 2. TO SELL A JAILCARD, TYPE 'JAILCARD',THE NEW OWNERS"
  960. 9590 PRINT "NAME, THEN THE AMOUNT IT IS BEING SOLD FOR."
  961. 9600 PRINT "IF NEEDED THE COMPUTER WILL ASK WHO IT CAME FROM."
  962. 9610 PRINT " 3. FOR EITHER OF THE ABOVE,'YOU' CAN BE USED AS THE"
  963. 9620 PRINT "NEW OWNER'S NAME,OR THE COMPUTERS PROPERTY CAN BE USES"
  964. 9630 PRINT "THE COMPUTER WILL THEN DECIDE IF IT WILL ACCEPT YOUR OFFER,"
  965. 9640 PRINT "AND TELL YOU IF IT WILL BUY OR SELL."
  966. 9650 PRINT " 4. TO ADD A NEW PLAYER TYPE:'NEW PLAYER',HIS NAME,'0'"
  967. 9660 PRINT " 5. TO DROP A PLAYER TYPE:'QUIT',HIS NAME,'0'"
  968. 9670 PRINT
  969. 9680 GOTO 7320
  970. 9690 B=E9
  971. 9700 REMARK THIS IS FOR QUITING FORM CHANGE ROUTINE
  972. 9710 GOSUB 9360
  973. 9720 GOTO 7070
  974. 9730 REM THIS IS FOR CHANGING JAILCARDS
  975. 9740 IF N<>2 THEN 9770
  976. 9750 T0=3-E9
  977. 9760 GOTO 10000
  978. 9770 PRINT "WHO FROM";
  979. 9780 INPUT Z$
  980. 9790 IF Z$<>"WHAT" THEN 9830
  981. 9800 PRINT "TYPE THE PERSON'S NAME FROM WHOM THE CARD"
  982. 9810 PRINT " CAME.";N$(E9);" HAD IT. WHO HAS IT NOW";
  983. 9820 GOTO 9780
  984. 9830 IF Z$<>"YOU" THEN 9950
  985. 9840 IF W8=1 THEN 9940
  986. 9850 PRINT "WHICH #";
  987. 9860 PRINT "('0' FOR INST.)";
  988. 9870 INPUT O3
  989. 9880 IF O3>0 THEN 9910
  990. 9890 PRINT "I AM PLAYING SEVERAL PLAYERS. TYPE NO. OF ONE YOU WANT";
  991. 9900 GOTO 9870
  992. 9910 IF O3>N THEN 9890
  993. 9920 T0=O3
  994. 9930 GOTO 10000
  995. 9940 Z$="COMPUTER"
  996. 9950 FOR T0= 1 TO 40
  997. 9960 IF N$(T0)= Z$ THEN 10000
  998. 9970 NEXT T0
  999. 9980 PRINT "WHO ";
  1000. 9990 GOTO 9780
  1001. 10000 IF A(T0)=0 THEN 10080
  1002. 10010 IF A>45 THEN 10040
  1003. 10020 IF A<30 THEN 10060
  1004. 10030 GOTO  10060
  1005. 10040 PRINT " OK"
  1006. 10050 GOTO 10190
  1007. 10060 PRINT " NO"
  1008. 10070 RETURN
  1009. 10080 IF A(E9)=0 THEN 10130
  1010. 10090 IF A>50 THEN 10060
  1011. 10100 IF F(E9)=1 THEN 10060
  1012. 10110 IF T(E9)<200 THEN 10060
  1013. 10120 GOTO 10040
  1014. 10130 IF F(T0)=1 THEN 10060
  1015. 10140 IF A(T0)=0 THEN 10170
  1016. 10150 IF A> 45 THEN 10060
  1017. 10160 GOTO 10180
  1018. 10170 PRINT "HE DOESN'T HAVE ONE"
  1019. 10180 RETURN
  1020. 10190 F(T0)= F(T0)-1
  1021. 10200 F(E9)=F(E9)+1
  1022. 10210 T(T0)=T(T0)+A
  1023. 10220 T(E9)=T(E9)-A
  1024. 10230 RETURN
  1025. 10240 REM THIS ALLOWS A NEW PLAYER
  1026. 10250 IF A$="YOU" THEN 10330
  1027. 10260 FOR O9=1 TO N
  1028. 10270 IF N$(O9)=A$ THEN 10300
  1029. 10280 NEXT O9
  1030. 10290 GOTO 10330
  1031. 10300 PRINT "INPUT A NAME NOT ALREADY USED";
  1032. 10310 INPUT A$
  1033. 10320 GOTO 10260
  1034. 10330 FOR O9=1 TO N
  1035. 10340 IF Q(O9)=1 THEN 10490
  1036. 10350 NEXT O9
  1037. 10360 IF N<10 THEN 10390
  1038. 10370 PRINT "TOO MANY PLAYERS.  SOMEONE WILL HAVE TO QUIT."
  1039. 10380 GOTO 7070
  1040. 10390 N=N+1
  1041. 10400 Q(N)=0
  1042. 10410 T(N)=1500
  1043. 10420 IF A$<>"YOU" THEN  10470
  1044. 10430 N$(N)="COMPUTER"
  1045. 10440 W7=W7+1
  1046. 10450 A(N)=1
  1047. 10460 GOTO 7070
  1048. 10470 N$(N)=A$
  1049. 10480 GOTO 7070
  1050. 10490 REM THIS IS FOR NEW PLAYER
  1051. 10500 N$(O9)= A$
  1052. 10510 Q(O9)=0
  1053. 10520 P(O9)=0
  1054. 10530 T(O9)=1500
  1055. 10540 IF N$(9)<>"YOU" THEN 10580
  1056. 10550 N$(O9)="COMPUTER"
  1057. 10560 W7=W7+1
  1058. 10570 A(O9)=1
  1059. 10580 GOTO 7070
  1060. 10590 END
  1061.