home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Games / JOYMONOP1.3.SDA / MON / PRG (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  29.8 KB  |  839 lines

  1. 1 GOTO 110 :REM MON/PRG, SAVE # 340
  2. 2 B=53280:POKEB,0:POKEB+1,0:POKE646,15:END
  3. 3 PRINTCHR$(147):Z= 340 :L= 110 :N$="MON/PRG"
  4. 4 Z=Z+1:PRINT"3 PRINTCHR$(147):Z="Z":L="L":N$="CHR$(34) N$ CHR$(34)
  5. 5 PRINT"1 GOTO"L":REM "N$", SAVE #"Z:PRINT"N$="CHR$(34) N$ CHR$(34);
  6. 6 PRINT":Z="Z":GOTO 7"CHR$(19):FOR I=631TO635: POKE I,13:NEXT:POKE 198,5:END
  7. 7 OPEN 15,8,15,"I0":IF((ZAND15)OR8)<>8THENPRINT"RENAMING OLD VERSION";:GOTO9
  8. 8 V=0:POKE198,0:INPUT"VALIDATE DISK  Y[157][157][157]";Z$:IFZ$="Y"THENV=1
  9. 9 PRINT#15,"S0:"+N$+".OLD":PRINT#15,"R0:"+N$+".OLD=0:"+N$:IFVTHENPRINT#15,"V0"
  10. 10 INPUT#15,E,E$:PRINT" "E$:SAVE"0:"+N$,8:INPUT#15,E,E$:PRINT" "E$:CLOSE15:END
  11. 19 REM ** ** CURPOS
  12. 20 POKE781,PX:POKE782,PY:POKE783,0:SYS65520:IFELTHENSYS59903:EL=0
  13. 21 RETURN
  14. 22 POKE783,1:SYS65520:PX=PEEK(781):PY=PEEK(782):RETURN
  15. 25 REM ** ** ERASELN
  16. 26 FORC=EYTOEXSTEP-1:POKE781,C:POKE 783,0:SYS 65520:SYS59903:NEXT:RETURN
  17. 29 REM ** ** BOX
  18. 30 PRINT"[145][145]"C1$:POKE251,PX:POKE252,PY:POKE253,BW:POKE254,BD:SYSBX
  19. 32 PX=PX+1:PY=PY+1:RETURN:REM POS FOR NEXT STATEMENT
  20. 37 REM ** ** MENU
  21. 38 C1$="[159]":C2$="":PX=17:PY=5:REM STANDRD POS
  22. 39 POKESN,1:SYSTN:GOSUB40:GOSUB20:PRINTC1$MN$(M):RETURN:REM CLEAR HIGHLIGHT
  23. 40 IF(PEEK(56320)AND16)=0THENHX=PX:HY=PY:PX=24:PY=0:GOSUB20:PRINTFR$:PX=HX:PY=HY:GOTO40
  24. 41 SYSTT:RJ=0:PRINTC1$:HY=PY:PY=0:GOSUB20:FORC=MBTOME:PRINTTAB(HY)MN$(C):NEXT
  25. 42 PY=HY:GOSUB20:M=MB:PRINTC2$;MN$(M)
  26. 43 REM ** JOYCHEK
  27. 44 JV=PEEK(56320):J1=15-(JVAND15):IF(JVAND16)=0THENRETURN:REM FIRE PRESSED
  28. 46 JS=DR%(J1):IFM+JS<MBORM+JS>MEORJS=0THEN44
  29. 48 IFRJTHENGOSUB20:PRINTJ1$:M=M+JS:PX=PX+JS:GOSUB20:PRINTJ2$:GOTO44:REM PNTR
  30. 50 GOSUB20:PRINTC1$;MN$(M):M=M+JS:PX=PX+JS:GOSUB20:PRINTC2$;MN$(M):GOTO44
  31. 51 REM ** ** MAKEB1-4
  32. 52 B1=D%(PL,3):B4=-(B1>9)*(B1-9):B3=B1-7+((B4>1)*(B4-1)):NP=2+(B4=1ORB4=8)
  33. 53 SP=200+(B1=8)*50:IFB4THENB2=D%(PL,4):SP=V%(B4,B2,6)
  34. 54 RETURN
  35. 55 REM ** ** OWNALL?
  36. 56 Z4=1:FORL=1TO2+(B4=1ORB4=8):IFZ4ANDMG%(OP%(B4,0))ORMG%(OP%(B4,L))THENZ4=3
  37. 57 IFZ4=1ANDH%(OP%(B4,0))ORH%(OP%(B4,L))THENZ4=2
  38. 58 IFS%(OP%(B4,L))<>S%(OP%(B4,0))THENZ4=0
  39. 59 NEXT:OA%(B4)=Z4:RETURN
  40. 65 REM ** ** PRNTW$
  41. 66 BW=BW-2:FORL=0TONL:PRINTTAB(PY)""MID$(W$,(BW)*L+1,BW):NEXT:RETURN
  42. 67 REM ** ** CHEKFIR
  43. 68 PX=17:PY=0:GOSUB20:FORC=0TO2:PRINTTAB(5)S1$:NEXT:PY=5:REM STNDRD POS
  44. 69 IF(PEEK(56320)AND16)=0THEN69
  45. 70 C1=PEEK(TX):C2=8:GOSUB20:PY=PY+6
  46. 72 PRINT" PUSH FIRE TO GO ON ";
  47. 74 DL=TI+45
  48. 76 IF(PEEK(56320)AND16)=0THENPOKETX,C1:PRINT"[145][145]":RETURN
  49. 78 IFTI<DLTHEN76
  50. 80 IFPEEK(TX)=C1THENPOKETX,C2:GOTO84
  51. 82 POKETX,C1
  52. 84 GOSUB20:PRINT"FIRE";:GOTO74
  53. 85 REM ** ** SHOTOTAL
  54. 86 BP=0:FORL=1TO2:X=3*L+2:PX=X:PY=12:GOSUB20:PRINT""N$(PL(L-1));
  55. 88 PRINT"[159]"LEFT$(S1$,20-LEN(N$(PL(L-1))))
  56. 90 PRINTTAB(PY)"$ [157]"M(L-1)"[157]   ":IFM(L-1)<=0THENBP=L
  57. 92 NEXT:IFBPTHENBP=BP-1:GOSUB3110:REM BROKE
  58. 94 RETURN
  59. 100 REM ******************************          *  JOYSTICK MONOPOLY V 1.3   *
  60. 101 REM * BY ROBIN EVANS (12/02/87)  *          *     1020 SENECA #212       *
  61. 102 REM *       SEATTLE 98101        *          ******************************
  62. 110 IFX=0THENX=1:LOAD"MON/SCR",8,1
  63. 112 POKE53280,6:POKE53281,6:PRINTCHR$(147):POKE49270,1:SYS49186
  64. 114 GOSUB8000:IFSG=0THEN180
  65. 120 REM ** ** SHORTGAME
  66. 125 X=0:P=2-PT:FORC=0TO26
  67. 130 T%(C)=RND(1)*40+1:IFD%(T%(C),3)<8THEN130
  68. 135 IFS%(T%(C))THEN130
  69. 140 GOSUB160:X=X+PL:NEXT:T%(27)=589-X:GOSUB160
  70. 145 FORC=1TO8:X=1:FORJ=1TO2+(C=1ORC=8):IFS%(OP%(C,J))<>S%(OP%(C,0))THENX=0
  71. 150 NEXT:IFXTHENOA%(C)=1:X=S%(OP%(C,0))-1:A%(X,2)=A%(X,2)+1
  72. 155 NEXT:SYSTN:GOTO180
  73. 160 P=3-P:S%(T%(C))=P:POKED%(T%(C),2),TK(P+1):A%(P-1,0)=A%(P-1,0)+1
  74. 165 PL=T%(C):GOSUB52:M(P+1)=M(P+1)+SP:PX=24:PY=0:GOSUB20
  75. 170 PRINT"[158]"P$(0)" $"M(0)+M(2);P$(1)" $"M(1)+M(3)"[145][145]":RETURN
  76. 175 REM ** ** SHUFLCH/CC
  77. 180 X=0:FORC=0TO14:T%(C)=0:NEXT:FORC=0TO14
  78. 185 C%(C)=RND(1)*16:IFT%(C%(C))THEN185
  79. 190 T%(C%(C))=1:X=X+C%(C):NEXT:C%(15)=120-X
  80. 195 CH=INT(RND(1)*16):CC=INT(RND(1)*16)
  81. 198 REM+
  82. 199 REM ** ** ROLLCHEK
  83. 200 PX=15:PY=2+INT((21-LEN(P$(PT)))/2):GOSUB20:PRINT"[159]"CHR$(TK(PT))" "P$(PT);
  84. 210 PRINT" "CHR$(TK(PT)):IFPL(PT)=41THENGOSUB2570:GOTO340:REM JAILCHEK/ONAC
  85. 220 TM=0:UD=0:RD=0:MB=0:ME=1:GOSUB38:IFMTHENGOSUB3180:GOTO220:REM MENU/TRANSAC
  86. 230 REM+
  87. 240 REM ** ** MOVIT
  88. 250 GOSUB420:REM ROLL
  89. 260 IFDB=3THENGOSUB1720:GOSUB86:GOTO340: REM GOJAIL/SHOTOTAL/ONAC
  90. 270 FORMV=1TODR:PL(PT)=PL(PT)+1:POKEO(PT),160
  91. 280 IFPL(PT)>40THENPL(PT)=PL(PT)-40:GM=1:REM GOPASS
  92. 290 POKED%(PL(PT),PT),TK(PT):O(PT)=D%(PL(PT),PT):IFGMTHENGM=0:GOSUB480
  93. 300 FORI=1TO6:POKEG(I),PL(PT)+I:NEXT:FORI=1TO16:NEXT
  94. 310 NEXT:FORI=1TO6:POKEG(I),0:NEXT:SYSER,1:REM CLR MSG
  95. 320 AC=0:GOSUB86:GOSUB530:GOSUB86:REM SHOTOTAL/CHEKPOS/SHOTOTAL
  96. 330 REM ** ** ONAC
  97. 340 IFACTHENPOKEO(PT),160:POKED%(PL(PT),PT),TK(PT):O(PT)=D%(PL(PT),PT):GOSUB86
  98. 350 ONACGOTO270,320,390,380:REM MOVIT/GOCHEKPOS/GOCLRMEN/NEXTUP
  99. 360 IFDB=3ORAC=5THENGOSUB1720:AC=4:GOTO340:REM GOJAIL/MV TOKEN
  100. 370 IFDBTHENSYSER,0:PX=11:PY=17:GOSUB20:PRINT"[159]DOUBLES!":PRINTTAB(PY)"ROLL AGAIN.":GOTO200
  101. 380 PT=PO:PO=1-PT
  102. 390 SYSER,0:GOTO200
  103. 400 REM+
  104. 410 REM ** ** ROLL
  105. 420 FORC=0TO4:R1%=RND(1)*6+1:R2%=RND(1)*6+1:DR=R1%+R2%
  106. 430 FORI=1TO6:POKEG(I),DR*(3+PT):NEXT:PX=11:PY=7:GOSUB20:PRINTDC$(R1%)
  107. 440 PY=12:GOSUB20:PRINTDC$(R2%)
  108. 450 FORI=1TO6:POKEG(I),0:NEXT:NEXTC:DB=DB+1:IFR1%<>R2%THENDB=0
  109. 460 RETURN
  110. 470 REM ** GOPASS
  111. 480 FORI=1TO6:POKEG(I),0:NEXT:REM TURN OFF SOUND
  112. 490 PX=11:PY=17:GOSUB20:PRINT"IT'S PAYDAY.":PRINTTAB(PY)"COLLECT $200[159]"
  113. 500 M(PT)=M(PT)+200:GOSUB68:SYSER,1:GOTO86:REM RETURN FROM THERE
  114. 510 REM
  115. 520 REM ** ** CHEKPOS
  116. 530 PL=PL(PT):B1=D%(PL,3):CF=0:PA=0:OW=0:IFPFANDPL=PL(PO)THENGOSUB590:REM 2XPK
  117. 540 ONB1GOSUB1880,1900,2940,1720,2860,2860,2570
  118. 550 IFB1>7THENGOSUB52:GOSUB630
  119. 560 IFCFTHEN68:REM _CHEKFIR
  120. 570 RETURN : REM ^ ONAC
  121. 580 REM ** DOUBLE PARK
  122. 590 PX=11:PY=17:GOSUB20:PRINT"PAY $5 FOR":PRINTTAB(PY)"DBL. PARK"
  123. 600 M(PT)=M(PT)-5:FP=FP+5:GOSUB68:GOSUB86:SYSER,0:RETURN:REM:/CKFR/CLRMN^CKPS
  124. 610 REM
  125. 620 REM ** ** GIVMSG
  126. 630 PX=24:PY=0:EL=1:GOSUB20:PRINT"[146]"N$(PL)"[158] IS ";
  127. 640 IFS%(PL)=PO+1THEN690
  128. 650 IFS%(PL)=0THENPA=2:PRINT"FOR SALE: $"SP;"[145][145]":MB=2:GOTO750
  129. 660 PRINT"YOURS, "P$(PT);"[145][145]":RETURN:REM^ CHEKPOS
  130. 680 REM ** RNTMSG
  131. 690 PRINT"OWNED BY "P$(S%(PL)-1);"[145][145]":ONB3GOSUB870,930,990:REM_FGR RENT
  132. 700 PX=11:PY=17:GOSUB20
  133. 710 IFMG%(PL)THENOW=0:CF=1:PRINT"[159]MORTGAGED":PRINTTAB(PY)"FOR $"MV:RETURN
  134. 720 PRINT"[150]RENT IS DUE":PRINTTAB(PY)"YOU OWE $"MID$(STR$(OW),2):MB=3
  135. 730 REM+
  136. 740 REM ** ** PROPCHEK
  137. 750 SYSTN:ME=MB+2:GOSUB38:REM MENUPOS.SYSTN IN CASE DEED IS CALLED
  138. 760 ONM-1GOSUB1210,1030,3180,1250:REM _BUYCALC/GIVDEED/TRANSAC/PAYCALC
  139. 770 IFM=4THEN750:REM AGAIN AFTR TRANSAC
  140. 780 IFPA=0THENRETURN:REM RENT PAID
  141. 790 IFAFANDPA=3THENGOSUB6370:SYSTT:REM AUCTION
  142. 800 IFS%(PL)=0THENRETURN:REM ^CHEKPOS IF NO OWN
  143. 810 POKED%(PL,2),TK(S%(PL)+1):PX=24:PY=0:EL=1:GOSUB20:REM MARK OWNER
  144. 820 PRINT"[158]"P$(S%(PL)-1)" NOW OWNS "N$(PL)"[145][145]"
  145. 830 IFB4THENGOSUB56:IFOA%(B4)THENPB=S%(PL)-1:A%(PB,2)=A%(PB,2)+1:REM NEW MONOP
  146. 840 RETURN:REM ^CHEKPOS
  147. 850 REM
  148. 860 REM ** UTILRENT
  149. 870 MV=75:RA=4:IFUDTHENX=DB:GOSUB900:RA=10:DB=X:GOTO890
  150. 880 IFS%(13)=PO+1ANDS%(29)=PO+1THENRA=10:REM RENT IF BOTH OWNED
  151. 890 OW=DR*RA:RETURN
  152. 900 PX=11:PY=17:GOSUB20:PRINT"[150]FIGURING":PRINTTAB(PY)"PAYMENT[159]":GOSUB420:RETURN
  153. 910 REM
  154. 920 REM ** RRRENT
  155. 930 MV=100:X=12.5:FORC=6TO36STEP10:IFS%(C)=PO+1THENX=X*2
  156. 940 NEXT:IFX<25THENOW=0:RETURN
  157. 950 OW=X:IFRDTHENOW=OW*2
  158. 960 RETURN
  159. 970 REM+
  160. 980 REM ** PROPRENT
  161. 990 OW=V%(B4,B2,H%(PL))*(1-(OA%(B4)>0ANDH%(PL)=0))
  162. 1000 MV=SP/2:RETURN
  163. 1010 REM+
  164. 1020 REM ** ** GIVDEED
  165. 1030 T=0:Y=1:REM VALUE FOR CALL NOT FROM TRANSAC
  166. 1040 PRINTCHR$(147)LEFT$(N$(PL),1):REM SYSTN BY PRPCHK/TRANSAC
  167. 1050 PX=0:PY=0:GOSUB20:PRINT" "SP$
  168. 1060 PX=0:PY=INT((40-LEN(N$(PL)))/2):GOSUB20:PRINT""N$(PL)""
  169. 1070 ONB3GOSUB1440,1360,1280:REM _UDEED/RDEED/PDEED
  170. 1080 IFTMTHENPX=22:PY=8:GOSUB70:RETURN:REM ^TRANSAC
  171. 1090 PRINT"  [158]YOU HAVE $"M(PT)"[157], "P$(PT)
  172. 1100 IFPA=2THEN1140
  173. 1110 PRINT"  YOU OWE "P$(PO)" $"OW:PX=24:PY=11:GOSUB70:PRINT"[147]":SYSTT:GOTO1250
  174. 1120 REM+
  175. 1130 REM ** BUYCHEK
  176. 1140 PX=22:PY=1:GOSUB20:PRINT"  DO YOU WANT TO BUY":PRINT"  "N$(PL)"?[145][145]";
  177. 1150 MB=6:ME=7:C1$="[129]":C2$="[158]":PX=22:PY=23:GOSUB39
  178. 1160 IFM=6THENSYSTT:GOTO1210:REM_BUYCALC
  179. 1170 IFAFTHENPA=3:RETURN:REM AUCTION
  180. 1180 PRINT"[147]":SYSTT:RETURN:REM ^PROPCHEK
  181. 1190 REM+
  182. 1200 REM ** BUYCALC
  183. 1210 IFM(PT)-SP<0THENP=PT:GOSUB5800:PA=3:RETURN:REM ^PROPCHEK FOR AUCTION
  184. 1220 S%(PL)=PT+1:A%(PT,0)=A%(PT,0)+1:PA=2:M(PT)=M(PT)-SP:M(PT+2)=M(PT+2)+SP
  185. 1230 RETURN:REM^PROPCHEK
  186. 1240 REM ** PAYCALC
  187. 1250 M(PT)=M(PT)-OW:M(PO)=M(PO)+OW:RETURN:REM ^ PROPCHEK
  188. 1260 REM+
  189. 1270 REM ** PDEED
  190. 1280 FORC=0TO5:PRINTTAB(9)""MH$(C);V%(B4,B2,C):NEXT
  191. 1290 H=(B4-(INT(B4/2)))*50
  192. 1300 PRINTTAB(12)"[155]HOUSES COST $"H"EACH"
  193. 1310 PRINTTAB(7)"HOTELS COST $"H"+ 4 HOUSES"
  194. 1320 IFOA%(B4)ANDH%(PL)=0THENPRINT"  MONOPOLY GROUP: DOUBLE RENT PAYMENT"
  195. 1330 FORC=0TONP:T=T+1:T%(T)=OP%(B4,C):NEXT:Z=1:GOTO1550:REM _SHOPROP
  196. 1340 REM+
  197. 1350 REM ** RDEED
  198. 1360 PRINTSPC(19)"[150][216][152] [172][146]"
  199. 1370 PRINTSPC(19)"   [146]"
  200. 1380 PRINTSPC(18)"[206][149][215] [215]":PRINT
  201. 1390 PRINTTAB(15)"RENT        $[155]25"
  202. 1400 X=25:FORC=2TO4:X=X*2:PRINTTAB(5)"IF"C"R.R.'S ARE OWNED "X:NEXT
  203. 1410 FORC=6TO36STEP10:T=T+1:T%(T)=C:NEXT:Z=6:GOTO1550:REM _SHOPROP
  204. 1420 REM+
  205. 1430 REM ** UDEED
  206. 1440 PRINTSPC(5)"[158][206][163][205]     [155][215][209][215]"
  207. 1450 PRINTSPC(5)"[158][205][150]^[158][206]    [152][171][192][177][192][192][192][201]"TAB(26)"[153]YOU"
  208. 1460 PRINTSPC(6)"[158][165][165]    [152][171][192][192][192][192][201][194]"TAB(26)"[153]ROLLED"
  209. 1470 PRINTSPC(6)"[129][166]"SPC(10)"[152][173][189]"TAB(25)"[153]"DR:PRINT
  210. 1480 PRINT"  RENTAL PAYMENTS:"
  211. 1490 PRINT:PRINT"  [155]IF OTHER PLAYER OWNS 1 UTILITY, PAY"
  212. 1500 PRINTTAB(6)"4 TIMES THE AMOUNT OF DICE ROLL."
  213. 1510 PRINT"  IF S/HE OWNS BOTH, PAY 10 * AMOUNT."
  214. 1520 FORC=13TO29STEP16:T=T+1:T%(T)=C:NEXT:Z=6
  215. 1530 REM+
  216. 1540 REM ** SHOPROP
  217. 1550 PRINTTAB(2)"[153]"LT$:PRINTTAB(9)"[158]MORTGAGE VALUE: $"SP/2
  218. 1560 PRINTTAB(14)"SALE COST: $"SP:PRINTTAB(2)"[153]"LT$
  219. 1570 PRINTTAB(Z+3)"[155]PROPERTY"TAB(Z+20)"OWNER";
  220. 1580 IFB4THENPRINTTAB(Z+32)"DEV.";
  221. 1590 X=0:PRINT:FORC=YTOT:IFPL=T%(C)THENPRINT"";
  222. 1600 PRINTTAB(Z)"[154] "RIGHT$(N$(T%(C)),LEN(N$(T%(C)))-1)" [146]";
  223. 1610 IFS%(T%(C))THENPRINTTAB(Z+18)P$(S%(T%(C))-1);:GOTO1630
  224. 1620 PRINTTAB(Z+18)"FOR SALE";:GOTO1670
  225. 1630 IFB3<3THEN1670
  226. 1640 H=H%(T%(C)):PRINTTAB(Z+31);:IFH=0THENPRINT"NONE";:GOTO1670
  227. 1650 IFH<5THENPRINT"[157]"H"HS.";
  228. 1660 IFH=5THENPRINT"1 HTL.";
  229. 1670 PRINT:IFMG%(T%(C))THENPRINTTAB(Z)"[145]*":X=1
  230. 1680 NEXT:IFXTHENPRINTTAB(6)"[155]* = MORTGAGED PROPERTY"
  231. 1690 RETURN:REM ^GIVDEED/TRANSAC
  232. 1700 REM+
  233. 1710 REM ** ** GOJAIL
  234. 1720 SYSTN:FORC=1TO3:FORT=60TO110STEP1.7:FORI=1TO6:POKES+24,6+C*3:POKEG(I),T
  235. 1730 NEXT:NEXT
  236. 1740 ONCGOSUB1780,1820,1850
  237. 1750 FORT=110TO60STEP-1.7:FORI=1TO6:POKEG(I),T:NEXT:NEXT:NEXT
  238. 1760 FORI=1TO6:POKEG(I),0:NEXT
  239. 1770 PRINT"";:PX=20:PY=8:GOSUB70:SYSTT:RETURN:REM ^ONAC OR CALL
  240. 1780 PX=3:PY=4:BD=18:BW=27:C1$="[144]":GOSUB30
  241. 1790 PRINTSPC(3)"[146][150]YOU'RE UNDER ARREST,":PRINTTAB(4+((26-LEN(P$(PT)))/2))P$(PT)""
  242. 1800 IFDB=3THENPRINTTAB(8)"FOR ROLLING DOUBLES":PRINTTAB(7)"THREE TIMES IN A ROW"
  243. 1810 RETURN:REM^SIREN
  244. 1820 PRINTTAB(12)"[158]GO TO JAIL"
  245. 1830 PRINTTAB(13);"[155][176][178][178][178][178][178][178][174]":FORJ=1TO5:PRINTTAB(13);"[221][221][221][221][221][221][221][221]":NEXT
  246. 1840 PRINTTAB(13);"[173][177][177][177][177][177][177][189]":PRINT:PL(PT)=41:AC=4:DB=0:RETURN:REM^SIREN
  247. 1850 FORDL=0TO10:NEXT:RETURN
  248. 1860 REM+
  249. 1870 REM ** ** CC/HANCE
  250. 1880 C1$="[158]":CC=CC+1:CC=CCAND15:IFC%(CC)=0ANDCJ(1)THENCC=CC+1:CC=CCAND15
  251. 1890 CX=C%(CC)+1:GOTO1940
  252. 1900 C1$="[150]":CH=CH+1:CH=CHAND15:IFC%(CH)=7ANDCJ(2)THENCH=CH+1:CH=CHAND15
  253. 1910 CX=C%(CH)+1
  254. 1920 REM+
  255. 1930 REM ** GIVBOX
  256. 1940 GM=0:PX=24:PY=0:EL=1:GOSUB20:PX=17:GOSUB20:FORC=0TO1:PRINTTAB(5)S1$:NEXT
  257. 1950 SYSTN:PX=10:PY=2:BD=5:BW=31:GOSUB30
  258. 1960 IFB1=1THENPRINTTAB(9)"[146][145] COMMUNITY CHEST "
  259. 1970 IFB1=2THENPRINTTAB(13)"[146][145] CHANCE "
  260. 1980 Y=B1-1:Z=CX-1:X=LEN(CM$(Y,Z)):IFX>29THENX=X-29:PRINTTAB(3)""LEFT$(CM$(Y,Z),29)
  261. 1990 PRINTTAB(3+((29-X)/2))""RIGHT$(CM$(Y,Z),X)
  262. 2000 ONB1GOSUB2050,2210
  263. 2010 IFGMTHENGM=0:PRINTTAB(6)" PASS GO. COLLECT $200 ":M(PT)=M(PT)+200
  264. 2020 PRINT"[159]":GOSUB68:SYSTT:RETURN:REM _CHEKFIR ^CHEKPOS
  265. 2030 REM+
  266. 2040 REM ** ** CHEST
  267. 2050 ONCXGOSUB2080,2250,2260,2090,2100,2110,2120,2130,2440,2140,2150,2150,2160
  268. 2060 IFCX>13THENCX=CX-13:ONCXGOSUB2170,2180,2150
  269. 2070 RETURN
  270. 2080 CJ(1)=PT+1:RETURN:REM CC1
  271. 2090 M(PT)=M(PT)+45:RETURN:REM CC4
  272. 2100 M(PO)=M(PO)-50:M(PT)=M(PT)+50:RETURN:REM CC5
  273. 2110 M(PT)=M(PT)+25:RETURN:REM CC6
  274. 2120 M(PT)=M(PT)-150:RETURN:REM CC7
  275. 2130 M(PT)=M(PT)+20:RETURN:REM CC8
  276. 2140 M(PT)=M(PT)+10:RETURN:REM CC10
  277. 2150 M(PT)=M(PT)+100:RETURN:REM CC11/CC12/CC16
  278. 2160 M(PT)=M(PT)-100:RETURN:REM CC13
  279. 2170 M(PT)=M(PT)+200:RETURN:REM CC14
  280. 2180 M(PT)=M(PT)-50:RETURN:REM CC15
  281. 2190 REM+
  282. 2200 REM ** ** CHANCE
  283. 2210 ONCXGOSUB2240,2250,2260,2270,2280,2330,2350,2360,2370,2380,2400,2420,2430
  284. 2220 IFCX>13THENCX=CX-13:ONCXGOSUB2440,2280,2510
  285. 2230 RETURN: REM TO CC/HANCE
  286. 2240 M(PT)=M(PT)-15:RETURN:REM CH1
  287. 2250 AC=5:RETURN:REM JAIL,CH2/CC2
  288. 2260 PL(PT)=1:AC=2:M(PT)=M(PT)+200:RETURN:REM CH3/CC3
  289. 2270 M(PT)=M(PT)+150:RETURN:REM CH4
  290. 2280 IFPL(PT)=>36THENGM=1:PL(PT)=6:GOTO2320:REM CH5/CH15
  291. 2290 IFPL(PT)<6THENPL(PT)=6:GOTO2320
  292. 2300 FORI=6TO26STEP10:IFPL(PT)=>ITHENX=I+10
  293. 2310 NEXT:PL(PT)=X
  294. 2320 RD=1:AC=2:RETURN
  295. 2330 IFPL(PT)>25THENGM=1:REM CH6
  296. 2340 PL(PT)=25:AC=2:RETURN
  297. 2350 M(PT)=M(PT)+50:RETURN:REM CH7
  298. 2360 CJ(2)=PT+1:RETURN:REM CH8
  299. 2370 M(PT)=M(PT)-50:M(PO)=M(PO)+50:RETURN:REM CH9/CC5
  300. 2380 IFPL(PT)>12THENGM=1:REM CH10
  301. 2390 PL(PT)=12:AC=2:RETURN
  302. 2400 IFPL(PT)>6THENGM=1:REM CH11
  303. 2410 PL(PT)=6:AC=2:RETURN
  304. 2420 PL(PT)=PL(PT)-3:AC=2:RETURN:REM CH12/CC15
  305. 2430 PL(PT)=40:AC=2:RETURN:REM CH13
  306. 2440 OW=0:X1=25:X2=100:IFCX=9THENX1=40:X2=115:REM CH14/CC9
  307. 2450 FORI=1TO8:IFOA%(I)<>2THEN2500
  308. 2460 IFS%(OP%(I,0))<>PT+1THEN2500:REM WRONG OWNER
  309. 2470 FORJ=0TO2+(I=1ORI=8):K=OP%(I,J):IFH%(K)<5THENOW=OW+(X1*H%(K)):GOTO2490
  310. 2480 OW=OW+X2:REM HOTEL CHARGE
  311. 2490 NEXT
  312. 2500 NEXT:PRINTTAB(11)"YOU OWE $"OW:M(PT)=M(PT)-OW:RETURN
  313. 2510 IFPL(PT)>29THENGM=1:PL(PT)=13:GOTO2540:REM CH16
  314. 2520 IFPL(PT)<13THENPL(PT)=13:GOTO2540
  315. 2530 PL(PT)=29
  316. 2540 UD=1:AC=2:RETURN
  317. 2550 REM+
  318. 2560 REM ** ** JAILCHEK
  319. 2570 MB=19:JX=0:JT(PT)=JT(PT)+1:PX=11:PY=17:GOSUB20.
  320. 2580 PRINT"[159]"JT(PT)"[157] TURNS":IFJT(PT)=1THENPY=24:GOSUB20:PRINT" "
  321. 2590 PRINTTAB(18)"IN JAIL"
  322. 2600 IFCJ(1)=PT+1ORCJ(2)=PT+1THENJX=1:SYSTN:REM SV SCR FOR BOX
  323. 2610 IFJXTHENGOSUB2790:GOTO2630:REM BOX FOR CARD CHOICE
  324. 2620 ME=21:GOSUB38
  325. 2630 ONM-18GOSUB2680,2660,2820,2750
  326. 2640 GOTO86
  327. 2650 REM ** RESPONSE SUBS
  328. 2660 M(PT)=M(PT)-50:AC=3:PL(PT)=11:JT(PT)=0:IFJXTHENSYSTT
  329. 2670 RETURN
  330. 2680 DB=0:GOSUB420:REM ROLL
  331. 2690 IFJXTHENSYSTT:PX=11:PY=7:GOSUB20:PRINTDC$(R1%):PY=12:GOSUB20:PRINTDC$(R2%)
  332. 2700 PX=24:PY=0:EL=1:GOSUB20:IFDBTHEN2740
  333. 2710 PRINT"NO DOUBLES.";:IFJT(PT)<3THENPRINT" YOU'RE STILL IN JAIL.[145][145]";:RETURN
  334. 2720 PRINT"[157] AFTER 3 TRIES. PAY $50.[145][145]"
  335. 2730 M(PT)=M(PT)-50:PL(PT)=11:AC=1:JT(PT)=0:RETURN
  336. 2740 PRINT"DOUBLES! YOU'RE FREE.[145][145]":PL(PT)=11:AC=1:DB=0:JT(PT)=0:RETURN
  337. 2750 PL(PT)=11:AC=3:JT(PT)=0:IFCJ(2-PO)=PT+1THENCJ(2-PO)=0:GOTO2770
  338. 2760 CJ(2-PT)=0
  339. 2770 SYSTT:PX=24:PY=0:EL=1:GOSUB20:PRINT"STAY OUTTA TROUBLE, HUH?[145][145]":RETURN
  340. 2780 REM ** BOX CARD CHOICE
  341. 2790 PX=15:PY=6:BD=8:BW=21:C1$="[152]":GOSUB30:PRINT""P$(PT)
  342. 2800 ME=22:PX=18:PY=7:GOSUB39:RETURN
  343. 2810 REM ** JLTRANSAC
  344. 2820 ONJX+1GOSUB3180,3190:REM W OR W/O SYSTN
  345. 2830 GOTO2610:REM AGAIN
  346. 2840 REM+
  347. 2850 REM ** ** TAXES
  348. 2860 PX=11:PY=17:GOSUB20:OW=200:IFPL=39THENOW=75:GOTO2900
  349. 2870 PRINT"[150] INCOME TAX ":PRINTTAB(PY)"[159]   IS DUE   [159]"
  350. 2880 MB=23:ME=24:GOSUB38:IFM=24THENM(PT)=M(PT)-200:GOTO86:REM ^CHEKFIR
  351. 2890 OW=INT((M(PT+2)+M(PT))/10):PX=12:PY=17:GOSUB20:PRINT"PAY $"OW:GOTO2910
  352. 2900 PRINT"[150]YOU OWE $75":PRINTTAB(PY)"LUXURY TAX [159]":FP=FP+75
  353. 2910 M(PT)=M(PT)-OW:GOTO68:REM RETURN FROM THERE
  354. 2920 REM+
  355. 2930 REM ** ** FREEPARK
  356. 2940 IFPF=0THENRETURN:NO PARK JACKPOT
  357. 2950 SYSTN:PX=3:PY=4:BD=18:BW=27:C1$="[144]":GOSUB30
  358. 2960 PRINTSPC(11)"[146][129]FREE"
  359. 2970 PRINTSPC(14)"[213][195][195][195][195][195][201]"
  360. 2980 PRINTSPC(14)"[155][200] [176][192][174] [199]"
  361. 2990 PRINTSPC(14)"[200] [173][192][189] [199]"
  362. 3000 PRINTSPC(14)"[194] [149][213][195][201] [194]"
  363. 3010 PRINTSPC(12)"[213][192][189] [149][194][152][209][149][200] [173][192][201]"
  364. 3020 PRINTSPC(12)"[221]   [149][202][198][203]   [221]"
  365. 3030 PRINTSPC(12)"[173][192][152][168][192][192][192][192][192][152][168][192][189]"
  366. 3040 PRINTSPC(14)"[152][166]     [166]"
  367. 3050 PRINT:PRINTSPC(14)"[129]PARKING":PRINT
  368. 3060 PRINT:PRINTSPC(6)"YOU GET THE FREE PARKING"
  369. 3070 PRINTSPC(9)"JACKPOT OF $"FP"!":M(PT)=M(PT)+FP:FP=0
  370. 3080 PX=20:PY=8:GOSUB70:SYSTT:GOTO86
  371. 3090 REM+
  372. 3100 REM **  ** BROKE
  373. 3110 SYSTN:PX=3:PY=4:BD=18:BW=27:C1$="":GOSUB30
  374. 3120 PRINT"YOU'RE BROKE, "P$(BP)
  375. 3130 W$="IT'S TIME FOR BANKRUPTCY COURT IF YOU CAN'T RAISE":NL=1:GOSUB66
  376. 3140 PRINTTAB(PY)"$";-M(BP)+1;"[157] BEFORE RETURNING TO":PRINTTAB(PY)"THE GAME."
  377. 3150 BP=BP+1:GOTO3190:REM  TRANSAC/WO TN
  378. 3160 REM+
  379. 3170 REM ** ** TRANSAC
  380. 3180 SYSTN
  381. 3190 HT=PT:PB=PT:H3=M:H4=MB:H5=ME:H6=OW:H7=SP:SL=0:IFBPTHENBP=BP-1:PB=BP
  382. 3200 PX=24:EL=1:GOSUB20:PX=8:PY=18:BW=21:BD=15:C1$="":C2$="[153]":GOSUB30
  383. 3210 PRINT" HOW MAY WE HELP,":PRINTTAB(PY)" "P$(PB)"?"
  384. 3220 PX=12:PY=19:MB=8:ME=17:GOSUB39:TM=M-8
  385. 3230 TA=2:ONTMGOSUB3400,3550,3690,4490,4490,5350,5450,3650,6900
  386. 3240 IFTM=0THEN3260
  387. 3250 ONTAGOTO3360,3200,3330
  388. 3260 BP=0:FORC=0TO1:IFM(C)<0THENBP=C+1
  389. 3270 NEXT:IFBPTHENBP=BP-1:GOSUB6820:GOTO3360:REM _ ENDCHEK/^TRANSAC AGAIN
  390. 3280 PT=HT:PL=PL(PT):M=H3:MB=H4:ME=H5:OW=H6:SP=H7:BP=0
  391. 3290 B1=D%(PL,3):IFB1>7THENGOSUB52:REM  RESTORE GAME VALUES
  392. 3300 SYSTT:GOSUB86:IFSL=0THENRETURN:REM ^GAMESEC
  393. 3310 FORC=1TO40:IFS%(C)THENPOKED%(C,2),TK(S%(C)+1)
  394. 3320 NEXT:RETURN:REM ^GAMESEC
  395. 3330 PX=3:PY=16:BD=6:BW=20:C1$="[149]":GOSUB30:PRINT"SORRY, "P$(PB)
  396. 3340 W$="THAT TRANSACTION  CAN'T BE MADE AT  THIS TIME.":NL=3:GOSUB66:DL=TI+45
  397. 3350 IFTI<DLTHEN3350
  398. 3360 C1$="":C2$="[153]":PX=8:PY=18:GOSUB20:PRINTC1$+LB$
  399. 3370 FORC=0TO12:PRINTTAB(PY)"[180]":NEXT:GOTO3220
  400. 3380 REM+
  401. 3390 REM ** ** INVEN
  402. 3400 FORC=0TO1:PX=12-C*12:PY=0:C1$=CHR$(153+C):BD=12:BW=18:GOSUB30
  403. 3410 PRINT"ASSETS OF":PRINTTAB(PY)""P$(C):PRINT
  404. 3420 PRINTTAB(PY)"NET WORTH:$"M(C+2)+M(C):PRINTTAB(PY+4)"FUNDS:$"M(C)
  405. 3430 PRINTTAB(PY)"PLACES OWNED:"A%(C,0):PRINTTAB(PY+1)"# MORTGAGED:"A%(C,1)
  406. 3440 PRINTTAB(PY)"# MONOPOLIES:"A%(C,2)
  407. 3450 X=0:FORJ=1TO2:IFCJ(J)=C+1THENX=X+1
  408. 3460 NEXT:PRINTTAB(PY)"'OUT OF JAIL'":PRINTTAB(PY+7)"CARDS:"X
  409. 3470 NEXT:IFPFTHENGOSUB3500:REM_JCKMSG
  410. 3480 TA=1:RETURN
  411. 3490 REM ** JCKMSG
  412. 3500 PX=3:PY=18:C1$="[155]":BW=21:BD=5:GOSUB30
  413. 3510 PRINTSPC(8)"FREE":PRINTTAB(PY)"  PARKING JACKPOT":PRINTTAB(PY+6)"$"FP
  414. 3520 RETURN
  415. 3530 REM+
  416. 3540 REM ** ** LIST
  417. 3550 T=0
  418. 3560 FORJ=1TO8:FORK=0TO2+(J=1ORJ=8):T=T+1:T%(T)=OP%(J,K):NEXT:NEXT
  419. 3570 FORJ=6TO36STEP10:T=T+1:T%(T)=J:NEXT:REM ADD RR
  420. 3580 T=T+2:T%(T-1)=13:T%(T)=29:REM ADD UTIL
  421. 3590 GOSUB5900:IFT%(M)=0THENRETURN:REM _SHOLIST: ^TRANSAC
  422. 3600 POKESN,1-(B>0):SYSTN:PL=T%(M):GOSUB52:Y=T+1:GOSUB1040:T=Y-1
  423. 3610 POKESN,1-(B>0):SYSTT:GOSUB6220:IFT%(M)=0ANDB=0THENRETURN:REM ^TRANSAC
  424. 3620 GOTO3600
  425. 3630 REM+
  426. 3640 REM ** ** SELLHOUS
  427. 3650 T=0:FORJ=1TO8:IFOA%(J)=2THENFORK=0TO2+(J=1ORJ=8):T=T+1:T%(T)=OP%(J,K):NEXT
  428. 3660 NEXT:GOTO3730:REM SELL ROUTINE INTERMINGLED WITH BUILD
  429. 3670 REM+
  430. 3680 REM ** ** BUILD
  431. 3690 H=0:T=0:FORJ=1TO8:IFOA%(J)=0OROA%(J)=3THEN3720:REM NO MONOP OR MTG
  432. 3700 FORK=0TO2+(J=1ORJ=8):IFH%(OP%(J,K))<5THENT=T+1:T%(T)=OP%(J,K)
  433. 3710 NEXTK
  434. 3720 NEXT
  435. 3730 IFT=0THENTA=3:RETURN:REM ^ TRANSAC:
  436. 3740 GOSUB5900:IFT%(M)=0THENRETURN
  437. 3750 EX=0:EY=24:GOSUB26:PRINTCHR$(147)
  438. 3760 PL=T%(M):GOSUB52:PX=13:PY=4:BD=6:BW=23:C1$=LEFT$(N$(PL),1):GOSUB30
  439. 3770 NH=0:N=NP+1:FORJ=0TONP:NH=NH+H%(OP%(B4,J)):NEXT
  440. 3780 C3$=C1$:PB=S%(PL)-1:PRINT" PROPERTY / # HOUSES":GOSUB4360
  441. 3790 PX=2:PY=26:BD=18:BW=13:C1$="[159]":GOSUB30
  442. 3800 HC=(B4-INT(B4/2))*50:PRINT"HOUSES COST":PRINTTAB(PY)"$"HC
  443. 3810 PRINTTAB(PY)"HOTELS COST":PRINTTAB(PY)"$"HC"PLUS":PRINTTAB(PY)"4 HOUSES"
  444. 3820 IFTM=3THENW$="HOUSES WILLBE DIVIDED AMONG THE  PROPERTIES OF THIS    GROUP."
  445. 3830 IFTM=8THENW$="BANK WILL  BUY BACK   HOUSES FOR ONE-HALF OFTHE PRICE  PAID."
  446. 3840 PRINT:NL=5:GOSUB66:PRINT:GOSUB4410:REM SHOMON
  447. 3850 PX=0:PY=0:GOSUB20:PRINT"[150]MARK # OF HOUSES TO BE ";:IFTM=3THENPRINT"BUILT.":GOTO3870
  448. 3860 PRINT"SOLD."
  449. 3870 PRINT"5 HOUSES = 1 HOTEL[155]":MV=0:PX=3:PY=0:GOSUB20:PY=1:J1$="[150] "
  450. 3880 REM ** ** CHOOSNUM
  451. 3890 HI=(5*N)-NH:IFTM=8THENHI=NH
  452. 3900 FORJ=0TOHI:PRINTTAB(PY)J:NEXT:FORPX=HI+3TO4STEP-1:GOSUB20:PRINTJ1$:NEXT
  453. 3910 GOSUB20:J2$=">":PRINTJ2$:M=0:MB=0:ME=HI:RJ=1:GOSUB44
  454. 3920 PX=3:PY=0:GOSUB20:PY=1:FORJ=0TOHI:PRINTTAB(PY)" ":NEXT:IFM=0THENRETURN
  455. 3930 J2$=">":PX=M+3:GOSUB20:PRINTJ2$:HB=M:IFTM=8THENGOSUB4260:GOTO4000
  456. 3940 REM ** BUYHSCALC
  457. 3950 IFM(PB)-HB*HC<=0THENP=PB:GOSUB5800:GOTO3850
  458. 3960 M(PB+2)=M(PB+2)+HB*HC:M(PB)=M(PB)-HB*HC:OA%(B4)=2:REM 2=DEVLPD
  459. 3970 REM ** FIGRDIV
  460. 3980 X=INT(NH/N):T=0:FORJ=0TONP:IFH%(OP%(B4,J))<=XTHENT=T+1:T%(T)=(OP%(B4,J))
  461. 3990 NEXT:REM FIND UNEVEN DIST.
  462. 4000 Z=1+(TM=8)*2:IFHB<TTHENGOSUB4130:GOTO4080:REM DIVHOUS/CONGRATS
  463. 4010 IFT=0THEN4040:REM EVENLY DIV. ALREADY
  464. 4020 FORC=1TOT:H%(T%(C))=H%(T%(T))+Z:NEXT:HB=HB-T:H=T:T=0
  465. 4030 IFHB=0THEN4080
  466. 4040 HP=INT(HB/N):IFHP=0THENGOSUB4130:GOTO4080:REM DIVHOUS/CONGRATS
  467. 4050 FORC=0TONP:H%(OP%(B4,C))=H%(OP%(B4,C))+Z*HP:NEXT:GOSUB4360
  468. 4060 H=H+HP*N:HB=HB-HP*N:IFHB>0THENGOSUB4130:REM CHOOSE UNEVEN DIST.
  469. 4070 REM ** CONGRATS
  470. 4080 H2=1:GOSUB4360:PX=5:PY=6:GOSUB20:PRINT"[158]CONGRATULATIONS,"
  471. 4090 PRINTTAB(PY)P$(S%(PL)-1)", YOUR":IFTM=8THEN4110
  472. 4100 PRINTTAB(PY)"DEVELOPMENT IS NOW":PRINTTAB(PY)"COMPLETE.[155]":PX=10:GOTO70
  473. 4110 PRINTTAB(PY)"SALE HAS CLOSED.[155]":PX=10:GOTO70
  474. 4120 REM ** DIVHOUS
  475. 4130 IFTM=8THENH=HD-HB
  476. 4140 PX=23:PY=1:EL=1:GOSUB20:PRINT"[155]CHOOSE LOT";:IFHB>1THENPRINT"S";
  477. 4150 IFTM=3THENPRINT" FOR DEVELOPMENT. ":GOSUB4360:GOTO4170
  478. 4160 PRINT" TO BE SOLD.":GOSUB4360:REM _SHOHOUS
  479. 4170 NH=NH+Z*H:X=HB
  480. 4180 FORL=1TOX:IFH>0THENGOSUB4300:REM _NUMBILT
  481. 4190 J1$="[160]":PX=15:PY=0:GOSUB20:PY=5:FORJ=0TONP:PRINTTAB(PY)J1$:NEXT
  482. 4200 GOSUB20:PRINTJ2$:M=0:MB=0:ME=NP:GOSUB44:X%=OP%(B4,M)
  483. 4210 IFTM=3ANDH%(X%)+1>INT(NH/N)+1THENGOSUB4440:GOTO4190:REM WRONG DIST
  484. 4220 IFTM=8ANDH%(X%)-1<INT((NH-1)/N)THENGOSUB4440:GOTO4190
  485. 4230 H%(X%)=H%(X%)+Z:NH=NH+Z:H=H+1
  486. 4240 GOSUB4360:NEXT:GOSUB4300:RETURN:REM ^ CONGRATS
  487. 4250 REM ** SELLSUB
  488. 4260 M(PB+2)=M(PB+2)-HB*HC:M(PB)=M(PB)+(HB*HC)/2:IFNH-HB=0THENOA%(B4)=1
  489. 4270 X=INT(NH/N):T=0:FORJ=0TONP:IFH%(OP%(B4,J))>XTHENT=T+1:T%(T)=OP%(B4,J)
  490. 4280 NEXT:HD=HB:RETURN
  491. 4290 REM ** NUMBILT
  492. 4300 PX=20:PY=0:EL=1:GOSUB20:PRINT"[155]"H"HOUSE";:IFH=1THENPRINT" HAS";:GOTO4320
  493. 4310 PRINT"S HAVE";
  494. 4320 PRINT" BEEN ";:IFTM=3THENPRINT"BUILT.":RETURN
  495. 4330 PRINT"SOLD.":RETURN
  496. 4340 REM+
  497. 4350 REM ** SHOHOUS
  498. 4360 PX=22:PY=0:EL=1:GOSUB20:PX=15:GOSUB20:PY=5
  499. 4370 FORC=0TONP:X%=OP%(B4,C):PRINTTAB(PY)""C3$" "N$(X%);
  500. 4380 PRINTTAB(23)H%(X%):NEXT:IFH2THEN4410
  501. 4390 RETURN
  502. 4400 REM ** SHOMON
  503. 4410 H2=0:PX=16:PY=27:GOSUB20:PRINT"[159]YOU HAVE":PRINTTAB(PY)"$"M(PB)"[157],  "
  504. 4420 PRINTTAB(PY)""P$(PB)"."
  505. 4430 RETURN
  506. 4440 HX=PX:HY=PY:PX=22:PY=1:EL=1:GOSUB20
  507. 4450 PRINT"[150]CODE VIOLATION: IMPROPER DISTRUBUTION![155]"
  508. 4460 PX=HX:PY=HY:GOSUB20:PRINTJ1$:PX=15:PY=5:RETURN
  509. 4470 REM+
  510. 4480 REM ** ** BUY/SELL
  511. 4490 T=0:FORJ=1TO8:IFOA%(J)=2THEN4520
  512. 4500 FORK=0TO2+(J=1ORJ=8):IFS%(OP%(J,K))>0THENT=T+1:T%(T)=OP%(J,K)
  513. 4510 NEXT
  514. 4520 NEXT:FORJ=6TO36STEP10:IFS%(J)>0THENT=T+1:T%(T)=J
  515. 4530 NEXT:FORJ=13TO29STEP16:IFS%(J)>0THENT=T+1:T%(T)=J
  516. 4540 NEXT:IFT=0THENTA=3:RETURN
  517. 4550 GOSUB5900:IFTM=5THEN4850:REM TRADE
  518. 4560 IFT%(M)=0THENRETURN
  519. 4570 PL=T%(M):PX=1:PY=15:BD=5:BW=18:C1$=LEFT$(N$(PL),1):GOSUB30:GOSUB52:GOSUB56
  520. 4580 PRINTN$(PL):PRINTTAB(PY)"APPRAISED VALUE:"
  521. 4590 PRINTTAB(PY)"$"SP
  522. 4600 PX=5:PY=17:BD=7:BW=21:C1$="[155]":GOSUB30:PS=S%(PL)-1:PB=1-PS
  523. 4610 PRINT""P$(PS)",":PRINTTAB(PY)"DO YOU WANT TO SELL"
  524. 4620 PRINTTAB(PY)""MID$(N$(PL),2)
  525. 4630 PRINTTAB(PY)"TO "P$(PB)"?";:GOSUB22:MB=6:ME=7:C2$="":GOSUB39
  526. 4640 IFM=7THENRETURN
  527. 4650 P=PS:GOSUB6620:REM SHONUM
  528. 4660 PX=11:PY=13:BD=7:BW=18:C1$="[159]":GOSUB30:PRINTP$(PB)
  529. 4670 PRINTTAB(PY)"WILL YOU BUY":PRINTTAB(PY)""MID$(N$(PL),2)
  530. 4680 PRINTTAB(PY)"FOR $"AM"[157]?";:GOSUB22:IFMG%(PL)THENGOSUB4780
  531. 4690 REM ** CHK PRCH;RCRD NEW INFO
  532. 4700 MB=6:ME=7:GOSUB39:IFM=7THENRETURN
  533. 4710 IFB4ANDOA%(B4)THENX%=S%(PL)-1:A%(X%,2)=A%(X%,2)-1:REM REMV MONOP REC
  534. 4720 S%(PL)=PB+1:M(PB)=M(PB)-AM:M(PS)=M(PS)+AM:M(PB+2)=M(PB+2)+SP
  535. 4730 M(PS+2)=M(PS+2)-SP:A%(PB,0)=A%(PB,0)+1:A%(PS,0)=A%(PS,0)-1
  536. 4740 IFB4THENGOSUB56:IFOA%(B4)THENX%=S%(PL)-1:A%(X%,2)=A%(X%,2)+1:REM ADDNEW OA
  537. 4750 IFMG%(PL)THENGOSUB4810:P=PB:GOSUB5230:REM SHO INT PAY;CHK MTG PAYOFF
  538. 4760 SL=1:RETURN:REM MARK NEW OWNERS
  539. 4770 REM ** MTG MSG
  540. 4780 HX=PX:HY=PY:PX=17:PY=9:BW=23:BD=5:C1$="[149]":GOSUB30
  541. 4790 PRINT"THIS LOT IS MORTGAGED":PRINTTAB(PY)"BUYER MUST PAY $"INT((SP/2+1)/10)
  542. 4800 PRINTTAB(PY)"INTEREST TO BANK.":PX=HX:PY=HY:C1$="[159]":RETURN
  543. 4810 M(PB)=M(PB)-INT((SP/2+1)/10):RETURN
  544. 4820 REM+
  545. 4830 REM ** ** TRADE
  546. 4840 REM LIST MADE BY BUY
  547. 4850 Z=0:Z%(0)=0:Z%(1)=0:IFT%(M)=0THEN4890
  548. 4860 P=T%(M):IFS%(P)<3THENZ=Z+1:X=S%(P)-1:Z%(X)=Z%(X)+1:S%(P)=S%(P)+2
  549. 4870 PRINT"[145]*":IFB>0THENM=M-22
  550. 4880 PY=1:IFZ<27THENGOSUB6260:IFT%(M)THEN4860
  551. 4890 IFZ%(0)<1ORZ%(1)<1THEN5160:REM ONLY ONE PLAYER'S PROP CHOSEN
  552. 4900 X=0:Y=Z%(0):FORC=2TO40:IFS%(C)=3THENX=X+1:T%(X)=C
  553. 4910 IFS%(C)=4THENY=Y+1:T%(Y)=C
  554. 4920 NEXT:T=Z+1:FORC=0TO5:T%(T+C)=0:NEXT:REM CLR FOR AMOUNTS
  555. 4930 FORC=0TO1:PX=(Z%(0)<16ANDZ%(1)<16)*-6:PY=C*19:BW=19
  556. 4940 BD=Z%(C)+7:C1$=CHR$(153+C):GOSUB30:PRINTSPC(2)"TRADES FROM"
  557. 4950 PRINTTAB(PY+2)""P$(C)":":X=PY+1
  558. 4960 FORJ=1+(C*Z%(0))TOZ%(C)+(C*Z%(0)):Z=T+C+2
  559. 4970 PRINTTAB(X)""RIGHT$(N$(T%(J)),LEN(N$(T%(J)))-1)
  560. 4980 PL=T%(J):GOSUB52:T%(T+C)=T%(T+C)+SP:IFMG%(PL)=0THEN5000
  561. 4990 PRINTTAB(X-1)"[145]*":MV=SP/2:T%(Z)=T%(Z)+INT((MV+1)/10):T%(Z+2)=T%(Z+2)+MV
  562. 5000 NEXT:PRINTTAB(X+1)"VALUE: $"T%(T+C)-T%(T+4+C)
  563. 5010 PRINTTAB(X)"*INTEREST DUE":PRINTTAB(X+1)"ON MTG:$"T%(Z):NEXT
  564. 5020 M=0:REM ** CHEKTRADE
  565. 5030 FORJ=0TO1:IFM=7THENNEXT:GOTO5150:REM PLR 0 SAID NO
  566. 5040 PX=0:PY=11:BW=16:BD=7:C1$="[159]":GOSUB30
  567. 5050 W$="DO YOU AGREE  TO THIS TRADE":NL=1:GOSUB66:PRINTTAB(PY)""P$(J)"? ";
  568. 5060 PX=4:PY=21:C2$="":MB=6:ME=7:GOSUB39:NEXT:IFM=7THEN5150:REM PLR 1 SD NO
  569. 5070 REM ** SWITCH RECORDS
  570. 5080 SL=1:FORC=1TOT-1:PL=T%(C):X=S%(PL):S%(PL)=X-3-((X=3)*2):X=S%(PL)-1
  571. 5090 GOSUB52:IFB4ANDOA%(B4)THENA%(1-X,2)=A%(1-X,2)-1:REM RMOV OLD OWN REC
  572. 5100 IFB4THENGOSUB56:IFOA%(B4)THENA%(X,2)=A%(X,2)+1
  573. 5110 NEXT:FORC=0TO1:M(C+2)=M(C+2)-T%(T+C)-T%(T+2+C):M(C+2)=M(C+2)+T%(T+1-C)
  574. 5120 A%(C,0)=A%(C,0)-Z%(C):A%(C,0)=A%(C,0)+Z%(1-C):REM SWITCH OWN REC
  575. 5130 NEXT:IFT%(T+2)>0ORT%(T+3)>0THEN5190
  576. 5140 RETURN
  577. 5150 FORC=1TOT-1:S%(T%(C))=S%(T%(C))-2:NEXT:RETURN:REM CLEAR IF NO TRADE CHOSEN
  578. 5160 FORC=1TO40:IFS%(C)>2THENS%(C)=S%(C)-2:REM CLEAR IF INVALID CHOICES MADE
  579. 5170 NEXT:RETURN
  580. 5180 REM ** CHEKMTG
  581. 5190 FORJ=1TOT-1:PL=T%(J):IFMG%(PL)=0THEN5310
  582. 5200 PX=14:PY=1:BD=3:BW=36:C1$="[158]":GOSUB30
  583. 5210 GOSUB52:PRINT"[158]"RIGHT$(N$(PL),LEN(N$(PL))-1)" MORTGAGED FOR $"SP/2
  584. 5220 P=S%(PL)-1
  585. 5230 PX=17:PY=9:BW=23:BD=5:C1$="[149]":GOSUB30:REM CALLED AS SUB BY BUY
  586. 5240 A%(1-P,1)=A%(1-P,1)-1:A%(P,1)=A%(P,1)+1:REM SWCH MTG REC
  587. 5250 PRINT"[149]"P$(P)", DO YOU"
  588. 5260 BW=17:W$="WANT TO PAY OFFTHE MORTGAGE?":NL=1:GOSUB66:REM _PRINTW$
  589. 5270 PX=19:PY=26:C1$="[149]":C2$="[150]":MB=6:ME=7:GOSUB39:IFM=7THEN5310
  590. 5280 IFM(P)-SP/2<=0THENGOSUB5800:GOTO5310
  591. 5290 M(P)=M(P)-SP/2:MG%(PL)=0:IFB4THENGOSUB56:REM CHANGE MTG REC ON OA%
  592. 5300 A%(P,1)=A%(P,1)-1:REM SUB MTG REC
  593. 5310 IFTM=4THENRETURN:REM ^BUY
  594. 5320 NEXTJ:RETURN:REM ^TRANSAC
  595. 5330 REM+
  596. 5340 REM ** ** MORTGAGE
  597. 5350 W$="WHO WILL   MORTGAGE   PROPERTY?":NL=2:GOSUB5850:REM GET PLAYER
  598. 5360 Z=0:T=0:FORJ=1TO8:IFOA%(J)=2THEN5400
  599. 5370 FORK=0TO2+(J=1ORJ=8):IFS%(OP%(J,K))<>PB+1ORMG%(OP%(J,K))THEN5390
  600. 5380 T=T+1:T%(T)=OP%(J,K)
  601. 5390 NEXT
  602. 5400 NEXT:FORJ=6TO36STEP10:IFS%(J)=PB+1ANDMG%(J)=0THENT=T+1:T%(T)=J
  603. 5410 NEXT:FORJ=13TO29STEP16:IFS%(J)=PB+1ANDMG%(J)=0THENT=T+1:T%(T)=J
  604. 5420 NEXT:IFT=0THENTA=3:RETURN
  605. 5430 GOTO5540
  606. 5440 REM ** ** LIFTMTG
  607. 5450 W$="WHO WILL   PAY OFF    MORTGAGE?":NL=2:GOSUB5850
  608. 5460 Z=0:T=0:FORJ=1TO8:IFOA%(J)ANDOA%(J)<3THEN5500
  609. 5470 FORK=0TO2+(J=1ORJ=8):X=OP%(J,K):IFMG%(X)=0ORS%(X)<>PB+1THEN5490
  610. 5480 T=T+1:T%(T)=OP%(J,K)
  611. 5490 NEXT
  612. 5500 NEXT:FORJ=6TO36STEP10:IFS%(J)=PB+1ANDMG%(J)THENT=T+1:T%(T)=J
  613. 5510 NEXT:FORJ=13TO29STEP16:IFS%(J)=PB+1ANDMG%(J)THENT=T+1:T%(T)=J
  614. 5520 NEXT:IFT=0THENTA=3:RETURN:REM ^ TRANSAC
  615. 5530 REM ** CHOICE FOR MTG & LIFTMTG
  616. 5540 GOSUB5900:IFT%(M)=0THEN5570:REM CHOICES FINISHED
  617. 5550 P=T%(M):IFMG%(P)<2THENZ=Z+1:MG%(P)=2:PRINT"[145]*"
  618. 5560 IFZ<14THENGOSUB6260:IFT%(M)THEN5550:REM MARK ANOTHER
  619. 5570 T=Z+1:T%(T)=0:IFZ<1THENRETURN
  620. 5580 X=0:FORPL=1TO40:IFMG%(PL)=2THENX=X+1:T%(X)=PL:GOSUB52:T%(T)=T%(T)+(SP/2)
  621. 5590 NEXT
  622. 5600 PX=24:PY=12-LEN(P$(PB))/2:EL=1:GOSUB20:PRINT"[154] YOU HAVE $"M(PB)"[157], "P$(PB)" [145][145]"
  623. 5610 PX=6+(Z>8)*6:PY=15:BW=23:BD=10+Z:C1$="[154]":GOSUB30
  624. 5620 IFTM=7THENPRINT"YOU MUST PAY $"T%(T)+INT((T%(T)+1)/10):GOTO5640
  625. 5630 PRINT"BANK WILL LEND $"T%(T)
  626. 5640 PRINTTAB(PY)"FOR THE FOLLOWING:":PRINT
  627. 5650 FORC=1TOZ:PRINTTAB(PY+3)""MID$(N$(T%(C)),2):NEXT:PRINT
  628. 5660 IFTM=7THENW$="COST INCLUDES 10%    INTEREST TO LIFT MTG.":NL=1:GOSUB66:GOTO5680
  629. 5670 W$="YOU'LL BE CHARGED 10%INTEREST TO LIFT MTG.":NL=1:GOSUB66
  630. 5680 PRINTTAB(PY+3)"DO YOU AGREE ":PRINTTAB(PY+3)""P$(PB)"?":GOSUB22:PX=PX-2
  631. 5690 PY=32:MB=6:ME=7:GOSUB39:IFM=7THENFORC=1TOZ:MG%(T%(C))=1+(TM=6):NEXT:RETURN
  632. 5700 IFTM=7THEN5750
  633. 5710 REM ** FIGURE MTG. PAYMENT
  634. 5720 A%(PB,1)=A%(PB,1)+Z:FORC=1TOZ:PL=T%(C):MG%(PL)=1:GOSUB52:IFB4THENGOSUB56
  635. 5730 NEXT:M(PB)=M(PB)+T%(T):RETURN
  636. 5740 REM ** LIFT FIGURE
  637. 5750 A%(PB,1)=A%(PB,1)-Z:FORC=1TOZ:PL=T%(C):MG%(PL)=0:GOSUB52:IFB4THENGOSUB56
  638. 5760 NEXT:M(PB)=M(PB)-(T%(T)+INT((T%(T)+1)/10)):RETURN
  639. 5770 REM+
  640. 5780 REM+
  641. 5790 REM ** ** NOMON
  642. 5800 HL=PEEK(TX):POKETX,1:GOSUB5810:POKETX,7:GOSUB5810:POKETX,HL:RETURN
  643. 5810 PX=24:PY=0:EL=1:GOSUB20
  644. 5820 PRINT" YOU CAN'T AFFORD THAT, "P$(P)". [145][145]":FORDL=0TO200:NEXT:RETURN
  645. 5830 REM+
  646. 5840 REM ** ** WHODO
  647. 5850 PX=13:PY=2:BW=13:BD=NL+6:C1$="[155]":GOSUB30:PRINT"[145]":GOSUB66:PRINT
  648. 5860 FORC=0TO1:PRINTTAB(PY)" "P$(C):NEXT:PX=16+NL
  649. 5870 M=0:MB=0:ME=1:J1$=" ":J2$=">":GOSUB20:PRINTJ2$:RJ=1:GOSUB44:PB=M:RETURN
  650. 5880 REM+
  651. 5890 REM ** ** SHOLIST
  652. 5900 AD=TM-1+(TM>4)+(TM>6):T%(0)=0:EX=0:EY=24:GOSUB26
  653. 5910 PRINTCHR$(147);:T%(0)=0:Y=0:SV=0
  654. 5920 PRINTSPC(2)"[155]PROPERTY ([159]_=MTG.[155])";
  655. 5930 PRINTSPC(3)"OWNER"SPC(3);:ONADGOTO5940,5950,5960,5970,5950
  656. 5940 PRINT:GOTO5980
  657. 5950 PRINT"#HOUSES":GOTO5980
  658. 5960 PRINT"  PRICE":GOTO5980
  659. 5970 PRINT"MTG.VAL":GOTO5980
  660. 5980 B=0:E=T:IFT<23THEN6010
  661. 5990 T=T+2:E=21:FORC=TTOESTEP-1:T%(C)=T%(C-2):NEXT:T%(E)=42:T%(E+1)=0
  662. 6000 PX=1:PY=0:GOSUB20
  663. 6010 FORJ=BTOE:PRINTTAB(2)N$(T%(J));:IFT%(J)=0ORT%(J)=42THENPRINT:GOTO6120
  664. 6020 IFMG%(T%(J))THENPRINT"_";
  665. 6030 PRINTTAB(21);:IFS%(T%(J))=0THENPRINT"FOR SALE":GOTO6120
  666. 6040 PRINTP$(S%(T%(J))-1);
  667. 6050 PRINTTAB(34);:ONADGOTO6060,6070,6080,6080,6070
  668. 6060 PRINT:GOTO6120
  669. 6070 PRINTH%(T%(J)):GOTO6120
  670. 6080 PL=T%(J):B1=D%(PL,3):IFB1<10THENSP=(200+(B1=8)*50):GOTO6100
  671. 6090 SP=(V%(B1-9,D%(PL,4),6))
  672. 6100 IFAD=4THENPRINTSP/2:GOTO6120
  673. 6110 PRINTSP
  674. 6120 NEXT
  675. 6130 POKETX,7:PX=24:PY=0:GOSUB20:ONADGOSUB6150,6160,6170,6190,6210
  676. 6140 GOTO6220
  677. 6150 PRINT"TO SEE TITLE DEED, PUSH FIRE AT NAME[145][145]":RETURN
  678. 6160 PRINT"PICK ANY LOT IN THE GROUP TO BE DVLPD.[145][145]":RETURN
  679. 6170 IFTM=5THENPRINT"MARK ALL TRADES THEN PICK 'RETURN'.[145][145]":RETURN
  680. 6180 PRINT"EITHER PLAYER MAY PICK PROPERTY TO SELL[145][145]":RETURN
  681. 6190 IFTM=7THENPRINT"PICK MORTGAGES TO BE LIFTED,THEN RETURN[145][145]":RETURN
  682. 6200 PRINT"MARK PROPERTIES FOR MTG, THEN 'RETURN'.[145][145]":RETURN
  683. 6210 PRINT"TO SELL HOUSES, MARK ANY LOT IN GROUP.[145][145]":RETURN
  684. 6220 PY=1:FORPX=E+((E>22)*23)+1-(B>21)TO2STEP-1:GOSUB20:PRINT "[158] ":NEXT
  685. 6230 IFSVANDB=0THENPX=E+1:PY=1:GOSUB20:PRINT"[158]"J1$:PX=1
  686. 6240 GOSUB20:PRINT">"
  687. 6250 J1$=" ":J2$=">":M=0:MB=0:ME=E+((E>22)*22):RJ=1
  688. 6260 GOSUB44
  689. 6270 IFT%(M)=42THEN6320
  690. 6280 IFB>0ANDT%(M)=0THENSV=2:POKESN,2:SYSTN:POKESN,1:SYSTT:B=0:E=21:GOTO6230
  691. 6290 IFB>0THENM=M+22:Y=1
  692. 6300 IF(TM=2ORTM>4ORTM<8)ANDT%(M)THENRETURN:REM GOBACK FOR LIST,BUY,MTG,LFTMTG
  693. 6310 PX=1:PY=1:GOSUB20:FORC=1TO23:PRINTTAB(1)" ":NEXT:POKESN,0:RETURN
  694. 6320 POKESN,1:SYSTN:B=22:E=T:IFSV=0THENSV=1
  695. 6330 IFSV=2THENPOKESN,2:SYSTT:GOTO6220:REM BRING UP 2ND SCRN
  696. 6340 EX=1:EY=23:GOSUB26:GOTO6000
  697. 6350 REM+
  698. 6360 REM ** ** AUCTION
  699. 6370 PX=24:EL=1:GOSUB20
  700. 6380 P=PO:FORC=0TO3:T%(C)=0:NEXT:PX=3:PY=16:BW=21:BD=7:C1$=LEFT$(N$(PL),1)
  701. 6390 GOSUB30:PRINT""N$(PL);C1$:PRINTTAB(PY)"IS UP FOR AUCTION":PRINT
  702. 6400 PRINTTAB(PY)"BIDDING ENDS IF":PRINTTAB(PY)"BID ISN'T RAISED"
  703. 6410 GOSUB6620:T%(P)=AM:GOSUB6570:IFM(P)-AM<=0THENT%(P)=0:GOSUB5800
  704. 6420 P=1-P:GOSUB6790:GOSUB6670:T%(P)=AM:GOSUB6570:REM ERASEAMT/GETNUM/SHOBID
  705. 6430 IFM(P)-AM<=0THENGOSUB5800:T%(P)=0
  706. 6440 IFT%(0)+T%(1)>0THEN6460:REM BID OK, ELSE NO SALE
  707. 6450 PX=19:PY=17:GOSUB20:PRINT"      NO SALE     ":PX=20:GOTO70:REM CHEKFIR
  708. 6460 IFT%(P)<=T%(1-P)THEN6480
  709. 6470 GOTO6420
  710. 6480 P=1-P:FORC=0TO2:PX=8+C*2:PY=13+C*2:C1$=CHR$(155-C):BD=3:BW=7:GOSUB30
  711. 6490 IFC<2THENPRINT"GOING":GOTO6510
  712. 6500 PRINT"GONE!"
  713. 6510 FORDL=0TO90:NEXT:NEXT
  714. 6520 PX=15:PY=0:GOSUB20:PY=20:FORC=0TO1:PRINTTAB(PY)"[158]"LEFT$(S1$,16):NEXT
  715. 6530 GOSUB20:PRINT"SOLD-"P$(P):PRINTTAB(PY)"FOR $"T%(P)
  716. 6540 S%(PL)=P+1:A%(P,0)=A%(P,0)+1:M(P)=M(P)-T%(P):M(P+2)=M(P+2)+SP
  717. 6550 PX=19:PY=17:POKETX,1:GOTO70:REM RETURN FROM THERE
  718. 6560 REM ** SHOBID
  719. 6570 PX=14:PY=19:BW=17:BD=4:C1$="[158]":GOSUB30
  720. 6580 PX=15:PY=20:GOSUB20:PRINT""AM:GOSUB20:PRINT"$"SPC(3)"-"P$(P)
  721. 6590 PRINTTAB(PY)"DO I HEAR"INT(AM+AM*.5)"[157]?":RETURN
  722. 6600 REM+
  723. 6610 REM ** ** SHONUM
  724. 6620 J1$=" ":J2$=">":PX=2:PY=1:BW=15:BD=21:C1$="[153]":GOSUB30:PX=6
  725. 6630 V=1000:FORC=0TO2:V=V/10:PY=PY-(4-(C=1))*(C>0):GOSUB20:PRINT" 0"
  726. 6640 FORJ=1TO9:PRINTTAB(PY)""J*V:NEXT
  727. 6650 IFC=0THENPRINTTAB(PY)" 1000"
  728. 6660 NEXT
  729. 6670 C1$="[153]":PX=3:PY=2:GOSUB20:PRINTC1$""P$(P)","+LEFT$(S1$,11-LEN(P$(P)))
  730. 6680 PRINTTAB(PY)"ENTER AMOUNT":AM=0:V=1000
  731. 6690 FORC=0TO2:V=V/10:PY=PY-(4-(C=1))*(C>0)
  732. 6700 FORPX=15-(C=0)TO7STEP-1:GOSUB20:PRINTJ1$:NEXT:GOSUB20:PRINTJ2$
  733. 6710 M=0:MB=0:ME=9-(C=0):RJ=1:GOSUB44:AM=M*V+AM:HY=PY
  734. 6720 PX=18:PY=2:GOSUB20:PRINT"AMOUNT:"AM:PY=HY:PX=6:GOSUB20:PRINT" "
  735. 6730 FORK=1TO9-(C=0):PRINTTAB(PY)"[153] ":NEXT
  736. 6740 IFM*V=1000THEN6700:REM REPEAT COL 1
  737. 6750 NEXTC:PX=19:PY=2:GOSUB20:PRINT"CORRECT?"
  738. 6760 PX=20:PY=9:MB=6:ME=7:C2$="":GOSUB39
  739. 6770 IFM=7THENGOSUB6790:GOTO6670
  740. 6780 RETURN
  741. 6790 PX=17:PY=2:GOSUB20:PRINT"[153]":FORC=0TO3:PRINTTAB(PY)LEFT$(S1$,13):NEXT:RETURN
  742. 6800 REM+
  743. 6810 REM ** ** ENDCHEK
  744. 6820 PX=2:PY=0:BD=7:BW=37:C1$="[150]":GOSUB30
  745. 6830 PRINTP$(BP)" IS STILL BROKE,"
  746. 6840 PRINTTAB(PY)"SO WE CAN'T RETURN TO THE GAME.":PRINT
  747. 6850 PRINTTAB(PY+3)""P$(BP)", DO YOU WISH TO"
  748. 6860 PRINTTAB(PY+3)"TRY RAISING $"(M(BP)-1)*-1"[157]?"
  749. 6870 PX=6:PY=31:C2$="":MB=6:ME=7:GOSUB39:IFM=6THENRETURN
  750. 6880 REM+
  751. 6890 REM **  * ENDIT
  752. 6900 EX=0:EY=24:GOSUB26:PF=0:GOSUB3400:REM _INVEN
  753. 6910 POKESB,6:POKESB+1,6:PX=10:PY=0:BD=3:BW=38:C1$="":GOSUB30
  754. 6920 IFM(0)=M(1)THENPRINTTAB(13)"IT'S A TIE.":GOTO6950
  755. 6930 W=0:IFM(0)<M(1)THENW=1
  756. 6940 PRINT"CONGRATULATIONS, "P$(W)"-YOU WIN!"
  757. 6950 PX=20:PY=19:GOSUB70:PRINTCHR$(147):SYS65126:STOP
  758. 8000 SP$="                                      ":S1$=LEFT$(SP$,18)
  759. 8010 S2$=LEFT$(SP$,22):LT$="[198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198]"
  760. 8020 LB$="[207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208]"
  761. 8030 FR$="[158] PLEASE RELEASE [146] FIRE  BUTTON [146]         [145][145]"
  762. 8040 PX=.:PY=.:PL=.:PT=.:T=.:M=.:R1%=0:R2%=0
  763. 8050 BW=.:BD=.:X=.:MB=.:ME=.:PO=.:AC=.:JV=.:JR=.:JS=.:PB=.:OW=.:P=.
  764. 8060 TN=49152:TT=49186:SN=49270:SB=53280:TX=646:BX=49278:ER=49368
  765. 8070 DIM DC$(6),MN$(24),MH$(5),N$(42),CM$(1,15),P$(1)
  766. 8080 DIM D%(41,4),G(6),PL(1),O(1),TK(3),M(3),V%(8,2,6),S%(40),MG%(40),H%(40)
  767. 8090 DIM OP%(8,2),OA%(8),T%(42),C%(15),A%(1,2),Z%(1),JT(1),DR%(10),CJ(2)
  768. 8100 TK(0)=42:TK(1)=35:TK(2)=170:TK(3)=163
  769. 8110 DC$(1)="   [157][157][157] [209] [157][157][157]   [146]":DC$(2)="  [209][157][157][157]   [157][157][157][209]  [146]"
  770. 8120 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]"
  771. 8130 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]"
  772. 8140 REM ** ** SETUP
  773. 8150 GOSUB8640
  774. 8160 EX=15:EY=23:GOSUB26:PX=17:PY=0:GOSUB20
  775. 8170 PRINT"[155]PLAYERS MAY CHOOSE BETWEEN THESE TOKENS"
  776. 8180 PRINTSPC(14)"*   OR   #"
  777. 8190 FORI=0TO1:M$=CHR$(TK(I)):GOSUB8530
  778. 8200 PX=20+I*2:PY=0:GOSUB20
  779. 8210 PRINT"[158]NAME OF '"M$"' PLAYER";:INPUTW$:P$(I)=LEFT$(W$,10)
  780. 8220 IFP$(I)=""THEN8200
  781. 8230 NEXT:EX=15:EY=23:GOSUB26:M$="$":GOSUB8530:PX=17:PY=5:GOSUB20
  782. 8240 PRINT"MOVE THE JOYSTICK UP OR DOWN"
  783. 8250 PRINTSPC(4)"TO HIGHLIGHT THE DESIRED ITEM."
  784. 8260 PRINTSPC(5)"USE 'FIRE' BUTTON TO EXECUTE"
  785. 8270 PRINTSPC(6)"THE HIGHLIGHTED MENU ITEM."
  786. 8280 GOSUB8720:PX=23:PY=10:GOSUB70:REM CHEKFIR
  787. 8290 EX=15:EY=24:GOSUB26:M$="[218]":GOSUB8530:PX=23:PY=5:GOSUB20
  788. 8300 PRINT"USE JOYSTICK TO RECORD CHOICE.":C1$="":C2$="[153]":MB=6:ME=7
  789. 8310 PX=17:PY=0:GOSUB20:PRINTSPC(5)"[154]SHORT GAME OPTION:"
  790. 8320 PRINT"[155]SHOULD PROPERTIES BE DIVIDED":PRINT"BETWEEN PLAYERS AT THE START?"
  791. 8330 GOSUB8520:IFM=6THENSG=1:GOTO8360
  792. 8340 M$="$":GOSUB8530:PX=17:PY=0:GOSUB20:PRINT"[155]DO YOU WANT THE AUCTION RULE?"
  793. 8350 GOSUB8520:IFM=6THENAF=1
  794. 8360 M$="[209]":GOSUB8530:PX=17:PY=0:GOSUB20:PRINTTAB(3)"[155]DO YOU WANT THE FREE-PARKING"
  795. 8370 PRINTTAB(17)"JACKPOT OPTION?":PRINT"[154]LUXURY TAX PAYMENTS GO TO JACKPOT."
  796. 8380 PRINT" A PLAYER LANDING ON A SPOT OCCUPIED BY"
  797. 8390 PRINT"THE OTHER PLAYER WILL BE CHARGED $5.[155]"
  798. 8400 GOSUB8520:IFM=6THENPF=1:FP=50
  799. 8410 EX=0:EY=24:GOSUB26:PRINT"[147]"
  800. 8420 SYSTT:POKESB,0:POKESB+1,0:REM PRINTSCREEN
  801. 8430 M(0)=1500-SG*200:M(1)=1500-SG*200
  802. 8440 PL(0)=1:PL(1)=1:O(0)=1978:O(1)=1938:X=RND(-RND(0))
  803. 8450 POKE1978,TK(0):POKE1938,TK(1):PX=4:PY=13:GOSUB20:PRINT"[159]"P$(0)
  804. 8460 PX=7:GOSUB20:PRINT""P$(1):GOSUB86:REM SHOTOTAL
  805. 8470 PX=11:PY=18:GOSUB20:PRINT"ROLLING FOR":PRINTTAB(PY)"FIRST TURN"
  806. 8480 GOSUB420:IFDBTHENDB=0:GOTO8480:REM ROLL
  807. 8490 PT=(R1%>R2%)+1:PO=1-PT:SYSER,0:PX=11:PY=18:GOSUB20:PRINT""P$(PT)
  808. 8500 PRINTTAB(PY)"ROLLS FIRST"
  809. 8510 RETURN:REM ^ GAMESEC
  810. 8520 PX=17:PY=34:GOSUB39:EX=17:EY=22:GOSUB26:RETURN
  811. 8530 PX=6:PY=0:GOSUB20
  812. 8540 PRINT""M$"   "M$"  "M$M$"  "M$"  "M$"  "M$M$"  "M$M$"   "M$M$"  ";
  813. 8550 PRINTM$" "M$"   "M$
  814. 8560 PRINT""M$M$" "M$M$" "M$"  "M$" "M$M$" "M$" "M$"  "M$" "M$" ";
  815. 8570 PRINTM$" "M$"  "M$" "M$"  "M$" "M$
  816. 8580 PRINT""M$" "M$" "M$" "M$"  "M$" "M$" "M$M$" "M$"  "M$" "M$M$;
  817. 8590 PRINTM$" "M$"  "M$" "M$"   "M$
  818. 8600 PRINT""M$"   "M$" "M$"  "M$" "M$"  "M$" "M$"  "M$" "M$"   ";
  819. 8610 PRINTM$"  "M$" "M$"   "M$
  820. 8620 PRINT""M$"[160][160][160]"M$"  "M$M$"  "M$"  "M$"  "M$M$"  "M$"    ";
  821. 8630 PRINTM$M$"  "M$M$M$" "M$"[155]":RETURN
  822. 8640 OPEN15,8,15,"I0":GOSUB8790
  823. 8650 OPEN6,8,6,"MON/DATA,S,R":GOSUB8790:
  824. 8660 FORI=0TO24:INPUT#6,MN$(I):NEXT:GOSUB8790
  825. 8670 FORI=0TO5:INPUT#6,MH$(I):NEXT:GOSUB8790
  826. 8680 FORI=0TO42:INPUT#6,N$(I):NEXT:GOSUB8790
  827. 8690 FORJ=0TO1:FORK=0TO15:INPUT#6,CM$(J,K):NEXT:NEXT:GOSUB8790
  828. 8700 FORI=0TO9:INPUT#6,DR%(I):NEXT:GOSUB8790
  829. 8710 FORI=1TO41:FORJ=0TO4:INPUT#6,D%(I,J):NEXT:NEXT:GOSUB8790:RETURN
  830. 8720 FORI=1TO8:FORJ=1TO2:FORK=0TO6:INPUT#6,V%(I,J,K):NEXT:NEXT:NEXT:GOSUB8790
  831. 8730 FORI=1TO8:FORJ=0TO2:INPUT#6,OP%(I,J):NEXT:NEXT:GOSUB8790
  832. 8740 FORI=1TO6:INPUT#6,G(I):NEXT:GOSUB8790:CLOSE6:CLOSE15
  833. 8750 S=54272:POKES+5,79:POKES+12,79:POKES+19,79:POKES+6,248:POKES+14,248
  834. 8760 POKES+20,248:POKES+4,17:POKES+16,33:POKES+18,37:POKES+24,15
  835. 8770 FORI=1TO6:POKEG(I),0:NEXT
  836. 8780 RETURN
  837. 8790 INPUT#15,E,E$,X,X:IFE<20THENZ=0:RETURN
  838. 8800 PRINT" DISK ERROR:[146]"E"[157], "E$":STOP
  839.