5 REM***VER5.1
   10 MODE7
   11 X=129:GOSUB5000:X=135:GOSUB5000:X=129:GOSUB5000:FORX=11TO12:PRINTTAB(4,X)CHR$(141);CHR$(132);"FROM OLD KENT ROAD TO MAYFAIR":NEXT:GOSUB1990
   12 GOSUB1140:X=RND(TIME):X=RND(-X):CLS
   20 GOSUB8000
   25 PRINT"Do you have a game saved?";:IFFNyn="Y"THENGOSUB10800:MIN=0:GOTO95
   30 GOSUB8060
   35 PRINT"Do you want to play the time limit"'"version?";:IFFNyn="N"THEN MIN=0:GOTO95
   40 INPUT"How many minutes do you want the game"'"to run? "MIN:TIME=0
   50 PRINT"Cards being dealt":GOSUB1990:FORa=1TO n%:FORb=1TO2:c=RND(40):IFp%(c,2)<>7THEN b=b-1:GOTO60
   55     p%(c,2)=a:m%(a)=m%(a)-p%(c,1)
   60 NEXTb:NEXTa
   95 ON ERROR PROCerr:GOTO 105
   96 CLS:VDU23;8202;0;0;0:D$(1)="H":D$(2)="HH":D$(3)="HHH":D$(4)="HHHH"
  100 a=1:GOSUB900:IFMIN>0ANDTIME DIV 6000>MIN THEN 12000
  101 REM FORa=1TOn%
  102 d4=0:IFN$(a)=""THEN1505
  105 IFa=c%THENGOSUB2000:GOTO1500
  125 x=j%(a):IFx=0THEN200
  130 CLS:GOSUB5010:x=x+1:IFx=4THENx=0:PRINT;N$(a)" - you must now leave jail":GOTO140
  135 PRINT" "N$(a)" in jail":PRINTC$;L$:PRINT" Do you wish to remain?";:IFFNyn="Y"THEN175
  140 IFg%(a)>0THENPRINT" Do you wish to use your card?";:IFFNyn="Y"THEN g%(a)=g%(a)-1:x=0:GOTO175
  145 PRINT" "T$;"50":m%(a)=m%(a)-50:x=0:fr=1:PRINTTy$:GOSUB1990
  175 j%(a)=x
  200 x=d%(a):GOSUB295
  201 GOSUB550:PRINT" T/Throw dice";TAB(21);"Z/Save game"
  209 IFp%(x,10)>0THENGOSUB6700
  210 *FX15,1
  211 A$=CHR$(GETAND&DF):IFA$="T"ANDm%(a)>=0THEN1100
  215 IFA$="Q"THENGOSUB7000:GOTO1505
  225 GOSUB560
  235 GOTO200
  249 o=1:c=20
  250 CLS:PRINT"NO:PROPERTY"TAB(31)"OWNER":FORb=o TO c:IFp%(b,1)=0THEN254ELSEPRINT;b;CHR$(p%(b,12));P$(b);
  251   IFp%(b,11)=1THENPRINTTAB(27)"(M)";
  252   PRINTTAB(30)N$(p%(b,2))
  254 NEXTb:GOSUB1140:IFo=21THENRETURN
  255 o=21:c=40:GOTO250
  270 d=r%:r%=0:CLS:PRINTTAB(10)"Deed details":PRINTC$;L$:GOSUB5050:x=v:IFp%(x,1)=0THENPRINT" Non-purchaseable property":GOTO275
  271 CLS:PRINTTAB(10)CHR$(p%(x,12));P$(x):IFx=6ORx=16ORx=26ORx=36THENGOSUB360:GOTO275
  272 IFx=13ORx=29THENGOSUB340:GOTO275
  273 GOSUB312:GOTO275
  275 r%=d:T%=p%(x,10):IFT%>0THENGOSUB6702
  278 GOTO820
  285 o=0:v=d%(a):z=(v-1)DIV5*5+2:FORb=z  TOz+3:IFp%(v,2)=p%(b,2)ANDp%(b,8)>0THENo=o+1
  287 NEXT:IFz<6ORz>36THENo=o+1
  290 RETURN
  295 CLS:FORT=1TO2:PRINTCHR$(141);a" "N$(a);TAB(16)CHR$(p%(x,12));P$(x):NEXT:PRINTTAB(15)"CASH `";m%(a):PRINTTAB(0)CHR$(p%(x,12)+16);L$:RETURN
  300 x=d%(a):r%=0:CLS:PRINTTAB(10)CHR$(p%(x,12));P$(x):IFx=13ORx=29THENGOSUB335:GOTO500
  301 IFx=6ORx=16ORx=26ORx=36THENGOSUB355:GOTO500
  302 IFx=3ORx=18ORx=34THEN370ELSEIFx=21THEN440
  303 IFx=8ORx=23ORx=37THEN390
  304 IFx=1ORx=11THENPRINTCHR$(151);L$:GOTO500
  305 IFx=5ORx=39THEN420
  306 IFx=31THENPRINT:GOTO374
  307 IFp%(x,2)=7ORp%(x,11)=1ORa=p%(x,2)THENr%=0:GOTO310
  308 hv=a:a=p%(d%(a),2):v=x:GOSUB620:a=hv:IFy=3THEN r%=2*p%(x,3)ELSE r%=p%(x,3)
  309 IFp%(x,10)>0THENz=p%(x,10)+3:r%=p%(x,z)
  310 GOSUB312:GOTO500
  312 PRINT" PRICE `";p%(x,1):PRINTCHR$(p%(x,12)+16);L$:PRINT" Rent `";p%(x,3)TAB(21)"Payable `";r%
  314 PRINT" Price per house: `";p%(x,9):vp%=VPOS:FORz=0TO 3:PRINTTAB(20*(z AND1),vp%+z DIV2);" ";z+1;" house";CHR$(ASC"s"AND(z<>0));" `";p%(x,z+4):NEXT:PRINT" Hotel `";p%(x,8)
  316 PRINT" Number of houses:";:IFp%(x,10)=5THENPRINTCHR$(129);"HOTEL"ELSEPRINTCHR$(130);p%(x,10)
  320 GOTO480
  335 IFp%(x,11)=1ORp%(x,2)=7ORp%(x,2)=a THENr%=0:GOTO340
  336 hv=a:a=p%(d%(a),2):GOSUB2650:a=hv:IFk=2THEN r%=d3*10ELSE r%=d3*4
  340 PRINT," PRICE `";p%(x,1):PRINTCHR$(151);L$:PRINT" Rent:"'" If one utility owned: 4 times dice"'" If two utilities owned: 10 times dice"'" Rent: `";d3,T$;r%:GOTO480
  355 IFp%(x,2)=7ORp%(x,11)=1ORa=p%(x,2)THENr%=0:GOTO360
  356 o=0:FORz=6TO36STEP10:IFp%(z,2)=p%(x,2)THENo=o+1
  357 NEXT:r%=p%(x,3+o)
  360 PRINT" Price: `";p%(x,1)'C$;L$'" Rent":FORz=4TO7:PRINT" If ";z-3;" station";CHR$(ASC"s" AND (z<>4));" owned `"p%(x,z):NEXT:PRINT" Payable `";r%:GOTO480
  368 GOSUB1990:IFa=c% THEN RETURN ELSE 1505
  369 j%(a)=1:d%(a)=11:GOTO368
  370 PRINT:PRINTC$;L$:b=RND(17):ONGOTO371,372,373,374,375,376,377,378,379,380,381,382,332,384,385,387,389
  371 PRINT" Pay hospital `100":r%=100:GOTO455
  372 PRINT" Pay doctor's fee `50":r%=50:GOTO455
  373 PRINT" Insurance premium,pay `50":r%=50:GOTO455
  374 CLS:FORT=1TO2:PRINTTAB(12)CHR$(141);CHR$(129);"GO TO JAIL":NEXT:d4=0:PRINT:GOSUB1990:GOSUB5010:GOTO369
  375 PRINT" Receive interest on 7% preference"'" shares `25":b=25:GOTO450
  376 PRINT" You inherit `100":b=100:GOTO450
  377 PRINT" From sale of stock you get `50":b=50:GOTO450
  378 PRINT" Bank error in your favour collect `200":b=200:GOTO450
  379 PRINT" Get out of jail free":g%(a)=g%(a)+1:GOTO455
  380 PRINT" Annuity matures collect `100":b=100:GOTO450
  381 PRINT" Income tax refund collect `20":b=20:GOTO450
  382 PRINT" You have won 2nd prize in a beauty"'" contest. Collect `10":b=10:GOTO450
  383 PRINT" Advance to GO":c=1:b=200:GOTO445
  384 PRINT" Go back to OLD KENT ROAD":c=2:b=0:GOTO445
  385 PRINT" Pay a `10 fine (F) or take a chance (C)":INPUT"] "A$:IFm%(a)>9ANDA$="F"THENPRINTTy$:b=10:GOTO450
  386 GOTO390
  387 PRINT" It is your birthday collect `10 from    each player":FORb=1TOn%:IFN$(b)<>""AND b<>a THEN m%(b)=m%(b)-10:m%(a)=m%(a)+10
  388 NEXT:GOTO455
  389 PRINT" Iain Skelly wants royalties - 10% of"'" your capital":r%=m%(a)DIV10:GOTO455
  390 PRINT:PRINTC$;L$:b=RND(17):ONGOTO374,392,407,380,395,396,397,374,399,409,384,392,403,404,405,406,411
  392 PRINT" Make general repairs on all your houses `25 per house, `125 per hotel":FORb=1TO40:IFp%(b,2)=a ANDp%(b,10)>0THENr%=r%+p%(b,10)*25
  393 NEXT:PRINTT$;r%:GOTO455
  395 PRINT" You have won a crossword competition"'" collect `100":b=100:GOTO450
  396 PRINT" Your building and loan matures - `150":b=150:GOTO450
  397 PRINT" Advance to "P$(25):IFd%(a)=37THENb=200ELSEb=0
  398 c=25:GOTO445
  399 PRINT" Take a trip to "P$(16):IFd%(a)>8THENb=200ELSEb=0
  400 c=16:GOTO445
  403 PRINT" Advance to "P$(40):c=40:b=0:GOTO445
  404 PRINT" Bank pays you dividend of `50":b=50:GOTO450
  405 PRINT" Drunk in charge fine `50":r%=50:GOTO455
  406 PRINT" Speeding fine `15":r%=15:GOTO455
  407 PRINT" Pay school fees `150":r%=150:GOTO455
  409 PRINT" Advance to "P$(12):IFd%(a)>11THENb=200ELSEb=0
  410 c=12:GOTO445
  411 PRINT" Go back three spaces":c=d%(a)-3:b=0:IFc<1THEN c=39
  412 GOTO445
  420 PRINT:PRINTC$;L$:IFd%(a)=5THENr%=200ELSEr%=100
  421 PRINT:FORT=1TO2:PRINTTAB(10)CHR$(141);CHR$(129);T$;r%:NEXT:PRINTC$;L$:GOTO500
  440 FORT=0TO35:PRINTTAB(T+1,4);:VDU144+a,252,252:PRINTTAB(T,5);:VDU144+a,239,175,175,191:FORj=1TO20:NEXTj:NEXT:GOTO500
  445 d%(a)=c:m%(a)=m%(a)+b:GOSUB1990:GOTO300
  450 m%(a)=m%(a)+b
  455 PRINT:PRINTCHR$(131);CHR$(157):GOTO500
  480 PRINT" Owner",N$(p%(x,2)):PRINT" "Mo$;" value `"p%(x,1)/2;:IFp%(x,11)=1THENPRINTTAB(20)CHR$(129);"PROPERTY MORTGAGED";
  485 PRINT:PRINTCHR$(p%(x,12)+16);L$:RETURN
  500 IFa=c%THENGOSUB1990:RETURN
  502 PRINT" ";a" "N$(a)TAB(21)"CASH `";m%(a):GOSUB550:PRINT" O/Pay debt"TAB(21)"L/Buy deeds":PRINT" N/Next player"TAB(21)"Z/Save game":PRINTTAB(1,23)"Debt `";r%;
  510 A$=CHR$(GETAND&DF):IFA$="Q"THENGOSUB7500:GOTO1505
  515 IFA$="N"THEN1500
  516 IFA$="L"ANDp%(d%(a),2)=7THENGOSUB800:GOTO300
  520 IFA$="O"ANDr%>0THENGOSUB1600:GOTO510
  525 GOSUB560:CLS:GOTO500
  550 PRINT" M/"Mo$TAB(21)"S/Sell "H$:PRINT" D/Deed details"TAB(21)"Y/Your position":PRINT" P/Player's positions"
  555 PRINT" E/"E$TAB(21)"Q/"Q$:PRINT" C/"Co$TAB(21)"W/"Td$" cash":PRINT" X/"Td$" deeds"TAB(21)"B/Buy "H$:RETURN
  560 IFA$="M"THENGOSUB1300
  562 IFA$="S"THENGOSUB1750
  564 IFA$="B"THENGOSUB1700
  566 IFA$="D"THENGOSUB270
  568 IFA$="Y"THENGOSUB1000
  569 IFA$="Z"THENGOTO10400
  570 IFA$="P"THENGOSUB1050
  572 IFA$="E"THENGOSUB249
  574 IFA$="C"THENGOSUB4500
  576 IFA$="W"THENGOSUB1800
  578 IFA$="X"THENGOSUB1830
  580 RETURN
  600 FORv=2TO37STEP5:o=0:FORb=v TO v+3:IFp%(b,2)=a AND p%(b,11)=0 AND p%(b,8)>0THEN o=o+1
  604   NEXTb
  605   IFv=2OR v=37THEN o=o+1
  610   FOR c=v TO v+3:IFp%(c,9)>0AND o=3 THEN p%(c,0)=p%(c,2)ELSE p%(c,0)=0
  611   NEXTc
  615 NEXTv:RETURN
  620 y=0:k=0:o=0:w=0:z=(v-1)DIV5*5+2:FORB=z TO z+3:k=k+p%(B,10):IFp%(B,8)=0THEN623 ELSE o=o+1
  621   IFp%(B,2)=a THEN w=w+1:y=y+1
  623 NEXT
  624 IFv<5 OR v>37THEN y=y+1
  625 RETURN
  800 CLS:d=d%(a):FORT=1TO2:VDU129,157,135,141:PRINTTAB(4)"Property purchase section":NEXT:PRINTTAB(0)C$;L$:FORT=1TO2:VDU141,p%(d,12):PRINTTAB(10)P$(d):NEXT
  805 IFm%(a)-p%(d,1)<0THENPRINTIc$:GOTO820
  807 PRINT" Account debited `";p%(d,1):PRINT" Deeds registered in "N$(a)"'s name"
  810 m%(a)=m%(a)-p%(d,1):PRINTTy$:p%(d,2)=a:GOTO820
  819 PRINT" "I$
  820 GOSUB1140:RETURN
  900 N=0:FORb=1TOn%:IFN$(b)<>""THEN N=N+1
  910 NEXT:IFN=1THENCLS:GOTO12005
  915 RETURN
  920 PRINT" BEEB buys"CHR$(p%(h,12));P$(h):p%(h,2)=a:s=s-p%(h,1):RETURN
 1000 CLS:PRINTTAB(1)N$(a)TAB(17)H$TAB(31)"OWNER":PRINTC$;L$:x=d%(a)
 1010 FORb=1TO21:IFx>40THENx=x-40
 1015   d=p%(x,10):PRINTTAB(1)CHR$(p%(x,12));P$(x);:IFd>0ANDd<5THENPRINTTAB(19)CHR$(130);D$(d);
 1016   IFd=5THENPRINTTAB(19)CHR$(129);"HOTEL";
 1017   IFp%(x,2)>0THENPRINTTAB(28)CHR$135;N$(p%(x,2));
 1020 x=x+1:PRINT:NEXT
 1025 x=0:b=2:PRINTTAB(x,b)V$(a)
 1026 IFA$="T"ORa=c%THENFORb=2TOd3+1:PRINTTAB(x,b)V$(a):t%=TIME+33:REPEATUNTILTIME>t%:PRINTTAB(x,b)" ":SOUND1,-15,5,4:NEXT:PRINTTAB(x,b)V$(a):d%(a)=d%(a)+d3:IFd%(a)>40THENd%(a)=d%(a)-40:m%(a)=m%(a)+200
 1027 IFa=c%THENGOSUB1990:RETURN
 1030 GOTO820
 1050 d3=c%:c%=0:h=a:FORa=1TOn%:IFa=h THEN1060
 1052   IFN$(a)=""THEN1060
 1055   GOSUB1000
 1060 NEXT:a=h:c%=d3:RETURN
 1100 CLS:FORb=1TO40:d1=RND(6):d2=RND(6):FORT=1TO2:PRINTTAB(11,12+T);CHR$(141);CHR$(128+d1);d1,CHR$(128+d2);d2:NEXTT:NEXTb:d3=d1+d2
 1120 GOSUB1990:IF d4=2 AND d1=d2 THEN d1=0:GOTO374
 1121 IF j%(a)>0AND d1=d2 THEN j%(a)=0
 1122 IFj%(a)>0THEN300
 1123 IF fr=1 AND d1=d2 THEN m%(a)=m%(a)+50:PRINT"`50 refund":GOSUB1990
 1125 fr=0:GOSUB1000:GOTO300
 1140 VDU31,1,24,157,132:PRINT"PRESS SPACE BAR TO CONTINUE";:REPEAT:A$=GET$:UNTILA$=" ":RETURN
 1300 CLS:PRINTTAB(14)Mo$" Section":PRINTC$;L$:PRINT" 1/REDEEM "Mo$,"2/TAKE "Mo$:INPUT" ] "d
 1310 GOSUB5050:IFp%(v,2)<>a THEN819
 1315 IFd=1THEN1350
 1320 IFp%(v,11)<>0THEN819
 1325 IFp%(v,8)>0THENGOSUB620:IFk>0THEN819
 1330 p%(v,11)=1:b=p%(v,1)DIV2:m%(a)=m%(a)+b:PRINT;CHR$(p%(v,12));P$(v)" "Mo$" Value `";b:GOTO820
 1350 IFp%(v,11)<>1THEN819
 1360 b=p%(v,1)DIV2+p%(v,1)DIV20:PRINT" Cost to reedem ";Mo$;" `";b
 1365 IFm%(a)-b<0THEN819
 1370 m%(a)=m%(a)-b:p%(v,11)=0:PRINTTy$:GOSUB600:GOTO820
 1500 d=d%(a):IFp%(d,2)=7THENGOSUB1510
 1501 IFr%>0THENPRINTTAB(1,23)I$;:FORb=1TO1500:NEXT:CLS:GOTO500
 1503 IF d1=d2 THEN d4=d4+1:GOTO105
 1505 a=(a+1)MOD (n%+1):IFa=0 GOTO100 ELSE GOTO102
 1510 GOSUB600:s=m%(c%):v=d%(a):t=p%(v,1)+RND(100):hv=a:a=c%:GOSUB620:a=hv:GOSUB1560
 1511 hv=a:a=c%:IFv=6OR v=16OR v=26OR v=36THENGOSUB2670:w=k
 1512 IFv=13OR v=29THENGOSUB2650:w=k
 1513 a=hv
 1515 IFo<3AND w>1AND s>p%(v,1)THEN t=s DIV100*(80+RND(10))
 1520 IF o>2AND w>1OR o<3 AND w=1THEN t=s DIV100*(55+RND(15))
 1525 IFt>s-6THEN t=s-6
 1527 IFt=0AND s>6THEN t=s-6
 1530 CLS:PRINT;CHR$(p%(v,12));P$(v)" is up for auction":GOSUB5060
 1540 INPUT" Enter player number and highest bid"'"(eg.1,200) ";c,d:IF m%(c)-d<0PRINT" Not enough money":GOTO1540
 1543 IFd>t THEN1555ELSE b=d+5:PRINT" BEEB bids `";b'" Another Bid?";:IFFNyn="Y"THEN1540
 1545 PRINT" BEEB buys";CHR$(p%(v,12));P$(v):s=s-b:p%(v,2)=c%:GOTO1558
 1555 PRINT" BEEB will not bid"'N$(c);" buys";CHR$(p%(v,12));P$(v):m%(c)=m%(c)-d:p%(v,2)=c
 1558 m%(c%)=s:GOSUB1990:RETURN
 1560 o=0:FORb=1TO6:IFp%(cd%(b),0)=c%THENo=o+1
 1565 NEXT:RETURN
 1600 IFm%(a)-r%<0THENPRINTTAB(1,23)KL$;:PRINTTAB(1,23)Ic$;:GOTO1620
 1605 b=d%(a):PRINTTAB(1,23),N$(p%(b,2))" RECEIVES `";r%;:m%(a)=m%(a)-r%:m%(p%(b,2))=m%(p%(b,2))+r%:r%=0
 1610 pl%=d%(a):IFpl%=3ORpl%=5ORpl%=8ORpl%=18ORpl%=23ORpl%=33ORpl%=39THEN pl%=20ELSE IFpl%=13ORpl%=29 pl%=10 ELSE pl%=12
 1620 FORb=1TO1500:NEXT:PRINTTAB(1,23)KL$;:PRINTTAB(1,23)"DEBT `";r%,TAB(25,pl%)SPC(10),TAB(25,pl%)"CASH `";m%(a):RETURN
 1700 CLS:PRINTTAB(10)"House purchase section":PRINTC$;L$:GOSUB600:GOSUB5050
 1710 IF p%(v,8)=0OR p%(v,10)>4OR p%(v,0)<>a OR p%(v,2)<>a OR m%(a)-p%(v,9)<0THEN819
 1720 GOSUB620:d=k DIV o:IFp%(v,10)>d THEN819
 1730 p%(v,10)=p%(v,10)+1:m%(a)=m%(a)-p%(v,9):PRINTTy$
 1732 FORb=z TO z+3:IFp%(b,8)>0THENPRINT;b" "P$(b)" "p%(b,10)" "H$
 1734 NEXT:GOTO820
 1750 CLS:PRINTTAB(10)"House sale section":PRINTC$;L$:GOSUB5050
 1760 IFp%(v,2)<>a OR p%(v,10)=0THEN819
 1765 GOSUB620:d=k DIV o:IFk/o-d>0THEN1770ELSE1775
 1770 IFp%(v,10)-1<d THEN819
 1775 p%(v,10)=p%(v,10)-1:m%(a)=m%(a)+p%(v,9)/2:PRINTTy$:GOTO1732
 1800 CLS:PRINTTr$;:INPUT" "b:PRINTTw$;:INPUT" "c
 1805 INPUT"How much cash? "d
 1810 IFm%(b)-d<0THEN819
 1815 PRINT"OK":m%(c)=m%(c)+d:m%(b)=m%(b)-d
 1820 GOTO820
 1830 CLS:PRINTTr$;:INPUT" "b:PRINTTw$;:INPUT" "c:PRINTEp$;:INPUT" "d:PRINTP$(d)
 1840 IFp%(d,2)<>b THEN819
 1845 PRINT"O.K":p%(d,2)=c:GOTO820
 1990 FORb=1TO4200:NEXT:RETURN
 2000 s=m%(a):c=d%(a):x=c:GOSUB295:PRINT" THINKING":IFp%(c,10)>0THENGOSUB6700
 2100 IFj%(a)=0THEN2200ELSEGOSUB5010:PRINT" BEEB IN JAIL"
 2105 j%(a)=j%(a)+1:IFj%(a)=4THEN2107
 2106 IFj%(a)<4THEN2110
 2107 IFg%(a)>0THENg%(a)=g%(a)-1:PRINT" BEEB USES CARD":GOTO2109
 2108 r%=50:t=50:GOSUB3000:IFN$(a)=""THENRETURN
 2109 j%(a)=0:PRINT" BEEB leaves jail":GOSUB1990:m%(a)=s:fr=1:GOTO2000
 2110 o=0:FORb=1TO40:IFp%(b,2)=7THENo=1
 2113   IFp%(b,0)=a AND s>240THEN o=0:b=41
 2115 NEXT
 2125 IFs-50<0THENo=0
 2140 IFo>0THENj%(a)=3:GOTO2105
 2145 PRINT" BEEB will remain"
 2200 m%(a)=s:PRINT" BEEB throws dice":GOSUB1990:GOSUB1100:IFj%(a)=1THEN d1=0:RETURN
 2210 h=d%(a):PRINT" BEEB lands on"CHR$(p%(h,12));P$(h):GOSUB1990
 2220 s=m%(a):IFr%>0THEN t=r%:GOSUB3000
 2300 IFp%(h,2)<>7THEN2400
 2310 t=p%(d%(a),1):FORb=1TO n%:IFb<>c% AND m%(b)>t THEN b=n%+1:t=0
 2320 NEXT:IFt=0AND s>p%(d%(a),1)THENGOSUB920:GOTO2400
 2330 IFt>0THEN2340
 2335 t=p%(d%(a),1):GOSUB3100:IFs<t THENGOSUB1510ELSEGOSUB920:
 2337 GOTO2400
 2340 t=s-6:FORb=1TO n%:IFm%(b)>s-6 AND m%(b)>t AND b<>c% THEN t=m%(b)
 2345 NEXT:IFt>s-6 THENGOSUB3100
 2350 GOSUB1510
 2400 IFd1=d2 THEN2845
 2401 GOSUB5020:IFk>2THEN2700
 2403 GOSUB600:pb=0:FORt=1TO8:v=cd%(t)
 2405   IFp%(v,0)=a THEN2420
 2410   GOSUB620:IFt<3THEN w=w+1
 2415   IFw=2THEN c=t+1:pb=t:t=9
 2420 NEXT
 2425 IFpb=0THEN2700
 2430 v=cd%(pb):IFv=38THEN v=37
 2435 e=1:GOSUB2660:IFe=1THEN2700
 2440 PRINT" BEEB considering an exchange":g=e:e=1:IFc=9THEN2465
 2445 c=pb+1:FORt=8 TO c STEP-1:v=cd%(t):IFv=38 THEN v=37
 2450   IFe>0THENGOSUB2600
 2452   IFe>1THENGOSUB2620
 2455 NEXT:IF e=0THEN2700
 2465 GOSUB2650:IFk=1THENGOSUB2620ELSE e=1
 2470 IF e=0THEN2700
 2475 GOSUB2670:IFk=1THENGOSUB2620
 2480 GOTO2700
 2600 FORb=v TO v+3:IF p%(b,0)<>a AND p%(b,2)=a AND p%(b,8)>0THEN e=b
 2605 NEXT:RETURN
 2620 *FX15,1
 2622 PRINT" BEEB will exchange"CHR$(p%(e,12));P$(e):PRINT" For"CHR$(p%(g,12));P$(g):PRINT" Does ";N$(p%(g,2));" agree?";:IF FNyn=0 THEN e=1:RETURN
 2623 REM IFA$="NO"THEN e=0:RETURN
 2625 PRINTTy$:p%(e,2)=p%(g,2):p%(g,2)=a:e=0:RETURN
 2650 k=0:FORb=13TO29STEP16:IFp%(b,2)=a THEN k=k+1:e=b
 2655 NEXT:RETURN
 2660 FORb=v TO v+3:IFp%(b,2)<>a AND p%(b,8)>0 AND p%(b,2)<>7THENe=b
 2665 NEXT:RETURN
 2670 k=0:FOR b=6TO36STEP10:IFp%(b,2)=a THEN k=k+1:e=b
 2675 NEXT:RETURN
 2700 GOSUB5020:IFk>1AND k<4AND s<900THEN2800
 2701 IFk=1THENGOSUB620:IFk<9THEN2800
 2705 IFs<220THEN2800
 2710 GOSUB600:H=0:bh=0:FORb=1TO8:v=cd%(b):IFb<3THEN h=2 ELSE h=3
 2711   GOSUB620:IFw=h AND p%(v,0)<>a THENGOSUB6000
 2714   IFs<220THENb=9
 2715 NEXTb:IFbh=1THEN2800
 2780 z=1:H=-1:REPEAT:GOSUB6020
 2785 z=z+1:UNTILz>40ORs<220
 2800 GOSUB600:FORm=1TO8:v=cd%(m):IFp%(v,0)<>a THEN2840
 2802   x=0:GOSUB6100:IFx=0THEN2840
 2804   t=p%(v,9)
 2805   GOSUB620:bh=0:IFm<3THEN h=2 ELSE h=3
 2810   IFk>=9THEN2840
 2815   c=v+3:e=k MOD h:IFm=1THEN c=c-1
 2816   IFe<>2THEN2820
 2817   IFv=12OR v=7OR v=22OR v=17THEN e=3
 2820   FORb=v+e TO c:IFs<t AND x=1THENGOSUB3102
 2825     IFs<t THENb=c+1:GOTO2837
 2830     IFp%(b,8)>0THENp%(b,10)=p%(b,10)+1:PRINT" BEEB buys a house on "CHR$(p%(b,12));P$(b):s=s-p%(b,9):bh=1
 2837   NEXTb:IFbh=1THEN2805
 2840 NEXTm
 2845 m%(a)=s:GOSUB1990:RETURN
 3000 IF s>t THEN3080
 3005 GOSUB6500:GOSUB3100:IFs>t THEN3080
 3010 GOSUB3130:IFs>t THEN3080
 3012 GOSUB900:IFN=2THENGOSUB3200:IF s>t THEN3080
 3015 GOSUB3160:IFs>t THEN3080
 3020 GOSUB6505:GOSUB3200:IFs>t THEN3080
 3030 GOSUB600:GOSUB3130:IFs>t THEN3080
 3035 GOSUB600:GOSUB3160:IFs>t THEN3080
 3040 m%(a)=s:PRINT"BEEB bankrupt":GOSUB7500:s=0:d1=0:t=0:RETURN
 3080 s=s-r%:d=d%(a):PRINTN$(p%(d,2))" receives `";r%:m%(p%(d,2))=m%(p%(d,2))+r%:r%=0:RETURN
 3100 GOSUB600
 3102 d=1:REPEAT:IF p%(d,11)=0AND p%(d,0)<>a AND p%(d,2)=a THENGOSUB3400
 3105 d=d+1:UNTILd>40OR s>t:m%(a)=s:RETURN
 3130 d=1:REPEAT
 3131   IFp%(d,10)>0THEN d=d+3:GOTO3140
 3133   IFd>40THEN3140
 3135   IFp%(d,11)=0AND p%(d,2)=a THENGOSUB3400
 3140 d=d+1:UNTIL s>t OR d>40:RETURN
 3160 d=1:REPEAT:IFp%(d,2)=a ANDp%(d,0)<>a THENGOSUB3420
 3165 d=d+1:UNTIL s>t OR d>40:RETURN
 3200 FORm=8TO1STEP-1:v=cd%(m):IFp%(v,0)<>a THEN3245
 3205   GOSUB620:bh=0:IFm<3THEN H=2 ELSE H=3
 3210   IFk=0THEN3245
 3215   e=k MOD H
 3216   IFe=0 THEN e=3
 3217   IFe=3AND v=38THEN e=2
 3218   IFv<>27AND v<>32THEN3220
 3219   IFe=1THEN e=0
 3220   FORb=e+v TO v STEP-1
 3225     IFp%(b,10)>0THEN s=p%(b,9)DIV2+s:p%(b,10)=p%(b,10)-1:PRINT" BEEB sells a house on "CHR$(p%(b,12));P$(b):bh=1
 3230     IF s>t THEN b=e-1:m=0
 3235   NEXT
 3240   IFbh=1ANDm>0THEN3205
 3245 NEXT:RETURN
 3400 s=s+p%(d,1)DIV2:PRINT" BEEB mortgages"CHR$(p%(d,12));P$(d):p%(d,11)=1:RETURN
 3420 GOSUB5060:PRINT" BEEB will sell"CHR$(p%(d,12));P$(d):PRINT" Enter player No.and highest bid":INPUTb,c:IFm%(b)-c<0THENPRINT" "I$:GOTO3420
 3425 m%(b)=m%(b)-c:PRINTTy$:p%(d,2)=b:s=s+c:m%(a)=s:RETURN
 4500 CLS:PRINT" Welcome":s=m%(c%):hv=a:a=c%:im=0:T=1:j=0:hj=0
 4505 PRINT" Please enter requirements":GOSUB4600:T=0:a=hv:s=m%(a)
 4510 GOSUB4720:hj=j:zh=z1:e2=e1:s=m%(a):j=0:IFim=1THEN819
 4515 PRINT" Please make your offer":FORb=1TO zh:y(b)=q%(b):NEXT:T=1
 4518 GOSUB4600:hv=a:a=c%:T=0:s=m%(c%):GOSUB4720:a=hv:GOSUB1990
 4520 IFim=1THEN819
 4525 IFhj>j THENGOSUB6510:GOSUB1990:GOTO1990
 4530 PRINT"BEEB ACCEPTS":IFz1=0THEN4540
 4535 FORb=1TO z1:p%(q%(b),2)=c%:NEXT
 4540 IFzh=0THEN4550
 4545 FORb=1TO zh:p%(y(b),2)=a:NEXT
 4550 m%(a)=m%(a)+(e2-e1):m%(c%)=m%(c%)+(e1-e2):GOTO1990
 4600 INPUT" Enter amount of cash: "e1:IFe1>s THEN4600
 4605 GOSUB900:IFN=2AND a=c% AND e1>0THENPRINT" I do not buy property with only two"'" players on the board":e1=0
 4610 INPUT" Enter total number of properties: "z1:IFz1>5THEN4610
 4615 IFz1=0THEN4700
 4620 FORb=1 TO z1:GOSUB5050:q%(b)=v:IFp%(v,2)<>a THEN im=1
 4625 NEXT
 4700 PRINT" I'm thinking":IFe1=0THEN4720
 4710 IFs<200THEN j=j+e1*1.4ELSEIF s>900THEN j=j+e1*.7ELSE j=j+e1
 4720 IFz1=0THENRETURN
 4725 FORq=1TO z1:v=q%(q):IFv=13OR v=29THEN4730ELSE4750
 4730   GOSUB2650:IFk=T+1THEN j=j+250
 4735   IFk=T THEN j=j+150
 4740   GOTO4790
 4750   IFv=6OR v=16OR v=26OR v=36THEN4755ELSE4780
 4755   GOSUB2670:j=j+175*(k+T):GOTO4790
 4780   GOSUB620:IFv<5 OR v>36 THEN w=w+1
 4785   j=j+p%(v,1)*(w+T)+(40-v)*4:IFk>0THEN im=1
 4790 j=j+p%(v,1)/(p%(v,11)+1):NEXTq:RETURN
 5000 FORA=1TO8:PRINTCHR$(X);CHR$(157):NEXT:RETURN
 5010 FORb=1TO5:PRINTTAB(15)CHR$(146);J$(b):NEXT:GOSUB1990:RETURN
 5020 k=0:FORb=1TO8:IFp%(cd%(b),0)=a THEN k=k+1:v=cd%(b)
 5025 NEXT:RETURN
 5050 INPUT" Enter Num of property: "v:IFv>40THEN5050
 5055 RETURN
 5060 FORb=1TO n%:IFN$(b)<>""AND b<>c% THENPRINT" ";b;":";N$(b),"`";m%(b)
 5065 NEXT:RETURN
 6000 IFv=38THEN c=40ELSE c=v+3
 6005 FORz=v TO c:GOSUB6020:IFs<220THEN z=c+1
 6015 NEXTz:RETURN
 6020 IFp%(z,11)=1AND p%(z,8)>H AND p%(z,2)=a THENPRINT"BEEB redeems mortgage on"CHR$(p%(z,12));P$(z):s=s-(p%(z,1)DIV2+p%(z,1)DIV20):p%(z,11)=0:bh=1
 6025 RETURN
 6100 FORb=1TO n%:IFN$(b)=""OR b=c% THEN6120
 6105   IFd%(b)>v THEN c=40-d%(b)+v ELSE c=v-d%(b)
 6110   IFc<13THEN x=1
 6120 NEXT:RETURN
 6500 RESTORE16505:GOSUB6600:RETURN
 6505 RESTORE16510:GOSUB6600:RETURN
 6510 RESTORE3144:GOSUB6600:RETURN
 6600 FORT=1TO RND(8):READCM$:NEXT:PRINTCM$:RETURN
 6700 T%=p%(d%(a),10)
 6702 PRINT:IFT%=5THEN 6800
 6705 VDU146:FORA%=1TOT%:VDU32,32,126,53,106,125,32,32,32:NEXT:PRINT
 6710 VDU146:FORA%=1TOT%:VDU254,255,255,255,255,255,255,253,32:NEXT:PRINT
 6715 VDU146:FORA%=1TOT%:VDU255,32,255,255,255,255,32,255,32:NEXT:PRINT
 6720 VDU146:FORA%=1TOT%:VDU255,255,255,255,255,255,255,255,32:NEXT:PRINT
 6725 VDU146:FORA%=1TOT%:VDU255,32,255,255,255,255,32,255,32:NEXT:PRINT
 6730 VDU146:FORA%=1TOT%:VDU255,255,255,32,32,255,255,255,32:NEXT:PRINT
 6735 RETURN
 6800 VDU145:FORA%=1TO10:VDU255,32:NEXT:VDU255:PRINT
 6805 VDU145:FORA%=1TO21:VDU255:NEXT:PRINT
 6810 VDU145:FORB%=1TO10:VDU255,96:NEXT:VDU255:PRINT
 6815 VDU145:FORA%=1TO21:VDU255:NEXT:PRINT
 6820 VDU145:FORB%=1TO10:VDU255,96:NEXT:VDU255:PRINT
 6825 VDU145:FORA%=1TO21:VDU255:NEXT:VDU96,96,107:PRINT:RETURN
 6900 p%(40,2)=c%:p%(38,2)=c%:p%(27,2)=c%:m%(c%)=200:RETURN
 7000 FORb=1TO40:IFp%(b,2)=a THENp%(b,2)=7:p%(b,11)=0:p%(b,10)=0
 7005 NEXT:m%(a)=0:N$(a)="":RETURN
 7500 z=p%(d%(a),2):IFz=0 THEN z=7
 7505 FOR b=1TO40:IFp%(b,2)=a THENp%(b,2)=z:m%(a)=m%(a)+p%(b,9)DIV2*p%(b,10):p%(b,10)=0
 7510 NEXT:m%(z)=m%(z)+m%(a):r%=0:N$(a)="":PRINTN$(z)" receives `";m%(a):m%(a)=0:GOSUB1990:RETURN
 7800 p%(38,2)=c%:p%(40,2)=c%:p%(40,10)=2:p%(38,10)=2:m%(c%)=40:RETURN
 8000 fr=0:DIMP$(40),p%(40,13),d%(6),m%(7),N$(7),V$(6),y(6),D$(6),j%(6),g%(6),cd%(8),q%(5),J$(5)
 8010 FORa=1TO40:READP$(a):NEXT:L$=STRING$(39,CHR$(243))+CHR$8:C$=CHR$(151):T$="Payable `":R$="Rent `":I$="Illegal move":N$(0)="Creditor":N$(7)="THE BANK":Td$="Transfer"
 8020 Tr$="From which player? (enter number)":Tw$="To which player? (enter number)":Ic$="Insufficient capital":Ty$=" Thank you":KL$=STRING$(320,CHR$(32)):Ep$="Enter property Num"
 8025 J$(1)=STRING$(6,CHR$(240))+CHR$(176):J$(2)=STRING$(7,CHR$(181)):J$(3)=J$(2):J$(4)=J$(2):J$(5)=STRING$(6,CHR$(163))+CHR$(161)
 8030 FORa=1TO6:READV$(a):NEXT:Mo$="Mortgage":H$="House(s)":Co$="Computer link":E$="Estate Agent":Q$="Quit Game"
 8040 FORa=1TO8:READcd%(a):NEXT:r%=0:d3=0
 8050 RETURN
 8060 FORa=1TO40:FORb=1TO12:READp%(a,b):NEXT:NEXT
 8065 INPUT"Enter the number of players (Max 5) "n%:n%=n%+1
 8070 FORa=1TOn%:m%(a)=1500:d%(a)=1:NEXT:FORa=1TOn%-1:PRINT"Enter the name of player ";a;": ";:INPUT""D$(a)
 8072   IFLEN(D$(a))>6THENPRINT"NO MORE THAN 6 LETTERS!":a=a-1
 8074 NEXT:D$(n%)="BEEB"
 8075 FORa=1TOn%
 8080   y(a)=RND(n%):FORb=1TOa
 8083     IFy(a)=y(b-1)THENa=a-1
 8085 NEXTb:NEXTa
 8087 PRINT"Order of play":FORa=1TOn%:N$(a)=D$(y(a)):IFN$(a)="BEEB"THENc%=a
 8090 PRINT" ";a;": ";N$(a):NEXT
 8100 RETURN
 9000 DATA GO ],OLD KENT RD,COMMUNITY CHEST,WHITECHAPEL,INCOME TAX,KINGS CROSS,ANGEL ISLINGTON,CHANCE,EUSTON ROAD,PENTONVILLE,JAIL/VISITING
 9010 DATA PALL MALL,ELECTRICITY CO.,WHITEHALL,NORTHUMBERLAND AV,MARYLEBONE STATION,BOW STREET,COMMUNITY CHEST,MARLBOROUGH ST.,VINE STREET,FREE PARKING
 9020 DATA THE STRAND,CHANCE,FLEET STREET,TRAFALGAR SQUARE,FENCHURCH ST.STATION,LEICESTER SQUARE,COVENTRY STREET,WATER WORKS,PICCADILLY,GO TO JAIL
 9030 DATA REGENT STREET,OXFORD STREET,COMMUNITY CHEST,BOND STREET,LIVERPOOL ST.STATION,CHANCE,PARK LANE,EXCISE TAX,MAYFAIR
 9035 DATA"*","#","?","&","!","@"
 9036 DATA38,2,7,27,22,17,12,32
 9040 DATA0,0,0,0,0,0,0,0,0,0,0,135
 9050 DATA60,7,2,10,30,90,160,250,50,0,0,134
 9060 DATA0,0,0,0,0,0,0,0,0,0,0,136
 9070 DATA60,7,4,20,60,180,320,450,50,0,0,134
 9080 DATA0,0,0,0,0,0,0,0,0,0,0,135
 9090 DATA200,7,25,25,50,100,200,0,0,0,0,135
 9100 DATA100,7,6,30,90,270,400,550,50,0,0,132
 9110 DATA0,0,0,0,0,0,0,0,0,0,0,136
 9120 DATA100,7,6,30,90,270,400,550,50,0,0,132
 9130 DATA120,7,8,40,100,300,450,600,50,0,0,132
 9140 DATA0,0,0,0,0,0,0,0,0,0,0,135
 9150 DATA140,7,10,50,150,450,625,750,100,0,0,133
 9160 DATA150,7,0,0,0,0,0,0,0,0,0,135
 9170 DATA140,7,10,50,150,450,625,750,100,0,0,133
 9180 DATA160,7,12,60,180,500,700,900,100,0,0,133
 9190 DATA200,7,25,25,50,100,200,0,0,0,0,135
 9200 DATA180,7,14,70,200,550,750,950,100,0,0,134
 9210 DATA0,0,0,0,0,0,0,0,0,0,0,136
 9220 DATA180,7,14,70,200,550,750,950,100,0,0,134
 9230 DATA200,7,16,80,220,600,800,1000,100,0,0,134
 9240 DATA0,0,0,0,0,0,0,0,0,0,0,135
 9250 DATA220,7,18,90,250,700,875,1050,150,0,0,129
 9260 DATA0,0,0,0,0,0,0,0,0,0,0,136
 9270 DATA220,7,18,90,250,700,875,1050,150,0,0,129
 9280 DATA240,7,20,100,300,750,925,1100,150,0,0,129
 9290 DATA200,7,25,25,50,100,200,0,0,0,0,135
 9300 DATA260,7,22,110,330,800,975,1150,150,0,0,131
 9310 DATA260,7,22,110,330,800,975,1150,150,0,0,131
 9320 DATA150,7,0,0,0,0,0,0,0,0,0,135
 9330 DATA280,7,22,120,360,850,1025,1200,150,0,0,131
 9340 DATA0,0,0,0,0,0,0,0,0,0,0,135
 9350 DATA300,7,26,130,390,900,1100,1275,200,0,0,130
 9360 DATA300,7,26,130,390,900,1100,1275,200,0,0,130
 9370 DATA0,0,0,0,0,0,0,0,0,0,0,136
 9380 DATA320,7,28,150,450,1000,1200,1400,200,0,0,130
 9390 DATA200,7,25,25,50,100,200,0,0,0,0,135
 9400 DATA0,0,0,0,0,0,0,0,0,0,0,136
 9410 DATA350,7,35,175,500,1100,1300,1500,200,0,0,133
 9420 DATA0,0,0,0,0,0,0,0,0,0,0,135
 9430 DATA400,7,50,200,600,1400,1700,2000,200,0,0,133
10400 REM
10500 CLS:INPUT"Enter file name: "A$:U%=OPENOUT A$:FORA%=1TO40:FORB%=1TO12:PRINT#U%,p%(A%,B%):NEXTB%:NEXTA%
10505 PRINT#U%,n%:FORA%=1TOn%:PRINT#U%,j%(A%),g%(A%),m%(A%),d%(A%),N$(A%):NEXT:PRINT#U%,c%:CLOSE#U%:RETURN
10800 REM
11000 INPUT"Enter file name: "A$:U%=OPENIN A$:IF U%=0 PRINT"No file of that name":GOTO11000
11001 FORA%=1TO40:FORB%=1TO12:INPUT#U%,p%(A%,B%):NEXTB%:NEXTA%
11005 INPUT#U%,n%:FORA%=1TOn%:INPUT#U%,j%(A%),g%(A%),m%(A%),d%(A%),N$(A%):NEXT
11010 INPUT#U%,c%:CLOSE#U%:RETURN
12000 CLS:PRINTTAB(9)"Time limit expired"'"Results follow:"
12005 PRINT:FORa=1TO n%:IFN$(a)=""THEN12050
12010   FORb=1TO40:IFp%(b,2)=a THEN m%(a)=m%(a)+p%(b,1)DIV(p%(b,11)+1)+p%(b,10)*p%(b,9)
12025   NEXTb
12050 NEXTa
12060 FORa=1TO n%:IFm%(a)<m%(a+1)AND a<6 THENGOSUB12150
12070 NEXTa
12090 FORa=1TO2:VDU141,132,157,129,136:PRINTN$(1);TAB(15)"`"m%(1);TAB(25)"WINNER":NEXT:GOSUB1990
12100 FORa=2TO n%:PRINTN$(a);TAB(10)"`"m%(a):NEXT:END
12150 k=m%(a+1):k$=N$(a+1):m%(a+1)=m%(a):N$(a+1)=N$(a):N$(a)=k$:m%(a)=k:a=0:RETURN
16200 DATA On yer bike Jimmy,I'm no fool laddy!,The man's a lunatic - no chance!,I may be poor but I'm not daft,I don't do deals with mean types like you,You must be joking!
16205 DATA You'll have to do better,You cannot be serious
16505 DATA Cash is a little short at the moment,Times are hard,It's a result of financial mismanagement,What a way to run a business,"Easy come, easy go!",A mere financial hiccup,Poverty knocks!,I hate being in debt
16510 DATA Things are worse than I thought,Dire financial difficulties,Call for the Chancellor!,The last of the big spenders,Do you take Barclaycard?,I think I'll ask Mr Laker what he'd do,Give us a job
16511 DATA I don't like this game
17000 DEFFNyn:LOCAL A$:INPUT" (Y/N) "A$:IF INSTR("Yy",LEFT$(A$,1)): ="Y" ELSE ="N"
17010 DEFPROCerr:REPORT:IF INKEY-2 END ELSE ENDPROC