home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / commodor / monopoly.prg (.txt) < prev    next >
Commodore BASIC  |  1993-05-20  |  24KB  |  692 lines

  1. 100 REM MONOPOLE CBM-64
  2. 130 PRINT"[147]":POKE53280,0:POKE53281,0:CLR:GOSUB1590
  3. 140 PG$="  PURPLE, LT. BLUE, MAROON, ORANGE,       RED, YELLOW, GREEN, DK. BLUE"
  4. 150 DIMPN$(42),D(42,1),CH$(16),CC$(16),P(42,9),PT$(42),C$(42),PS(42),H(42),MG(42)
  5. 160 DIM P$(2),PL(2),O(2),JT(2),M(2),CJ(2)
  6. 170 GOSUB320:INPUT"DO YOU WANT AUCTION RULE (Y OR N)";Q$:IFLEFT$(Q$,1)="Y"THENAF=1
  7. 180 INPUT"WANT FREE PARKING JACKPOT OPTION ";Q$:IFLEFT$(Q$,1)="Y"THENPF=1:FP=500
  8. 190 M(1)=1500:M(2)=1500:PL(1)=1:PL(2)=1:DV=2
  9. 200 CD$="":CR$=""
  10. 210 ZQ=RND(-TI):X1=8:Y1=10:X2=23:Y2=10:RX=6:RY=18:TN=832:TT=886
  11. 220 E$="                  [146]":RM$="HIT  'R' OR 'T'[146]"
  12. 230 PRINT"[147][159]     PLEASE WAIT WHILE I SET UP."
  13. 240 FORI=1TO4:P(6+((I-1)*10),8)=100:NEXT:P(13,8)=75:P(29,8)=75
  14. 250 CH=INT(RND(1)*16)+1:CC=INT(RND(1)*16)+1
  15. 260 FORI=1TO41:FORJ=0TO1:READD(I,J):NEXT:NEXT
  16. 270 P$(1)="   PLAYER 1[146]":P$(2)="   PLAYER 2[146]"
  17. 280 FORI=1TO41:READPN$(I):NEXT:FORI=1TO41:READPT$(I):IFPT$(I)<>"P"THEN300
  18. 290 READC$(I):FORJ=1TO9:READP(I,J):NEXTJ
  19. 300 NEXTI
  20. 310 FORI=1TO16:READCH$(I):NEXT:FORI=1TO16:READCC$(I):NEXT:GOTO390
  21. 320 PRINT"[159][170][191]  [191][146][180][170][183][183][183][180][170][191]   [180][170][183][183][183][180][170][183][183][208][170][183][183][183][180][170]   [191]  [191]"
  22. 322 PRINT"[170] [191][191][146] [180][170]   [180][170] [191]  [180][170]   [180][170][175][175][186][170]   [180][170]    [191][191]"
  23. 324 PRINT"[170]    [180][170]   [180][170]  [191] [180][170]   [180][170]   [170]   [180][170]    [167][165]"
  24. 330 PRINT"[170]    [180][170][175][175][175][180][170]   [191][180][170][175][175][175][180][170]   [170][175][175][175][180][170][175][175][175] [167][180] "
  25. 360 PRINT"HIT 'R' TO ROLL DICE AND 'T' FOR        TRANSACTION MENU."
  26. 370 PRINT" '0' CAN BE USED TO RETURN FROM MOST     SUBROUTINES"
  27. 380 PRINT:PRINT"DEVELOPED PROPERTIES MAY NOT BE TRADED.":PRINT:RETURN
  28. 390 POKE54277,79:POKE54284,79:POKE54291,79
  29. 392 POKE54278,248:POKE54286,248:POKE54292,248
  30. 394 POKE54276,33:POKE54288,33:POKE54290,33
  31. 396 G(1)=54272:G(2)=54273:G(3)=54279:G(4)=54280:G(5)=54286:G(6)=54287
  32. 398 FORI=1TO6:POKEG(I),0:NEXT
  33. 399 POKE54296,15:IFPEEK(832)<>160THENGOSUB6370
  34. 400 GOSUB1320:FORPK=1TO2:POKED(1,PK-1),48+PK:O(PK)=D(1,PK-1):PT=PK:NEXT:GOSUB6470
  35. 410 GOSUB1620:IFR1=R2THEN410
  36. 420 PT=(R1>R2)+2
  37. 430 POKED(PL(1),0),49:POKED(PL(2),1),50
  38. 440 PT$=STR$(PT)
  39. 450 MS$="PLAYER"+PT$+" STARTS[146]"
  40. 460 X=RX:Y=RY:Z$=MS$:GOSUB1570:FORDE=1TO1500:NEXT:Z$=E$:GOSUB1570:GOTO680
  41. 470 DV=2:MF=0:JB=0
  42. 480 IFPL(PT)=41THEN590
  43. 490 JT(PT)=0
  44. 500 GOSUB1620:DF=1
  45. 510 IFDB=3THENSYSTN:GOSUB3150:SYSTT:GOSUB6470:GOTO620
  46. 520 FORM=1TODR:PL(PT)=PL(PT)+1
  47. 530 POKEO(PT),160:IFPL(PT)>40THENPL(PT)=PL(PT)-40:SYSTN:GOSUB1700:SYSTT
  48. 540 POKED(PL(PT),PT-1),48+PT
  49. 550 O(PT)=D(PL(PT),PT-1)
  50. 560 FORT=1TO50STEP6+PT:FORI=1TO6:POKEG(I),T:NEXT:NEXT
  51. 580 FORI=1TO6:POKEG(I),0:NEXT:NEXTM
  52. 590 POKED(PL(PT),PT-1),48+PT:GOSUB6470
  53. 600 SYSTN:GOSUB1770:SYSTT:GOSUB6470:IFM(PT)<0THENGOSUB6200:SYSTT
  54. 610 IFPL(PT)=11THENPOKED(41,PT-1),160:POKED(11,PT-1),48+PT
  55. 620 IFJBTHENJB=0:POKEO(PT),160:O(PT)=D(PL(PT),PT-1):GOTO520
  56. 630 IFMFTHENMF=0:POKEO(PT),160:O(PT)=D(PL(PT),PT-1):GOTO590
  57. 640 IFJETHENJE=0:POKEO(PT),160:O(PT)=D(PL(PT),PT-1):GOTO680
  58. 650 IFJFTHENJF=0:POKED(PL(PT),PT-1),48+PT:POKEO(PT),160:O(PT)=D(PL(PT),PT-1)
  59. 660 IFDBTHEN680
  60. 670 PT=3-PT
  61. 680 Z$=P$(PT):X=RX:Y=RY-1:GOSUB1570
  62. 690 Z$=RM$:X=RX:Y=RY:GOSUB1570
  63. 700 GETBC$:IFBC$<>""THEN700
  64. 710 GETA$:IFA$=""THEN710
  65. 720 IFA$="T"THENSYSTN:GOSUB4080:SYSTT:GOSUB6470:GOTO680
  66. 730 Z$=E$:X=RX:Y=RY:GOSUB1570
  67. 740 GOTO470
  68. 750 DATA1978,1938,1974,1973,1931,1930,1968,1967,1925,1924,1922,1921
  69. 760 DATA1959,1958,1956,1955,1953,1952,1950,1949,1944,1904
  70. 770 DATA1824,1825,1744,1745,1664,1665,1584,1585,1505,1506,1424,1425
  71. 780 DATA1346,1347,1264,1265,1184,1185,1104,1105
  72. 790 DATA1029,1030,1032,1033,1035,1036,1038,1039,1081,1082,1044,1045
  73. 800 DATA1047,1048,1130,1131,1053,1054,1096,1097
  74. 810 DATA1217,1218,1297,1298,1377,1378,1457,1458,1536,1537,1617,1618
  75. 820 DATA1697,1698,1777,1778,1857,1858,1906,1907
  76. 830 DATA">GO<[155]","[155]MEDITERRANEAN AVE.[155]","[158]COMMUNITY CHEST[155]","[155]BALTIC AVE.[155]"
  77. 835 DATA"[154]INCOME TAX[155]"
  78. 840 DATA"[152]READING R.R.[155]","[159]ORIENTAL AVE.[155]","[150]CHANCE[155]","[159]VERMONT AVE.[155]"
  79. 845 DATA"[159]CONNECTICUT AVE.[155]"
  80. 850 DATA"[150]JUST VISITING[155]","[156]ST.CHARLES PLACE[155]","[153]ELECTRIC COMPANY[155]","[156]STATES AVE.[155]"
  81. 860 DATA"[156]VIRGINIA AVE.[155]","[152]PENNSYLVANIA R.R.[155]","[129]ST. JAMES PLACE[155]"
  82. 865 DATA"[158]COMMUNITY CHEST[155]"
  83. 870 DATA"[129]TENNESSEE AVE.[155]","[129]NEW YORK AVE.[155]","[149]FREE PARKING[155]","KENTUCKY AVE.[155]"
  84. 880 DATA"[150]CHANCE[155]","INDIANA AVE.[155]","ILLINOIS AVE.[155]","[152]B & O  R.R.[155]"
  85. 885 DATA"[158]ATLANTIC AVE.[155]"
  86. 890 DATA"[158]VENTNOR AVE.[155]","[153]WATER WORKS[155]","[158]MARVIN GARDENS[155]","[150]GO[155] [154]TO[155] JAIL[155]"
  87. 895 DATA"PACIFIC AVE.[155]"
  88. 900 DATA"N. CAROLINA AVE.[155]","[158]COMMUNITY CHEST[155]","PENNSYLVANIA AVE.[155]"
  89. 905 DATA"[152]SHORT LINE[155]"
  90. 910 DATA"[150]CHANCE[155]","PARK PLACE[155]","[154]LUXURY TAX[155]","BOARDWALK[155]","[150]IN JAIL[155]"
  91. 920 DATAGO,P,PURPLE,60,2,10,30,90,160,250,30,50,CC,P,PURPLE,60,4,20,60,180,320
  92. 930 DATA450,30,50,IT,RR,P,LT. BLUE,100,6,30,90,270,400,550,50,50,CH,P,LT. BLUE
  93. 940 DATA 100,6,30,90,270,400,550,50,50,P,LT. BLUE,120,8,40,100,300,450,600,60,50
  94. 950 DATAJV,P,MAROON,140,10,50,150,450,625,750,70,100,U,P,MAROON,140,10,50,150,450
  95. 960 DATA625,750,70,100,P,MAROON,160,12,60,180,500,700,900,80,100,RR
  96. 970 DATAP,ORANGE,180,14,70,200,550,750,950,90,100,CC,P,ORANGE
  97. 980 DATA 180,14,70,200,550,750,950,90,100
  98. 990 DATAP,ORANGE,200,16,80,220,600,800,1000,100,100,FP,P,RED
  99. 1000 DATA 220,18,90,250,700,875
  100. 1010 DATA1050,110,150,CH,P,RED,220,18,90,250,700,875,1050,110,150,P,RED,240
  101. 1020 DATA 20,100,300
  102. 1030 DATA750,925,1100,120,150,RR,P,YELLOW,260,22,110,330,800,975,1150,130,150
  103. 1040 DATA P,YELLOW,260
  104. 1050 DATA22,110,330,800,975,1150,130,150,U,P,YELLOW,280,24,120,360,850,1025,1200
  105. 1060 DATA 140
  106. 1070 DATA150,GTJ,P,GREEN,300,26,130,390,900,1100,1275,150,200,P,GREEN
  107. 1080 DATA 300,26,130,390,900
  108. 1090 DATA1100,1275,150,200,CC,P,GREEN,320,28,150,450,1000,1200,1400
  109. 1100 DATA 160,200,RR,CH
  110. 1110 DATAP,DK. BLUE,350,35,175,500,1100,1300,1500,175,200,LT,P,DK. BLUE
  111. 1120 DATA 400,50,200,600,1400
  112. 1130 DATA1700,2000,200,200,IJ
  113. 1140 DATA PAY POOR TAX  $15,GO DIRECTLY TO JAIL,ADVANCE TO GO(COLLECT $200)
  114. 1150 DATA YOUR BUILDING AND LOAN MATURES            COLLECT $150
  115. 1160 DATA ADVANCE TOKEN TO NEAREST R.R.           $ PAY OWNER TWICE RENT
  116. 1170 DATAADVANCE TO ILLINOIS AVE.,BANK PAYS YOU DIVIDEND OF $50
  117. 1180 DATAGET OUT OF JAIL FREE,PAY EACH PLAYER $50,ADVANCE TO ST. CHARLES PLACE
  118. 1190 DATATAKE A RIDE ON THE READING,GO BACK THREE SPACES,ADVANCE TO BOARDWALK
  119. 1200 DATAMAKE GENERAL REPAIRS  $25 FOR EACH HOUSE$100 FOR EACH HOTEL
  120. 1210 DATA ADVANCE TOKEN TO NEAREST R.R.           $ PAY OWNER TWICE RENT
  121. 1220 DATA ADVANCE TOKEN TO NEAREST UTILITY        ROLL DICE & PAY 10*# SHOWN
  122. 1230 DATA GET OUT OF JAIL FREE,GO TO JAIL,ADVANCE TO GO(COLLECT $200)
  123. 1240 DATA FROM SALE OF STOCK YOU GET $45,COLLECT $50 FROM EVERY PLAYER
  124. 1250 DATA RECEIVE FOR SERVICES $25,PAY SCHOOL TAX OF $150,TAX REFUND COLLECT $20
  125. 1260 DATA ASSESSED FOR REPAIRS  $40 PER HOUSE     $115 PER HOTEL
  126. 1270 DATA YOU HAVE WON SECOND PRIZE IN A BEAUTY   CONTEST COLLECT $10
  127. 1280 DATA YOU INHERIT $100,XMAS FUND MATURES COLLECT $100,PAY HOSPITAL $100
  128. 1290 DATA BANK ERROR  IN YOUR FAVOR COLLECT $200,DOCTORS FEE PAY $50
  129. 1300 DATA LIFE INSURANCE MATURES COLLECT $100
  130. 1310 GOTO6360
  131. 1320 PRINT"[147][149]   [160][155][165][160][160][165][160][160][165][160][160][165][160][170][152][191][191][191][155][165][160][160][165]  [165][153]WW[155][165][160][160][150][165]GTJ[146]"
  132. 1330 PRINT"[149][160]FP[160][155][165][160][160][165][150]?[155][160][165][160][160][165][160][170][152] [160][160][155][165][160][160][165][160] [165][153][176][177][155][180][160][160][154][165]   [146]"
  133. 1340 PRINT"[149]   [160][180]  [155][165][160][160] [160][160][165] [170][152]B&O[158][165]  [165][160][160][155][165][160][160][158][180][160][160][165][197][215] [155][146]"
  134. 1350 PRINT"[183][183][183][129][183][155][207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208][183][155][183][183][183][146]"
  135. 1360 PRINT"   [129] [155][165]  [206][205]                     [170] [155][160]  [146]"
  136. 1370 PRINT"[163][163][163][129][163][155][165] [158]   [155][205] 1-                 [170][163][155][163][163][163][146]"
  137. 1380 PRINT"   [129] [155][165][206][158]C C[155][206]                    [170][164][155][164][164][164][146]"
  138. 1390 PRINT"[163][163][163][163][165][205][158]   [155]  2-                 [170]    [146]"
  139. 1400 PRINT"[158]CC[155]  [165] [205][206]                      [170][158]CC[155]  [146]"
  140. 1410 PRINT"[163][163][163][129][163][155][165]   [164][164][164]            [164][164][164]    [167][163][155][163][163][163][146]"
  141. 1420 PRINT"[164][164][164][129][164][155][165]  [167]   [155][165]          [167]   [155][165]   [170][164][155][164][164][164][146]"
  142. 1430 PRINT"[152][191]PR[191][155][165]  [167]   [155][165] MONOPOLY[155] [167]   [155][165]   [167][152][191]SL[191][146]"
  143. 1440 PRINT"[191]  [191][155][165]  [167]   [155][165]  CBM-64[155]  [167]   [155][165]   [167][152][191]  [191][155][146]"
  144. 1450 PRINT"[163][163][163][156][163][155][165]   [163][163][163]            [163][163][163]    [170][163][163][163][163][146]"
  145. 1460 PRINT"   [156] [155][165]                         [170] [150]?[155]  [146]"
  146. 1470 PRINT"[163][163][163][156][163][155][165]                      [206][205] [170][163][155][163][163][163][146]"
  147. 1480 PRINT"[164][164][164][156][164][155][165]                     [150]   [155][205][170][164][155][164][164][164][146]"
  148. 1490 PRINT" [153]EC[155] [165]                    [206][150]???[155][206][170][154]TAX[155] [146]"
  149. 1500 PRINT"    [165]                    [205][150]   [155] [170]    [146]"
  150. 1510 PRINT"[163][163][163][156][163][155][165]                     [205][206]  [170][163][155][163][163][163][146]"
  151. 1520 PRINT"[175][175][175][156][175][155][204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186][175][155][175][175][175][146]"
  152. 1530 PRINT"[150] [155][180]  [159][180]  [165]  [155][180]  [159][180]  [152][180]RR[155][180]  [146]   [180]  [146]   [180]   [146]"
  153. 1540 PRINT"[150] [155][165]  [165]  [165]  [165][150]?[155][160][165][160][160][152][165][160][160][155][165][160][160][165][160][160][165]  [165]  [165]GO [146]"
  154. 1550 PRINT"[150] [163][163][163][155][165]  [165]  [165]  [165]  [152][191][191][191][154]TAX[155][165]  [165][158]CC[155][165]  [165]_[192] [146]"
  155. 1560 RETURN
  156. 1570 PRINT"[155]";LEFT$(CR$,X);LEFT$(CD$,Y);Z$;""
  157. 1580 RETURN
  158. 1590 DC$(1)="   [157][157][157] [209] [157][157][157]   [146]":DC$(2)="  [209][157][157][157]   [157][157][157][209]  [146]"
  159. 1600 DC$(3)="[209]  [157][157][157] [209] [157][157][157]  [209][146]":DC$(4)="[209] [209][157][157][157]   [157][157][157][209] [209][146]"
  160. 1610 DC$(5)="[209] [209][157][157][157] [209] [157][157][157][209] [209][146]":DC$(6)="[209] [209][157][157][157][209] [209][157][157][157][209] [209][146]":RETURN
  161. 1620 CT=0
  162. 1630 R1=INT(RND(1)*6)+1:R2=INT(RND(1)*6)+1:DR=R1+R2
  163. 1635 FORI=1TO6:POKEG(I),DR*10:NEXT
  164. 1640 PRINT"";LEFT$(CR$,X1);LEFT$(CD$,Y1);DC$(R1)
  165. 1650 PRINT"";LEFT$(CR$,X2);LEFT$(CD$,Y2);DC$(R2)
  166. 1655 FORI=1TO6:POKEG(I),0:NEXT
  167. 1660 CT=CT+1:IFCT<7THENFORDELAY=1TO75:NEXT:GOTO1630
  168. 1670 IFR1=R2THENDB=DB+1:GOTO1690
  169. 1680 DB=0
  170. 1690 RETURN
  171. 1700 PRINT"[147]":PRINT
  172. 1710 PRINT" COLLECT $200 AS YOU PASS  [172][162][172][187][157][157][157][157][157][188][190][188][190][146]"
  173. 1720 M(PT)=M(PT)+200:PRINT:PRINT:PRINT
  174. 1730 PRINT"HIT ANY KEY TO CONTINUE[146]"
  175. 1740 GETW$:IFW$<>""THEN1740
  176. 1750 GETK$:IFK$=""THEN1750
  177. 1760 RETURN
  178. 1770 POKE198,0:PT$=PT$(PL(PT))
  179. 1780 IFPT$="P"THEN1900
  180. 1790 IFPT$="RR"THEN2380
  181. 1800 IFPT$="GO"THENRETURN
  182. 1810 IFPT$="U"THEN2700
  183. 1820 IFPT$="FP"THEN3010
  184. 1830 IFPT$="JV"THENRETURN
  185. 1840 IFPT$="GTJ"THEN3150
  186. 1850 IFPT$="IT"THEN3210
  187. 1860 IFPT$="LT"THEN3190
  188. 1870 IFPT$="CC"THEN3230
  189. 1880 IFPT$="CH"THEN3470
  190. 1890 IFPT$="IJ"THEN3880
  191. 1900 PRINT"[147]";TAB(15);"TITLE DEED"
  192. 1910 IFGFTHEN1950
  193. 1920 PRINT" PLAYER"PT
  194. 1930 PO=3-PT
  195. 1940 PL=PL(PT):P7=PT
  196. 1950 PRINTTAB(20-(LEN(PN$(PL))-1)/2)"";PN$(PL)"[146]"
  197. 1955 PRINTLEFT$(PN$(PL),1):QR=PEEK(646):POKE53280,QR:PRINT"[145][145]"
  198. 1960 PRINT
  199. 1970 PRINT"                 RENT $";P(PL,2)
  200. 1980 PRINT"           WITH 1 HOUSE  $";P(PL,3)
  201. 1990 PRINT"           WITH 2 HOUSES  ";P(PL,4)
  202. 2000 PRINT"           WITH 3 HOUSES  ";P(PL,5)
  203. 2010 PRINT"           WITH 4 HOUSES  ";P(PL,6)
  204. 2020 PRINT"           WITH HOTEL  $";P(PL,7)
  205. 2030 PRINT
  206. 2040 PRINT"           MORTAGE VALUE  $";P(PL,8)
  207. 2050 PRINT"          HOUSES COST $";P(PL,9);"EACH"
  208. 2060 PRINT"      HOTELS, $";P(PL,9);". PLUS 4 HOUSES"
  209. 2070 IFGFTHENPRINT:PRINT:GOSUB1730:POKE53280,0:RETURN
  210. 2080 PRINT:FORI=1TO41:IFC$(PL)=C$(I)ANDI<>PLTHENGOSUB2100
  211. 2090 NEXT:GOTO2120
  212. 2100 IFPS(I)THENPRINT" "PN$(I)"  OWNED BY PLAYER #"PS(I):RETURN
  213. 2110 PRINT" "PN$(I)" STILL FOR SALE.":RETURN
  214. 2120 PRINT
  215. 2130 IFMG(PL)=1THENPRINT" MORTAGED FOR $"P(PL,8)
  216. 2140 PRINT" COST   $";P(PL,1)
  217. 2150 IFPS(PL)=0THEN2200
  218. 2160 PRINT" OWNED[146] BY PLAYER"PS(PL):IFH(PL)THENPRINT"WITH";
  219. 2170 IFH(PL)<5THENPRINTH(PL)"HOUSES."
  220. 2180 IFH(PL)=5THENPRINT" A HOTEL"
  221. 2190 GOTO2250
  222. 2200 PRINT" YOU HAVE $";M(P7)
  223. 2210 PRINT" DO YOU WISH TO BUY THIS PROPERTY";:INPUT"  [191][157][157][157]";A$:A$=LEFT$(A$,1)
  224. 2220 IFA$="N"THEN2310
  225. 2230 IFA$<>"Y"THENPRINT"[145][145]":GOTO2210
  226. 2240 PRINT" OK YOU BOUGHT ";PN$(PL)"":M(P7)=M(P7)-P(PL,1):PS(PL)=PT:GOTO2300
  227. 2250 OW=P(PL,H(PL)+2):IFPS(PL)=PTTHEN2300
  228. 2260 IFMG(PL)THEN2300
  229. 2270 P5=PO:P6=PS(PL):GOSUB2320:IFOATHENIFH(PL)=0THENOW=OW*2
  230. 2280 M(PT)=M(PT)-OW:M(PS(PL))=M(PS(PL))+OW:PRINT" YOU OWE $";OW
  231. 2290 M(PS(PL))=M(PS(PL))+OW
  232. 2300 GOSUB1730:POKE53280,0:RETURN
  233. 2310 GOSUB6040:GOTO2300
  234. 2320 MG=0:OA=0:PC=0:FORI=1TO41:IFC$(PL)=C$(I)ANDPS(I)=P5THENPC=PC+1:IFMG(I)THENMG=MG
  235. 2330 NEXT
  236. 2340 IFPC=2ANDC$(PL)="PURPLE"THENOA=1:RETURN
  237. 2350 IFPC=2ANDC$(PL)="DK. BLUE"THENOA=1:RETURN
  238. 2360 IFPC=3THENOA=1:RETURN
  239. 2370 RETURN
  240. 2380 PRINT"[147]":PL=PL(PT)
  241. 2390 PRINT"PLAYER"PT
  242. 2400 PRINT"                   [150][216][152] [172][146]"
  243. 2410 PRINT"                      [146]"
  244. 2420 PRINT"                  [206][149][215] [215]"
  245. 2430 PRINT
  246. 2440 PRINTTAB(20-LEN(PN$(PL))/2)"";PN$(PL)"[146]"
  247. 2442 POKE54276,129:POKE54288,17:POKE54290,17
  248. 2443 KO=129:FORT=1TO2:FORI=1TO6:POKEG(I),KO:NEXT:FORDL=1TO400:NEXT
  249. 2444 FORI=1TO6:POKEG(I),0:NEXT:FORDL=1TO60:NEXT:NEXT
  250. 2445 POKE54276,33:POKE54288,33:POKE54290,33     
  251. 2450 PRINT:PRINT"RENT                     $25"
  252. 2460 PRINT"IF 2 R.R.'S ARE OWNED     50"
  253. 2470 PRINT"IF 3 R.R.'S ARE OWNED    100"
  254. 2480 PRINT"IF 4 R.R.'S ARE OWNED    200"
  255. 2490 PRINT
  256. 2500 PRINT"MORTAGE VALUE            $100"
  257. 2510 PRINT:IFMG(PL)=1THENPRINT"MORTAGED FOR $100":GOTO2690
  258. 2520 PRINT"COST   $200"
  259. 2530 PRINT:FORI=1TO41:IFPT$(I)="RR"THENGOSUB2550
  260. 2540 NEXT:GOTO2570
  261. 2550 IFPS(I)THENPRINTPN$(I)" OWNED BY PLAYER #";PS(I):RETURN
  262. 2560 PRINTPN$(I)" STILL FOR SALE.":RETURN
  263. 2570 IFPS(PL)THENPRINT"OWNED[146] BY PLAYER#";PS(PL):GOTO2650
  264. 2580 PRINT"YOU HAVE $"M(PT)
  265. 2590 PRINT"DO YOU WISH TO BUY IT";:INPUT"  [191][157][157][157]";B$:B$=LEFT$(B$,1)
  266. 2600 IFB$="N"THENGOSUB6040:GOTO2690
  267. 2610 IFB$<>"Y"THENPRINT"[145][145]":GOTO2590
  268. 2620 M(PT)=M(PT)-200:PS(PL)=PT
  269. 2630 PRINT"OK YOU BOUGHT IT"
  270. 2640 GOTO2690
  271. 2650 OW=0:O7=0
  272. 2660 IFPS(PL)=PTTHEN2690
  273. 2670 OW=25:FORI=6TO36STEP10:IFPT$(I)="RR"ANDPS(I)=PS(PL)THENOW=OW*2
  274. 2680 NEXT:OW=OW/DV:PRINT"YOU OWE $";OW:M(PT)=M(PT)-OW:M(PS(PL))=M(PS(PL))+OW
  275. 2690 GOSUB1730:RETURN
  276. 2700 PRINT"[147]"
  277. 2710 PRINT"PLAYER"PT
  278. 2720 PRINT"            [158][206][163][205]     [152][215][209][215]    "
  279. 2730 PRINT"            [158][205][150]^[158][206]    [152][171][192][177][192][192][192][201] "
  280. 2740 PRINT"             [158][165][165]    [152][171][192][192][192][192][201][200] "
  281. 2750 PRINT"             [166]          [173][189] ":PRINT
  282. 2760 PL=PL(PT)
  283. 2770 PRINTTAB(20-LEN(PN$(PL))/2)"";PN$(PL)"[146]"
  284. 2780 PRINT:PRINT"IF ONE 'UTILITY IS OWNED PAY 4 TIMES THEAMOUNT SHOWN ON DICE"
  285. 2790 PRINT
  286. 2800 PRINT"IF BOTH OWNED PAY 10 [214] AMOUNT ON DICE"
  287. 2810 D1=INT(RND(1)*6)+1:D2=INT(RND(1)*6)+1
  288. 2820 IFDFTHEND1=R1:D2=R2
  289. 2830 PRINT:PRINT"MORTAGE VALUE  $75":PRINT
  290. 2840 IFMG(PL)=1THENPRINT"MORTAGED FOR $75":GOTO3000
  291. 2850 IFPS(42-PL)THENPRINTPN$(42-PL)" OWNED BY PLAYER"PS(42-PL):GOTO2870
  292. 2860 PRINTPN$(42-PL)" STILL FOR SALE."
  293. 2870 PRINT:IFPS(PL)THENPRINT"OWNED[146] BY PLAYER#";PS(PL):GOTO2950
  294. 2880 PRINT"YOU HAVE $"M(PT)
  295. 2890 INPUT"DO YOU WISH TO BUY IT  [191][157][157][157]";B$:B$=LEFT$(B$,1)
  296. 2900 IFB$="N"THENGOSUB6040:GOTO3000
  297. 2910 IFB$<>"Y"THENPRINT"[145][145]":GOTO2890
  298. 2920 PRINT"OK YOU BOUGHT ";PN$(PL)""
  299. 2930 M(PT)=M(PT)-150
  300. 2940 PS(PL)=PT:GOTO3000
  301. 2950 IFPS(PL)=PTTHEN3000
  302. 2960 PRINT"DICE SHOW"D1"AND"D2"."
  303. 2970 MT=4:IFPS(13)=PS(PL)ANDPS(29)=PS(PL)THENMT=10
  304. 2980 IFDF=0THENMT=10
  305. 2990 OW=MT*(D1+D2):PRINT"YOU OWE $";OW:M(PT)=M(PT)-OW:M(PS(PL))=M(PS(PL))+OW
  306. 3000 MT=0:GOSUB1730:RETURN
  307. 3010 PRINT"[147]"
  308. 3020 PRINT"                 [129]FREE
  309. 3030 [153]"                (null)LENLENLENLENLENRIGHT$"
  310. 3040 [153]"                PEEK OPENORTAN^ LEFT$
  311. 3050 PRINT"                [221] [159][173][192][189] [221]
  312. 3060 [153]"                LEFT$ VERIFY(null)LENRIGHT$ PEEK
  313. 3070 PRINT"              [213][192][189] [149][194][152][209][149][200] [173][192][201]
  314. 3080 [153]"              (null)   VERIFYMID$ASC(null)   (null)
  315. 3090 PRINT"              [173][192][152][168][192][192][192][192][192][152][168][192][189]
  316. 3100 [153]"                PRINT#SPC(     SPC(
  317. 3110 PRINT:PRINT"                [129]PARKING":PRINT
  318. 3120 IFPF=0THENGOSUB1730:RETURN
  319. 3130 PRINT:PRINT"       YOU GET THE FREE PARKING"
  320. 3140 PRINT"          JACKPOT OF $"FP"!":M(PT)=M(PT)+FP:FP=0:PRINT:GOSUB1730:RETURN
  321. 3150 PRINT"[147]";TAB(15);"GO TO JAIL"
  322. 3160 IFDB=3THENPRINT:PRINT" FOR ROLLING DOUBLES 3 TIMES IN A ROW!":PRINT
  323. 3170 PRINTTAB(16);"[151][176][178][178][178][178][178][178][174]":FORI=1TO5:PRINTTAB(16);"[221][221][221][221][221][221][221][221]":NEXT
  324. 3175 PRINTTAB(16);"[173][177][177][177][177][177][177][189]":PRINT:PL(PT)=41:JF=1:DB=0
  325. 3180 FORKO=1TO3:FORT=60TO110STEP1.7:FORI=1TO6:POKEG(I),T:NEXT:NEXT
  326. 3182 FORDL=1TO10:NEXT
  327. 3183 FORT=110TO60STEP-1.7:FORI=1TO6:POKEG(I),T:NEXT:NEXT:NEXT
  328. 3184 FORI=1TO6:POKEG(I),0:NEXT
  329. 3185 PRINT"";:GOSUB1730:RETURN
  330. 3190 PRINT"[147]";TAB(15);"LUXURY TAX":PRINT:PRINTTAB(16);"PAY $75"
  331. 3200 PRINT:PRINT:PRINT:M(PT)=M(PT)-75:FP=FP+75:GOSUB1730:RETURN
  332. 3210 PRINT"[147]";TAB(15);"INCOME TAX":PRINT:PRINTTAB(16);"PAY $200"
  333. 3220 PRINT:PRINT:PRINT:M(PT)=M(PT)-200:FP=FP+200:GOSUB1730:RETURN
  334. 3230 CC=CC+1:IFCC>16THENCC=CC-16
  335. 3240 PO=3-PT:CC$=CC$(CC):IFCC=1ANDCJ(1)THENCC=CC+1:CC$=CC$(CC)
  336. 3250 PRINT"[147]           [158]COMMUNITY CHEST":FORU=0TO500:NEXTU:PRINTCC$""
  337. 3260 IFCC=1THENCJ(1)=PT
  338. 3270 IFCC=2THENGOSUB1730:GOTO3150
  339. 3280 IFCC=3THENPL(PT)=1:MF=1:GOSUB1730:GOSUB1700:RETURN
  340. 3290 IFCC=4THENM(PT)=M(PT)+45
  341. 3300 IFCC=5THENM(PT)=M(PT)+50:M(PO)=M(PO)-50
  342. 3310 IFCC=6THENM(PT)=M(PT)+25
  343. 3320 IFCC=7THENM(PT)=M(PT)-150:FP=FP+150
  344. 3330 IFCC=8THENM(PT)=M(PT)+20
  345. 3340 IFCC=9THENGOSUB3430
  346. 3350 IFCC=10THENM(PT)=M(PT)+10
  347. 3360 IFCC=11THENM(PT)=M(PT)+100
  348. 3370 IFCC=12THENM(PT)=M(PT)+100
  349. 3380 IFCC=13THENM(PT)=M(PT)-100
  350. 3390 IFCC=14THENM(PT)=M(PT)+200
  351. 3400 IFCC=15THENM(PT)=M(PT)-50
  352. 3410 IFCC=16THENM(PT)=M(PT)+100
  353. 3420 GOSUB1730:RETURN
  354. 3430 YP=0:FORI=1TO40
  355. 3440 IFPS(I)=(PT)ANDH(I)<5THENYP=YP+(40*H(I))
  356. 3450 IFPS(I)=(PT)ANDH(I)=5THENYP=YP+115
  357. 3460 NEXT:PRINT"YOU PAY $"YP:M(PT)=M(PT)-YP:FP=FP+YP:RETURN
  358. 3470 CH=CH+1:IFCH>16THENCH=CH-16
  359. 3480 PO=3-PT:CH$=CH$(CH):IFCH=8ANDCJ(2)THENCH=CH+1:CH$=CH$(CH)
  360. 3490 PRINT"[147]          [150]? ? CHANCE ? ?":FORU=0TO500:NEXTU:PRINTCH$""
  361. 3500 IFCH=1THENM(PT)=M(PT)-15:FP=FP+15
  362. 3510 IFCH=2THENGOSUB1730:GOTO3150
  363. 3520 IFCH=3THENPL(PT)=1:MF=1:GOSUB1730:GOSUB1700:RETURN
  364. 3530 IFCH=4THENM(PT)=M(PT)+150
  365. 3540 IFCH=5THENGOSUB3670:MF=1
  366. 3550 IFCH=6THENGOSUB3710:MF=1
  367. 3560 IFCH=7THENM(PT)=M(PT)+50
  368. 3570 IFCH=8THENCJ(2)=PT
  369. 3580 IFCH=9THENM(PT)=M(PT)-50:M(PO)=M(PO)+50
  370. 3590 IFCH=10THENGOSUB3730:MF=1
  371. 3600 IFCH=11THENGOSUB3750:MF=1
  372. 3610 IFCH=12THENPL(PT)=PL(PT)-3:MF=1
  373. 3620 IFCH=13THENGOSUB3770:MF=1
  374. 3630 IFCH=14THENGOSUB3790
  375. 3640 IFCH=15THENGOSUB3670:MF=1
  376. 3650 IFCH=16THENGOSUB3830:MF=1
  377. 3660 GOSUB1730:RETURN
  378. 3670 PL(PT)=PL(PT)+1:IFPL(PT)>40THENGOSUB6540:PL(PT)=PL(PT)-40
  379. 3680 IFPT$(PL(PT))="RR"THEN3700
  380. 3690 GOTO3670
  381. 3700 DV=1:RETURN
  382. 3710 IFPL(PT)>25THENGOSUB6540
  383. 3720 PL(PT)=25:RETURN
  384. 3730 IFPL(PT)>12THENGOSUB6540
  385. 3740 PL(PT)=12:RETURN
  386. 3750 IFPL(PT)>6THENGOSUB6540
  387. 3760 PL(PT)=6:RETURN
  388. 3770 PL(PT)=40:RETURN
  389. 3780 RETURN
  390. 3790 DF=0:YP=0:FORI=1TO40
  391. 3800 IFPS(I)=(PT)ANDH(I)<5THENYP=YP+(25*H(I))
  392. 3810 IFPS(I)=(PT)ANDH(I)=5THENYP=YP+100
  393. 3820 NEXT:PRINT"YOU PAY $"YP:M(PT)=M(PT)-YP:FP=FP=YP:RETURN
  394. 3830 PL(PT)=PL(PT)+1
  395. 3840 IFPL(PT)>40THENGOSUB6540:PL(PT)=PL(PT)-40
  396. 3850 IFPT$(PL(PT))="U"THEN3870
  397. 3860 GOTO3830
  398. 3870 MF=1:RETURN
  399. 3880 PRINT"[147]"
  400. 3890 JT(PT)=JT(PT)+1
  401. 3900 PRINT"PLAYER #"PT"IS IN JAIL"
  402. 3910 PRINT:PRINT"YOU HAVE BEEN IN"JT(PT)"TURNS"
  403. 3920 PRINT"YOU MAY:  1.  PAY $50"
  404. 3930 PRINT"          2.  USE  A 'GET OUT OF JAIL                 FREE CARD."
  405. 3940 PRINT"          3.  TRY TO ROLL DOUBLES."
  406. 3950 PRINT:INPUT"CHOICE";I:IFI<1ORI>3THEN3950
  407. 3960 IFI=1THENM(PT)=M(PT)-50:FP=FP+50:PL(PT)=11:GOSUB1730:JE=1:RETURN
  408. 3970 IFI=2ANDCJ(1)=PTTHENCJ(1)=0:PL(PT)=11:GOSUB1730:JE=1:RETURN
  409. 3980 IFI=2ANDCJ(2)=PTTHENCJ(2)=0:PL(PT)=11:GOSUB1730:JE=1:RETURN
  410. 3990 IFI=2THENPRINT"YOU DON'T HAVE A CARD":GOTO3950
  411. 4000 IFI=3THENGOSUB1620:IFDBTHEN4060
  412. 4010 PRINT"YOU DIDN'T ROLL DOUBLES."
  413. 4020 IFJT(PT)>2THENPRINT"YOU MUST PAY THE $50":M(PT)=M(PT)-50:PL(PT)=11:JB=1
  414. 4030 IFJT(PT)>2THENGOSUB1730:FP=FP+50:RETURN
  415. 4040 GOSUB1730:RETURN
  416. 4050 IFPL(PT)=11THENGOSUB1730:JE=1:RETURN
  417. 4060 PRINT"YOU MADE IT OUT!!!":PL(PT)=11:GOSUB1730:JB=1:DB=0:RETURN
  418. 4070 GOTO6200
  419. 4080 PRINT"[147]":IFPFTHENPRINT"MONEY IN FREE PARKING JACKPOT $";FP
  420. 4090 PRINT"PLAYER 1 HAS $";M(1):PRINT"PLAYER 2 HAS $";M(2)
  421. 4100 PRINT:PRINT"PLAYER";PT"UP."
  422. 4110 PRINT:PRINT:PRINTTAB(15);"OPTIONS"
  423. 4120 PRINT
  424. 4130 PRINT"   R=REVIEW PROPERTIES"
  425. 4140 PRINT"   L=LIST ALL PROPERTIES"
  426. 4150 PRINT"   B=BUILD HOUSES/HOTELS"
  427. 4160 PRINT"   S=SELL PROPERTIES TO OTHER PLAYER"
  428. 4170 PRINT"   M=MORTAGE PROPERTIES(SELL HOUSES)"
  429. 4180 PRINT"   D=DISPLAY TITLE DEEDS"
  430. 4190 PRINT"   Q=RETURN TO GAME"
  431. 4200 PRINT"  XX=END GAME":PRINT
  432. 4210 INPUT"CHOICE  [191][157][157][157]";C$
  433. 4220 IFC$="[191]"THEN4210
  434. 4230 IFC$="R"THENGOSUB4320
  435. 4240 IFC$="L"THENGOSUB4490
  436. 4250 IFC$="B"THENGOSUB4640
  437. 4260 IFC$="S"THENGOSUB5080
  438. 4270 IFC$="M"THENGOSUB5440
  439. 4280 IFC$="D"THENGOSUB6510
  440. 4290 IFC$="Q"THENRETURN
  441. 4300 IFC$="XX"THEN6280
  442. 4310 GOTO4080
  443. 4320 INPUT"FOR WHICH PLAYER (1 OR 2)";PN
  444. 4330 IFPN<1ORPN>2THEN4320
  445. 4340 PRINT"[147]"
  446. 4350 PRINTTAB(6)"PROPERTIES FOR PLAYER ";PN
  447. 4360 PRINT
  448. 4370 FORI=1TO40:PO$="":IFPS(I)=PNTHENPRINTPN$(I);
  449. 4380 IFPS(I)<>PNTHEN4450
  450. 4390 IFPT$(I)<>"P"THEN4430
  451. 4400 PRINTSPC(20-(LEN(PN$(I))-2));" -";:IFH(I)<5THENPO$=STR$(H(I))+" HS"
  452. 4410 IFH(I)=5THENPO$=" HOTEL[146]"
  453. 4420 PO$=PO$+"/$"+MID$(STR$(P(I,H(I)+2)),2)
  454. 4430 IFMG(I)=1THENPO$="- MORTAGED"
  455. 4440 PRINTPO$
  456. 4450 NEXT
  457. 4460 PRINT:IFCJ(1)=PNORCJ(2)=PNTHENPRINT"GET OUT OF JAIL FREE CARD."
  458. 4470 PRINT"PLAYER"PN"HAS $";M(PN)
  459. 4480 PRINT:GOSUB1730:RETURN
  460. 4490 PRINT"[147]"
  461. 4500 TT$="NAME                            OWNER/[157][157][157][157][157][157]#HOUSES":PRINTTT$
  462. 4510 FORK=1TO40:IFPT$(K)<>"P"ANDPT$(K)<>"RR"ANDPT$(K)<>"U"THEN4600
  463. 4520 PRINTPN$(K)"";TAB(21);
  464. 4530 PRINTTAB(33)
  465. 4540 P$=STR$(PS(K)):PP$=MID$(STR$(H(K)),2):IFH(K)>4THENPP$="H"
  466. 4550 IFPT$(K)<>"P"THENPP$="X"
  467. 4560 IFMG(K)THENPP$="MG[146]"
  468. 4570 P$=P$+" -"+PP$
  469. 4580 IFPS(K)=0THENP$=" NONE"
  470. 4590 PRINTP$
  471. 4600 IFK=20THENPRINT:GOSUB1730:PRINT"[147]":PRINTTT$
  472. 4610 NEXTK
  473. 4620 PRINT:GOSUB1730
  474. 4630 RETURN
  475. 4640 PRINT"[147]"
  476. 4650 HO=0
  477. 4660 PRINT" ON WHICH GROUP":PRINTPG$
  478. 4670 PRINT
  479. 4680 INPUT"WHICH COLOR";C$
  480. 4690 FORI8=1TO41:IFC$=LEFT$(C$(I8),LEN(C$))THENPL=I8:C$=C$(I8):GOTO4720
  481. 4700 NEXTI8
  482. 4710 PRINT"ILLEGAL GROUP":GOTO4680
  483. 4720 P7=PT
  484. 4730 P5=P7:GOSUB2320:IFMGTHENOA=0
  485. 4740 IFOATHEN4770
  486. 4750 PRINT"SORRY YOU EITHER DON'T OWN ALL THE PROP-ERTY IN THAT GROUP OR SOME";
  487. 4760 PRINT" IS MORTAGED.":GOSUB1730:RETURN
  488. 4770 PRINT"   PROPERTY NAME    # OF HOUSES(5=HOTEL)"
  489. 4780 HS=0:FORI=PLTOPL+4:IFC$=C$(I)THENPRINTPN$(I)"";TAB(30);H(I):HS=HS+H(I)
  490. 4790 NEXT
  491. 4800 PRINT:PRINT"HOUSES FOR THIS GROUP COST $"P(PL,9)"EACH"
  492. 4810 PRINT"HOTELS COST $"P(PL,9)"+ 4 HOUSES OR $";(P(PL,9)*5)
  493. 4820 PRINT
  494. 4830 PRINT"YOU HAVE $"M(PT)
  495. 4840 PRINT"HOTELS AUTOMATICALLY ADDED AFTER 4TH    HOUSE"
  496. 4850 PRINT"HOW  MANY HOUSES DO YOU WANT TO BUY (MAX=";:MX=((5*PC)-HS):PRINTMX")"
  497. 4860 INPUTHN:IFHN>MXTHENGOTO4850
  498. 4870 H7=INT(HN/PC):H8=HN-(H7*PC)
  499. 4880 IFM(P7)<(HN*P(PL,9))THENPRINT"YOU DON'T HAVE ENOUGH MONEY!":GOTO4850
  500. 4890 IFHN=0THENPRINT"OK":GOSUB1730:RETURN
  501. 4900 M(P7)=M(P7)-(HN*P(PL,9)):FORE=PLTOPL+4:IFC$=C$(E)THENH(E)=H(E)+H7
  502. 4910 NEXT
  503. 4920 IFH8THEN4940
  504. 4930 GOTO5070
  505. 4940 PRINT"YOU HAVE"H8"HOUSES LEFT OVER"
  506. 4950 PRINT:F1=0:FORF=PLTOPL+4:IFC$=C$(F)THENF1=F1+1:PRINTF1,PN$(F);"  "H(F)
  507. 4960 NEXT:PRINT:FORG=1TOH8
  508. 4970 PRINT"WHERE DO YOU WANT HOUSE #"G;:INPUTHL:IFHL=HOTHENPRINT"CAN'T":GOTO4970
  509. 4980 F2=0:F1=0:F9=0
  510. 4990 FORF=PLTOPL+3:IFC$=C$(F)THENF1=F1+1:IFF1=HLTHENF9=F
  511. 5000 NEXTF
  512. 5010 IFF9=0THENPRINT"NO SUCH NUMBER":GOTO4970
  513. 5020 H2=0:FORF=PLTOPL+3:IFC$=C$(F)THENIFH(F9)>H(F)THENH2=H2+1
  514. 5030 NEXT
  515. 5040 IFH2THENPRINT"ILLEGAL DISTRIBUTION OF HOUSES!":GOTO4970
  516. 5050 HO=HL:H(F9)=H(F9)+1
  517. 5060 NEXTG
  518. 5070 PRINT"DONE":GOSUB1730:RETURN
  519. 5080 INPUT"WHAT PLAYER HAS A PROPERTY TO SELL";P1
  520. 5090 IFP1=0THENGOSUB1730:RETURN
  521. 5100 P2=P1+1:IFP2>2THENP2=P2-2
  522. 5110 PRINT"IS IT A PROPERTY";:INPUTQ$:IFLEFT$(Q$,1)="N"THEN5320
  523. 5120 PRINT"IN WHAT COLOR GROUP":PRINTPG$
  524. 5130 PRINT:INPUT"WHICH";C$
  525. 5140 FORI6=1TO41:IFC$=LEFT$(C$(I6),LEN(C$))THENPL=I6:C$=C$(I6):GOTO5170
  526. 5150 NEXTI6
  527. 5160 PRINT"ILLEGAL GROUP":GOTO5130
  528. 5170 PRINT"#  PROPERTY";TAB(30);"OWNER"
  529. 5180 HO=0:CT=0:FORI=PLTOPL+4:IFC$=C$(I)THENCT=CT+1:PRINTCT"   "PN$(I)"";TAB(35);PS(I)
  530. 5190 IFH(I)THENHO=1
  531. 5200 NEXT
  532. 5210 PRINT:PRINT"WHAT NUMBER DOES PLAYER"P1"WANT          TO SELL"
  533. 5220 INPUTTP
  534. 5230 CT=0:FORI=PLTOPL+4:IFC$=C$(I)THENCT=CT+1:IFCT=TPTHENT4=I:FF=1
  535. 5240 NEXT
  536. 5250 IFFF=0THENPRINT"ILLEGAL NUMBER":GOTO5210
  537. 5260 IFPS(T4)<>P1THENPRINT"PLAYER #"P1"DOES NOT OWN IT.":GOTO5080
  538. 5270 IFHOTHENPRINT"YOU HAVE HOUSES ON THAT GROUP YOU CAN'T SELL IT.":GOTO5310
  539. 5280 INPUT "WHAT IS THE AGREED SELLING PRICE";SP
  540. 5290 M(P1)=M(P1)+SP:M(P2)=M(P2)-SP:PS(T4)=P2
  541. 5300 PRINT"PLAYER #"P2"BOUGHT "PN$(T4)"":PRINT"FOR $"SP
  542. 5310 PRINT:GOSUB1730:RETURN
  543. 5320 PRINT"PROPERTY";TAB(30);"OWNER"
  544. 5330 FORI=6TO36STEP10:N=N+1:PRINTN"  "PN$(I)"";TAB(35);PS(I):NEXT:N=0
  545. 5340 PRINT" 5   "PN$(13)"";TAB(35);PS(13):PRINT" 6   "PN$(29)"";TAB(35);PS(29)
  546. 5350 INPUT"WHICH #";NM:IFNM=0THENRETURN
  547. 5360 IFNM<1ORNM>6THEN5350
  548. 5370 IFNM=5ANDPS(13)=P1THENSN=13:GOTO5410
  549. 5380 IFNM=6ANDPS(29)=P1THENSN=29:GOTO5410
  550. 5390 IFNM>0ANDNM<5THENSN=6+((NM-1)*10):IFPS(SN)=P1THENGOTO5410
  551. 5400 PRINT"YOU DON'T OWN IT.":GOTO5320
  552. 5410 INPUT"AGREED PRICE";SP
  553. 5420 M(P1)=M(P1)+SP:M(P2)=M(P2)-SP:PS(SN)=P2
  554. 5430 GOSUB1730:RETURN
  555. 5440 PRINT"[147]":PRINT"  OPTIONS":PRINT"0  RETURN TO MAIN MENU":PRINT"1  MORTAGE PROPERTY"
  556. 5450 PRINT"2  MORTAGE RAILROAD":PRINT"3  MORTAGE UTILITY"
  557. 5460 PRINT"4  LIFT MORTAGE(AT 10% INTEREST)":PRINT"5  SELL HOUSES":PRINT
  558. 5470 INPUT"CHOICE";GG:IFGG<0ORGG>5THEN5470
  559. 5480 IFGG=0THENGOSUB1730:RETURN
  560. 5490 ONGGGOSUB5510,5740,5830,5910,6550
  561. 5500 GOTO5440
  562. 5510 PRINT:PRINT"ON WHICH GROUP IS THE PROPERTY TO BE":PRINT"MORTAGED LOCATED?":PRINTPG$
  563. 5520 PRINT:INPUT"COLOR GROUP";C$
  564. 5530 FORI6=1TO41:IFC$=LEFT$(C$(I6),LEN(C$))THENPL=I6:C$=C$(I6):GOTO5560
  565. 5540 NEXTI6
  566. 5550 PRINT"ILLEGAL GROUP":GOTO5520
  567. 5560 CM=0:FORI=PLTOPL+3:IFC$=C$(I)THENCM=CM+H(I)
  568. 5570 NEXT
  569. 5580 IFCMTHENPRINT"CAN'T MORTAGE PROPERTIES WITH HOUSES    STILL ON THAT GROUP.":GOTO5730
  570. 5590 PRINT"#  PROPERTY";TAB(25);"OWNER"
  571. 5600 CT=0:FORI=PLTOPL+4:IFC$<>C$(I)THEN5630
  572. 5610 CT=CT+1:PRINTCT"   "PN$(I)"";TAB(27)PS(I);:PP$="":IFMG(I)THENPP$="MORTAGED"
  573. 5620 PRINTPP$
  574. 5630 NEXT
  575. 5640 PRINT:PRINT"WHAT NUMBER IS TO BE MORTAGED.";:INPUTTP
  576. 5650 IFTP=0THENGOSUB1730:RETURN
  577. 5660 CT=0:FORI=PLTOPL+4:IFC$=C$(I)THENCT=CT+1:IFCT=TPTHENT4=I:FF=1
  578. 5670 NEXT
  579. 5680 IFFF=0THENPRINT"ILLEGAL NUMBER":GOTO5640
  580. 5690 IFPS(T4)<>PTTHENPRINT"YOU DON'T OWN IT.":GOSUB1730:GOTO5440
  581. 5700 IFMG(T4)=1THENPRINT"ALREADY MORTAGED":GOTO5640
  582. 5710 PRINT:PRINT"OK":MG(T4)=1
  583. 5720 PRINT"YOU GOT $"P(T4,8)"FOR YOUR MORTAGE.":M(PT)=M(PT)+P(T4,8)
  584. 5730 GOSUB1730:RETURN
  585. 5740 RC=0:FORI=6TO36STEP10:IFPT$(I)="RR"THENRC=RC+1:PRINTRC"  "PN$(I)"     PLR.#"PS(I)
  586. 5750 NEXT
  587. 5760 INPUT"WHICH #";RG
  588. 5770 IFRG<1ORRG>4THEN5760
  589. 5780 RG=6+((RG-1)*10)
  590. 5790 IFPS(RG)<>PTTHENPRINT"YOU DON'T OWN IT.":GOSUB1730:GOTO5440
  591. 5800 IFMG(RG)=1THENPRINT"ALREADY MORTAGED.":GOSUB1730:GOTO5440
  592. 5810 MG(RG)=1:PRINT"YOU GET $100 FOR MORTAGE.":M(PT)=M(PT)+100
  593. 5820 GOSUB1730:RETURN
  594. 5830 U(1)=13:U(2)=29
  595. 5840 FORI=1TO2:PRINTI"  "PN$(U(I))"":NEXT
  596. 5850 INPUT"WHICH?";UM
  597. 5860 IFUM<1ORUM>2THEN5850
  598. 5870 IFPS(U(UM))<>PTTHENPRINT"YOU DON'T OWN IT.":GOSUB1730:GOTO5440
  599. 5880 IFMG(U(UM))=1THENPRINT"ALREADY MORTAGED.":GOSUB1730:GOTO5440
  600. 5890 MG(U(UM))=1:PRINT"YOU GET $75 FOR MORTAGE.":M(PT)=M(PT)+75
  601. 5900 GOSUB1730:RETURN
  602. 5910 PRINT:PRINT"THESE ARE THE PROPERTIES THAT ARE UNDER A MORTAGE."
  603. 5920 ML=0:FORI=1TO41:IFPS(I)=(PT)ANDMG(I)=1THENML=ML+1:PRINTML"  "PN$(I)""
  604. 5930 NEXT
  605. 5940 IFML=0THENPRINT"YOU HAVE NO MORTAGED PROPERTIES.":GOSUB1730:RETURN
  606. 5950 PRINT:INPUT"WHICH MORTAGE DO YOU WAN'T TO LIFT";LF
  607. 5960 IFLF<1ORLF>MLTHENPRINT"ILLEGAL":GOTO5950
  608. 5970 ML=0:FORI=1TO41:IFPS(I)=(PT)ANDMG(I)=1THENML=ML+1:IFML=LFTHENFT=I
  609. 5980 NEXT
  610. 5990 PRINT"THE MORTAGE IS FOR $"P(FT,8)
  611. 6000 PRINT"YOU MUST PAY $";:PY=P(FT,8)*1.10:PRINTPY
  612. 6010 IFPY>M(PT)THENPRINT"YOU DON'T HAVE THE MONEY.":GOSUB1730:RETURN
  613. 6020 M(PT)=M(PT)-PY:MG(FT)=0
  614. 6030 GOSUB1730:RETURN
  615. 6040 IFAFTHEN6060
  616. 6050 RETURN
  617. 6060 PL=PL(PT):PRINTPN$(PL)" WILL NOW BE AUCTIONED"
  618. 6070 PRINT"TO THE HIGHEST BIDDER"
  619. 6080 PO=3-PT:PRINT:HB=0:PA=PT:AC=0:PRINT:HB=0:PA=PT:AC=0
  620. 6090 PA=3-PA
  621. 6100 PRINT"PLAYER"PA"WHAT'S YOUR BID";:INPUTBD:BD=INT(BD):AC=AC+1
  622. 6110 IFBD=0THENON(AC>1)+2GOTO6140,6090
  623. 6120 IFBD<=HBTHENPRINT"YOU MUST BID HIGHER THAN"HB"OR BID '0'":GOTO6100
  624. 6130 HB=BD:HR=PA:GOTO6090
  625. 6140 IFHB=0THEN6190
  626. 6150 PRINTPN$(PL)" GOES TO"
  627. 6160 PRINT"PLAYER"HR" FOR $"HB
  628. 6170 M(HR)=M(HR)-HB:PS(PL)=HR
  629. 6180 RETURN
  630. 6190 PRINT:PRINTPN$(PL)" HAS NOT BEEN PURCHASED.":RETURN
  631. 6200 PRINT"[147]":PRINT"PLAYER #"PT"IS BROKE!!"
  632. 6210 PRINT"IF YOU CAN'T RAISE $"ABS(M(PT))"THEN YOU ARE OUT OF THE GAME."
  633. 6220 PRINT"DO NOT HIT 'Q' (RETURN TO GAME) UNTIL   YOU FINISH TRYING TO";
  634. 6230 PRINT" RAISE MONEY"
  635. 6240 GOSUB1730:GOSUB4080
  636. 6250 IFM(PT)>=0THENRETURN
  637. 6260 IFM(PT)<0THENPRINT"YOU ARE BANKRUPT!!!":PT=3-PT
  638. 6270 PRINT" --PLAYER #"PT"WINS!-- ":END
  639. 6280 PRINT"GAME OVER"
  640. 6290 PRINT"THE WINNER IS ";
  641. 6300 IFM(1)>M(2)THENPRINT"PLAYER #1 WITH $"M(1)
  642. 6310 IFM(2)>M(1)THENPRINT"PLAYER #2 WITH $"M(2)
  643. 6320 IF M(2)=M(1)THENPRINT"NEITHER,  IT'S A TIE!"
  644. 6330 PRINT"PLAYER 1 =  $";M(1)
  645. 6340 PRINT"PLAYER 2 =  $";M(2)
  646. 6350 PRINT
  647. 6360 POKE54296,0:FORI=1TO6:POKEG(I),0:END
  648. 6370 FORJ=832TO939
  649. 6380 READI:POKEJ,I:NEXT
  650. 6390 DATA 160,0,185,0,4,153,0,192,185,0,5,153,0,193,185,0,6,153,0
  651. 6400 DATA 194,185,0,7,153,0,195,185,0,216,153,0,196,185,0,217,153,0
  652. 6410 DATA 197,185,0,218,153,0,198,185
  653. 6420 DATA 0,219,153,0,199,200,208,205,96,160,0,185,0,192,153,0,4,185,0,193,153
  654. 6430 DATA 0,5,185,0,194,153,0,6,185,0,195,153,0,7,185,0,196,153,0,216,185,0,197
  655. 6440 DATA 153,0,217,185,0,198,153,0,218,185,0,199,153,0,219,200,208,205,96
  656. 6460 RETURN
  657. 6470 FORP4=1TO2
  658. 6480 Y$=""+PN$(PL(P4))+LEFT$("[157]               ",18-(LEN(PN$(PL(P4)))-2))+"[146]"
  659. 6490 MN$="$"+MID$(STR$(M(P4)),2)+"    [146]":X=13:Y=2*P4+3:Z$=Y$:GOSUB1570
  660. 6500 Y=Y+1:Z$=MN$:GOSUB1570:NEXT:RETURN
  661. 6510 PRINT"DISPLAY DEEDS FOR WHICH COLOR GROUP:":PRINTPG$:INPUTC$:PRINT
  662. 6520 P3=PL:FORI=1TO41:IFC$=LEFT$(C$(I),LEN(C$))THENGF=1:PL=I:GOSUB1900:GF=0
  663. 6530 NEXT:PL=P3:RETURN
  664. 6540 M(PT)=M(PT)+200:PRINT"COLLECTED $200":RETURN
  665. 6550 PRINT"ON WHICH COLOR GROUP:":PRINTPG$:INPUTC$
  666. 6560 PL=0:FORI=41TO1STEP-1:IFC$=LEFT$(C$(I),LEN(C$))THENPL=I:C$=C$(I)
  667. 6570 NEXTI:IFPLTHEN6590
  668. 6580 PRINT"ILLEGAL GROUP":GOTO6550
  669. 6590 DO=0:HN=0:FORI=PLTOPL+3:IFPS(I)<>(PT)ANDC$=C$(I)THENDO=1
  670. 6600 IFC$=C$(I)THENHN=HN+H(I)
  671. 6610 NEXT
  672. 6620 IFDO=1ORHN=0THENPRINT"YOU DON'T OWN HOUSES ON THESE PROPERTIES":GOSUB1730:RETURN
  673. 6630 PRINT"#  PROPERTY";TAB(25);"HOUSES(5=HOTEL)"
  674. 6640 CT=0:FORI=PLTOPL+3:IFC$=C$(I)THENCT=CT+1:PRINTCT"   "PN$(I)"";TAB(27)H(I)
  675. 6650 NEXT
  676. 6660 INPUT"WANT TO REMOVE ALL THESE HOUSES";A$:IFLEFT$(A$,1)="Y"THEN6800
  677. 6670 PRINT:INPUT"WHAT # TO REMOVE A HOUSE FROM.";TP
  678. 6680 IFTP=0THEN RETURN
  679. 6690 CT=0:FORI=PLTOPL+3:IFC$=C$(I)THENCT=CT+1:IFCT=TPTHENT4=I:FF=1
  680. 6700 NEXT
  681. 6710 IFFF=0THENPRINT"ILLEGAL NUMBER":GOTO6670
  682. 6720 IFH(T4)=0THENPRINT"NO HOUSES THERE.":GOTO6670
  683. 6730 NN=0:NH=H(T4):FORI=PLTOPL+3:IFH(I)>NHTHENNN=1
  684. 6740 NEXT
  685. 6750 IFNNTHENPRINT"YOU CAN'T REMOVE THAT HOUSE.":GOTO6670
  686. 6760 PRINT:PRINT"OK.":H(T4)=H(T4)-1
  687. 6770 HM=P(PL,9)/2
  688. 6780 PRINT"YOU GOT $"HM"FOR YOUR HOUSE":M(PT)=M(PT)+HM
  689. 6790 GOSUB1730:GOTO5440
  690. 6800 HM=0:FORI=PLTOPL+3:IFC$=C$(I)THENHM=HM+(P(PL,9)/2)*H(I):H(I)=0
  691. 6810 NEXT:PRINT"YOU GOT $"HM"FOR YOUR HOUSES":M(PT)=M(PT)+HM:GOTO6790
  692.