image of READY prompt

Wang2200.org

Listing of file='MONOPOLY' on disk='vmedia/more_games.wvd.zip'

# Sector 854, program filename = 'MONOPOLY'
0010 DIM R$8,K$1,Q(40),P(2),A(2),F$(2)1,X(2),Y(2),C$45,O(2,3),G(2),E(2),Q$(8)5
     ,J$1,M(8),M9$3,B(40),F(40),S(2),X9$1
0020 REM %INITIALISATION
0025 REM Q()=Current state of properties
   : MAT Q=ZER
   : REM J=No of players
   : J=0
   : REM F$=Player character
   : F$(1)=HEX(81)
   : F$(2)=HEX(8B)
   : REM A()=Money count
   : A(1),A(2)=1500
   : REM A1,A2=Dice
   : A1=-1
   : REM F=Rent
   : F=20
0030 REM O()=Goto to jail
   : MAT O=ZER
   : REM X(),Y()=Coordinates
   : X(1),X(2)=22
   : Y(1),Y(2)=70
   : REM Q$()=Quarter
   : INIT("0")Q$()
   : REM B()=N0. of houses
   : MAT B=ZER
0040 PRINT HEX(0306)
0050 REM % BOX
0060 FOR J=0TO 1
   : FOR I=0TO 10
   : PRINT AT(J*21,I*7);BOX(3,7);
   : NEXT I
   : NEXT J
0070 FOR J=0TO 1
   : FOR I=0TO 8
   : PRINT AT(3+I*2,J*68);BOX(2,9);
   : NEXT I
   : NEXT J
0080 REM %STREET NAMES
0090 PRINT HEX(0E);
0100 FOR I=1TO 40
0110 GOSUB 2490
0120 GOSUB 1450
0130 NEXT I
   : PRINT HEX(0F);
0140 REM %OPTIONS
   : GOSUB 150
   : GOTO 230
0150 PRINT AT(4,25);"RETURN  to throw dice"
0160 PRINT AT(9,25);"SFK 12  get out of jail free card"
0170 PRINT AT(5,25);"SFK  0  to pay"
0180 PRINT AT(10,25);"SFK 15  to stop"
0190 PRINT AT(7,25);"SFK  6  to repay mortgage"
0200 PRINT AT(6,25);"SFK  4  to mortgage"
0210 PRINT AT(8,25);"SFK  8  to build"
0220 PRINT AT(11,25);"SFK 26  to trade"
   : RETURN
0230 FOR J=1TO 2
0240 P(J)=1
   : GOSUB 600
0250 GOSUB 1560
   : NEXT J
   : J=0
0260 REM %START
   : D=0
0270 IF A1=A2THEN 280
   : D=0
   : J=J+1
   : IF J=3THEN J=1
0280 D=D+1
   : GOSUB 300
0290 IF O(J,1)=1THEN 310
   : GOTO 450
0300 PRINT AT(6,57,6);A(J);AT(5,55);BOX(2,9);" Play ";F$(J);AT(8,56);"Cards";O
     (J,3);
   : RETURN
0310 C$="Go directly to jail. "
   : GOSUB 1380
   : P(J)=11
   : GOSUB 600
   : GOSUB 1540
0320 KEYIN K$,,330
0330 IF K$=HEX(04)THEN 340
   : IF K$=HEX(00)THEN 350
   : IF K$=HEX(0D)THEN 380
   : IF K$=HEX(0C)THEN 420
   : GOTO 320
0340 GOSUB 1830
   : GOTO 310
0350 REM %GET OF OF JAIL BY PAYING
   : T=50
   : IF A(J)<TTHEN 360
   : GOTO 370
0360 GOSUB 1730
   : GOTO 320
0370 A(J)=A(J)-T
   : O(J,1),O(J,2)=0
   : D=0
   : C$="You have payed : you can now play"
   : GOSUB 1510
   : GOTO 280
0380 REM %GET OUT OF JAIL ON DOUBLES
   : O(J,2)=O(J,2)+1
   : IF O(J,2)=3THEN 390
   : GOTO 400
0390 O(J,1),O(J,2)=0
   : GOTO 280
0400 GOSUB 950
   : IF A1=A2THEN 410
   : PRINT AT(6,12);A1;" ";A2;
   : C$="No good. You are still in jail"
   : GOSUB 1510
   : X=22
   : Y=1
   : GOSUB 1560
   : GOTO 270
0410 X(J)=22
   : Y(J)=1
   : O(J,1),O(J,2)=0
   : GOSUB 1580
   : GOTO 520
0420 REM %GET OUT OF JAIL FREE CARD
   : IF O(J,3)>0THEN 440
0430 C$="You don't have the card !!!"
   : GOSUB 1510
   : GOTO 310
0440 O(J,3)=O(J,3)-1
   : O(J,1),O(J,2)=0
   : D=0
   : GOSUB 300
0450 GOSUB 1430
   : C$="Play "&F$(J)
   : GOSUB 1380
0460 KEYIN K$,,470
0470 IF D=4THEN 1740
   : IF K$=HEX(04)THEN 480
   : IF K$=HEX(06)THEN 490
   : IF K$=HEX(0D)THEN 500
   : IF K$=HEX(08)THEN 2200
   : IF K$=HEX(1A)THEN 2760
   : GOTO 460
0480 GOSUB 1830
   : GOTO 450
0490 GOSUB 2030
   : GOTO 450
0500 IF P(J)=11THEN GOSUB 1580
   : PRINT AT(23,71+J,1);
0510 GOSUB 950
0520 GOSUB 530
   : GOTO 540
0530 PRINT AT(5,12);BOX(2,9);"  Dice";AT(6,13);A1;" ";A2;
   : RETURN
0540 PRINT AT(X(J)+1,Y(J)+J,1);
0550 P(J)=P(J)+A1+A2
   : IF P(J)>40THEN 560
   : GOTO 570
0560 P(J)=P(J)-40
   : A(J)=A(J)+200
   : IF P(J)=1THEN A(J)=A(J)+200
0570 GOSUB 300
0580 Q0=INT((P(J)-1)/5)+1
   : S0=P(J)-((Q0-1)*5)
   : GOSUB 600
   : GOTO 620
0590 REM % FIND PROPERTY
0600 RESTORE
0610 FOR I=1TO P(J)
   : GOSUB 2490
   : NEXT I
   : RETURN
0620 GOSUB 1540
0630 X(J)=X
   : Y(J)=Y
0640 ON P(J)GOTO 1020,650,1040,650,1220,650,650,1040,650,650,1280,650,650,650,
     650,650,650,1040,650,650,1310,650,1040,650,650,650,650,650,650,650,1340,6
     50,650,1040,650,650,1040,650,1350,650
0650 Z=0
   : M=Q(P(J))
   : IF M=0THEN 810
   : IF M=JTHEN 880
   : IF M=3OR M=4 THEN 870
0660 PRINT AT(16,15,40);HEX(0E);"OWNED BY PLAYER ";M
0670 IF P(J)=13OR P(J)=29THEN L0=((A1+A2)*2)*(1+(4*(E(M)-1)))
0680 IF P(J)=6OR P(J)=16OR P(J)=26OR P(J)=36THEN L0=25*(2^(G(M)-1))
0690 IF O(M,1)=1THEN 740
0700 IF M(Q0)=MTHEN Z=1
0710 L0=L0*(1+Z+(B(P(J))*9))
   : F=L0
0720 PRINT AT(17,20);"Pay ";L0;"$"
   : GOTO 750
0730 C$="Thank you!!!"
   : GOSUB 1510
   : RETURN
0740 PRINT AT(17,20);"Owner in jail!!"
   : F=0
   : GOSUB 1410
   : GOTO 860
0750 KEYIN K$,,760
0760 IF K$=HEX(00)THEN 790
0770 IF K$=HEX(04)THEN 780
   : GOTO 720
0780 GOSUB 1830
   : GOTO 720
0790 IF A(J)<FTHEN 800
   : A(J)=A(J)-F
   : A(M)=A(M)+F
   : GOSUB 730
   : GOTO 860
0800 GOSUB 1730
   : GOTO 720
0810 PRINT AT(16,15,50);HEX(0E);"FOR SALE  ";HEX(0F);"Do you want to buy it fo
     r $";P0;" (Y/N) ";
0820 KEYIN K$,,830
0830 IF K$=HEX(04)THEN 840
   : IF K$="Y"THEN 890
   : IF K$="N"THEN 850
   : GOTO 820
0840 GOSUB 1830
   : GOTO 810
0850 GOSUB 1550
   : GOTO 270
0860 GOSUB 1450
   : GOSUB 1470
   : GOTO 270
0870 C$="Hypothqu} !!"
   : GOSUB 1510
   : GOSUB 1440
   : GOSUB 1460
   : GOTO 270
0880 C$="You own this property "
   : GOSUB 1510
   : GOSUB 1440
   : GOSUB 1460
   : GOTO 270
0890 IF A(J)>P0THEN 900
   : GOSUB 1730
   : GOSUB 1470
   : GOTO 810
0900 A(J)=A(J)-P0
   : Q(P(J))=J
   : IF P(J)=6OR P(J)=16OR P(J)=26OR P(J)=36THEN G(J)=G(J)+1
   : PRINT AT(X+1,Y-1);J;
0910 IF P(J)=13OR P(J)=29THEN E(J)=E(J)+1
0920 GOSUB 1770
0930 GOTO 860
0940 REM % DES
0950 A1=INT(RND(1)*6)+1
   : A2=INT(RND(1)*6)+1
   :          RETURN
0960 REM % DATAS
0970 DATA 22,71,0,0,"GO"," ",22,64,40,4,"Med Av","*",22,57,0,0,"CHANCE"," "
0975 DATA 22,50,60,6,"Baltic","*",22,43,0,0,"TAX"," ",22,36,200,25,"RR #1"," "
     ,22,29,70,8,"Orient","@",22,22,0,0,"CHANCE"," ",22,15,70,8,"Vermnt","@",2
     2,8,80,10,"Conn.","@",22,1,0,0,"JAIL"," "
0980 DATA 19,1,100,10,"St Cha","#",17,1,150,15,"POWER"," "
0985 DATA 15,1,100,10,"State","#",13,1,120,12,"Virginia","#",11,1,200,25,"RR #
     2"," ",9,1,130,13,"St james","&",7,1,0,0,"CHANCE"," ",5,1,130,13,"Tennese
     e","&",3,1,150,15,"New York","&",1,1,0,0,"PARK"," "
0990 DATA 1,8,160,16,"Kentuk","%",1,15,0,0,"CHANCE"," "
0995 DATA 1,22,160,16,"Ind.  ","%",1,29,180,18,"Ill.","%",1,36,200,25,"RR #3",
     " ",1,43,200,20,"Atlant","!",1,50,200,20,"Ventor","!",1,57,150,15,"WATER"
     ," ",1,64,220,22,"Marvin","!",1,71,0,0,"STOP"," "
1000 DATA 3,69,260,26,"Pacific","^",5,69,280,28,"Carolina","^"
1005 DATA 7,69,0,0,"CHANCE"," ",9,69,300,30,"Penn.","^",11,69,200,25,"RR #4","
      ",13,69,0,0,"CHANCE"," ",15,69,350,35,"Park Ave","$",17,69,0,0,"TAX"," "
     ,19,69,400,40,"Boardwlk","$"
1010 DEFFN'31
   : SCRATCH T"MONOPOLY"
   : SAVE DC T()"MONOPOLY"
   : STOP
1020 REM %GO
1030 C$="You are on GO"
   : GOSUB 1510
   : GOSUB 1560
   : GOTO 270
1040 REM %CHANCE
1050 GOSUB 1620
   : GOSUB 1660
   : GOSUB 1510
1060 ON TGOTO 1070,1100,1110,1120,1130,1170,1180
   : IF T<0THEN 1270
   : GOSUB 1380
   : GOTO 1240
1070 REM %IN JAIL
1080 GOSUB 1640
   : GOSUB 1580
1090 RESTORE
   : P(J)=11
   : X(J)=22
   : Y(J)=1
   : O(J,1)=1
   : O(J,2)=0
   : GOSUB 600
   : GOSUB 1560
   : A1=0
   : GOTO 270
1100 REM %BACKUP
   : GOSUB 1640
   : GOSUB 1580
   : P(J)=P(J)-2
   : GOTO 570
1110 REM %EXIT
   : O(J,3)=O(J,3)+1
   : GOTO 1200
1120 REM %BOARD
   : GOSUB 1640
   : GOSUB 1580
   : RESTORE
   : P(J)=40
   : GOTO 570
1130 REM %RR
   : GOSUB 1640
   : GOSUB 1580
   : RESTORE
1140 IF P(J)=3THEN P(J)=6
   : IF P(J)=8THEN P(J)=16
   : IF P(J)=18OR P(J)=23THEN P(J)=26
   : IF P(J)=34THEN P(J)=36
   : IF P(J)=37THEN 1150
   : GOTO 1160
1150 A(J)=A(J)+200
   : P(J)=6
1160 GOTO 570
1170 REM %NY
   : GOSUB 1640
   : GOSUB 1580
   : RESTORE
   : IF P(J)>20THEN A(J)=A(J)+200
   : P(J)=20
   : GOTO 570
1180 REM %UTILITY
   : GOSUB 1640
   : GOSUB 1580
   : RESTORE
   : IF P(J)=3OR P(J)=8THEN P(J)=13
   : IF P(J)=18OR P(J)=23THEN P(J)=29
   : IF P(J)=34OR P(J)=37THEN 1190
   : GOTO 1160
1190 A(J)=A(J)+200
   : P(J)=13
   : GOTO 1160
1200 GOSUB 1640
   : GOSUB 1560
   : GOTO 270
1210 GOSUB 1630
   : GOSUB 1380
   : GOTO 1240
1220 REM %TAX 1
1230 C$="Pay taxes direct $200"
   : GOSUB 1380
   : T=200
   : P1=P(J)
1240 KEYIN K$,,1250
1250 IF K$=HEX(00)THEN 1270
   : IF K$=HEX(04)THEN 1260
   : GOTO 1240
1255 $BREAK25
1260 GOSUB 1830
1270 IF A(J)<TTHEN 1600
   : A(J)=A(J)-T
   : GOSUB 1640
   : GOSUB 1560
   : GOSUB 730
   : GOTO 270
1280 REM %VISIT JAIL
1290 IF O(J,1)=1THEN 1300
   : C$="Just visiting"
   : GOSUB 1510
1300 GOSUB 1560
   : GOTO 270
1310 REM %PARKING
1320 C$="You are on FREE PARKING"
   : GOSUB 1510
   : GOSUB 1560
   : GOTO 270
1330 REM %STOP
1340 C$="STOP. Go dirrectly to jail. Do not pass GO."
   : GOSUB 1510
   : GOSUB 1530
   : PRINT AT(2,71,4);
   : P(J)=11
   : O(J,1)=1
   : O(J,2)=0
   : A1=0
   : GOTO 570
1350 REM %TAX 2
1360 C$="Pay luxury taxes $75 "
   : GOSUB 1380
   : T=75
   : P1=P(J)
   : GOTO 1240
1370 REM %COMMENTAIRE
1380 PRINT AT(16,15,49);C$
   : RETURN
1390 PRINT AT(17,15,49);C$
   : RETURN
1400 REM %DELAY
1410 FOR I=1TO 5000
   : NEXT I
1420 REM %FAC C$
1430 PRINT AT(16,15,49);AT(17,15,49);
   : RETURN
1440 REM %PRINT STREET
1450 PRINT AT(X,Y);R$;AT(X+1,Y+5);X9$;AT(X,Y);
   : RETURN
1460 REM %PRINT PLAYER
1470 PRINT AT(X+1,Y+J);F$(J);
   : RETURN
1480 REM %FAC PLAYER
1490 PRINT AT(X+1,Y+J,1);
   : RETURN
1500 REM %BOUCLE C$
1510 GOSUB 1380
   : GOSUB 1410
   : RETURN
1520 REM %STREET + PLAYER  HEX(0E)
1530 PRINT HEX(0E);
   : GOSUB 1450
   : GOSUB 1470
   : PRINT HEX(0F);
   : RETURN
1540 PRINT HEX(02040B000E);
   : GOSUB 1450
   : GOSUB 1470
   : PRINT HEX(020402000F);
   : RETURN
1550 REM %STREET HEX(0E) + PLAYER HEX(0F)
1560 PRINT HEX(0E);
   : GOSUB 1450
   : PRINT HEX(0F);
   : GOSUB 1470
   : RETURN
1570 REM %STREET HEX(0E) - PLAYER
1580 PRINT HEX(0E);
   : GOSUB 1450
   : PRINT HEX(0F);
   : GOSUB 1490
   : RETURN
1590 REM %NO MONEY
1600 GOSUB 1730
   : GOSUB 1530
   : IF T=75THEN 1360
   : IF T=200THEN 1230
   : GOTO 1210
1610 REM %READ STREET DATA
1620 P1=P(J)
   : P(J)=40
   : GOSUB 600
   : RETURN
1630 REM %RETURN POSITION
1640 P(J)=P1
   : GOSUB 600
   : RETURN
1650 REM %CARD
1660 C=INT(RND(1)*16)+1
1670 FOR I=1TO C
   : READ C$,T
   : NEXT I
1680 RETURN
1690 REM %CARD DATA
1700 DATA "You are arrested for public nusance",1,"You inherite $100",-100,"Yo
     ur actions earn you $200",-200,"You win 2nd prize in a beauty contest ($1
     5)",-15
1710 DATA "Backup 2 spaces",2,"Tax refund $50",-50,"Get out of jail free",3,"G
     o to BOARDWALK",4,"Go to next railroad",5,"Go to New York Avenue",6
1720 DATA "Go to next utility",7,"Pay taxes $100",100,"Pay hopital bill $150",
     150,"Speedin ticket: Pay $100",100,"Pay$ 50 to other player",50,"Take $50
      form other player",-50
1730 C$="You don't have enough money !!!"
   : GOSUB 1510
   : RETURN
1740 REM % JAIL BY DOUBLES
1750 GOSUB 600
   : GOSUB 1490
   : D=0
   : C$="3 doubles ---> go to jail!!!"
   : GOSUB 1380
   : GOSUB 1410
   : GOTO 1090
1760 REM % QUARTER
   : REM STREETS IN 590
1770 CONVERT JTO STR(Q$(Q0),S0,1),(#)
   : CONVERT JTO J$,(#)
1780 ON Q0GOTO 1790,1800,1800,1800,1800,1810,1810,1820
1790 REM %MED/BAL
   : IF STR(Q$(1),2,1)=J$ AND STR(Q$(1),4,1)=J$THEN M(1)=J
   : RETURN
1800 REM %OR A ILL
   : IF STR(Q$(Q0),2,1)=J$ AND STR(Q$(Q0),4,1)=J$AND STR(Q$(Q0),5,1)=J$ THEN M
     (Q0)=J
   : RETURN
1810 REM %ATL TO PEN
   : IF STR(Q$(Q0),2,1)=J$ AND STR(Q$(Q0),3,1)=J$AND STR(Q$(Q0),5,1)=J$ THEN M
     (Q0)=J
   : RETURN
1820 REM %PAR/BOA
   : IF STR(Q$(8),3,1)=J$ AND STR(Q$(8),5,1)=J$ THEN M(8)=J
   : RETURN
1830 REM %MORTGAGE
1840 C$="Key 'M' to mortgage"
   : GOSUB 1380
1850 P1=P(J)
1860 CONVERT JTO J$,(#)
1870 RESTORE
1880 FOR I=1TO 40
1890 GOSUB 2490
1900 ON IGOTO 1910,1920,1910,1920,1910,1920,1920,1910,1920,1920,1910,1920,1920
     ,1920,1920,1920,1920,1910,1920,1920,1910,1920,1910,1920,1920,1920,1920,19
     20,1920,1920,1910,1920,1920,1910,1920,1920,1910,1920,1910,1920
1910 NEXT I
   : GOTO 2010
1920 IF B(I)<>0THEN 1910
   : IF Q(I)=JTHEN 1930
   : GOTO 1910
1930 GOSUB 1980
1940 PRINT AT(16,40,5);P0/2;"F"
1950 KEYIN K$,,1960
1960 IF K$="M"THEN 1970
   : GOSUB 2020
   : GOTO 1910
1970 Q(I)=Q(I)+2
   : GOSUB 1990
   : GOTO 1910
1980 PRINT AT(X+1,Y);HEX(020404040E);J$;HEX(020402000F);
   : RETURN
1990 A(J)=A(J)+(P0/2)
   : GOSUB 300
2000 PRINT AT(X+1,Y);HEX(020404000E);J$;HEX(020402000F);
   : RETURN
2010 REM %EXIT MORTGAGE
   : PRINT AT(16,40,6);
   : GOSUB 1640
   : RETURN
2020 PRINT AT(X+1,Y);J$;
   : RETURN
2030 REM %REPAY MORTGAGE
2040 P1=P(J)
2050 C$="Key R to repay mortgage"
   : GOSUB 1380
2060 RESTORE
2070 FOR I=1TO 40
2080 GOSUB 2490
2090 ON IGOTO 2100,2110,2100,2110,2100,2110,2110,2100,2110,2110,2100,2110,2110
     ,2110,2110,2110,2110,2100,2110,2110,2100,2110,2100,2110,2110,2110,2110,21
     10,2110,2110,2100,2110,2110,2100,2110,2110,2100,2110,2100,2110
2100 NEXT I
   : GOTO 2190
2110 IF Q(I)=J+2THEN 2120
   : GOTO 2100
2120 CONVERT JTO J$,(#)
   : PRINT AT(X+1,Y);HEX(020404040E);J$;HEX(020402000F);
2130 PRINT AT(16,50,5);INT((P0/2)*1.1);"$"
2140 KEYIN K$,,2150
2150 IF K$="R"THEN 2160
   : GOSUB 2000
   : GOTO 2100
2160 IF A(J)>INT((P0/2)*1.1)THEN 2170
   : GOSUB 1730
   : GOSUB 2000
   : GOTO 2100
2170 A(J)=A(J)-INT((P0/2)*1.1)
   : GOSUB 300
   : GOSUB 2020
2180 Q(I)=Q(I)-2
   : GOTO 2100
2190 REM %EXIT REPAY
   : PRINT AT(16,45,6);
   : GOSUB 1640
   : RETURN
2200 REM %IMMOB
2210 W=0
   : FOR I=1TO 8
   : IF M(I)=JTHEN 2230
   : NEXT I
   : IF W<>0THEN 450
2220 C$="You do not have a complete quarter!!!"
   : GOSUB 1510
   : GOTO 450
2230 P1=P(J)
2240 RESTORE
2250 FOR C=1TO ((I-1)*5)+1
   : GOSUB 2490
   : NEXT C
2260 ON IGOTO 2280,2290,2300,2310,2320,2330,2340,2350
2270 REM %Q1
   : X=1
2280 W=2
   : GOSUB 2500
   : GOSUB 2490
   : W=4
   : GOSUB 2500
   : GOTO 2410
2290 W=7
   : GOSUB 2500
   : GOSUB 2490
   : W=9
   : GOSUB 2500
   : W=10
   : GOSUB 2500
   : GOTO 2410
2300 W=12
   : GOSUB 2500
   : GOSUB 2490
   : W=14
   : GOSUB 2500
   : W=15
   : GOSUB 2500
   : GOTO 2410
2310 W=17
   : GOSUB 2500
   : GOSUB 2490
   : W=19
   : GOSUB 2500
   : W=20
   : GOSUB 2500
   : GOTO 2410
2320 W=22
   : GOSUB 2500
   : GOSUB 2490
   : W=24
   : GOSUB 2500
   : W=25
   : GOSUB 2500
   : GOTO 2410
2330 W=27
   : GOSUB 2500
   : W=28
   : GOSUB 2500
   : GOSUB 2490
   : W=30
   : GOSUB 2500
   : GOTO 2410
2340 W=32
   : GOSUB 2500
   : W=33
   : GOSUB 2500
   : GOSUB 2490
   : W=35
   : GOSUB 2500
   : GOTO 2410
2350 GOSUB 2490
   : W=38
   : GOSUB 2500
   : GOSUB 2490
   : W=40
   : GOSUB 2500
   : GOTO 2410
2360 KEYIN K$,,2370
2370 IF K$="+"THEN 2380
   : IF K$="-"THEN 2420
   : IF B(W)=0THEN 2460
   : GOTO 2530
2380 IF A(J)>M9THEN 2390
   : GOSUB 1730
   : I=8
   : RETURN
2390 A(J)=A(J)-M9
   : B(W)=B(W)+1
2400 GOSUB 300
   : IF B(W)=5THEN 2540
   : GOTO 2530
2410 NEXT I
   : GOTO 450
2420 IF B(W)>0THEN 2440
2430 C$="You do not have a house !!"
   : GOSUB 1510
   : GOTO 450
2440 A(J)=A(J)+INT(M9*2/3)
   : B(W)=B(W)-1
   : IF B(W)=0THEN 2460
   : GOTO 2400
2450 REM % NO HOUSES
2460 PRINT AT(X+1,Y+4,2);
   : RETURN
2470 REM %?HOUSES
2480 PRINT AT(X+1,Y+5);HEX(020400020E);"?";HEX(020402000F);
   : RETURN
2490 READ X,Y,P0,L0,R$,X9$
   : RETURN
2500 IF B(W)=5THEN RETURN
   : GOSUB 2510
   : M9=I*25
   : CONVERT M9TO M9$,(###)
   : CONVERT INT(M9*2/3)TO M8$,(###)
   : GOTO 2560
2510 GOSUB 2490
   : GOSUB 2470
   : RETURN
2520 REM %HOUSES
2530 PRINT AT(X+1,Y+3);B(W);AT(X+1,Y+5);HEX(020400020E);"h";HEX(020402000F);
   : RETURN
2540 PRINT AT(X+1,Y+4);" ";HEX(020400020E);"H";HEX(020402000F);
   : RETURN
2550 REM %HOUSES?
2560 C$="+ for 1 additional house at $"&M9$
   : GOSUB 1380
2570 C$="- for 1 less house at $"&M8$
   : GOSUB 1390
2580 GOTO 2360
2590 REM %CURRENT STATUS
2600 PRINT HEX(0306)
   : P1=P(J)
   : RESTORE
2610 FOR J5=0TO 1
   : FOR I=0TO 10
   : PRINT AT(J5*21,I*7);BOX(3,7);
   : NEXT I
   : NEXT J5
2620 FOR J5=0TO 1
   : FOR I=0TO 8
   : PRINT AT(3+I*2,J5*68);BOX(2,9);
   : NEXT I
   : NEXT J5
2630 J5=J
2640 FOR I=1TO 40
   : GOSUB 2490
2650 ON Q(I)GOTO 2670,2670,2680,2680
2660 GOSUB 1580
   : GOTO 2690
2670 J=Q(I)
   : GOSUB 1450
   : CONVERT JTO J$,(#)
   : GOSUB 2020
   : GOTO 2690
2680 J=Q(I)-2
   : GOSUB 1450
   : CONVERT JTO J$,(#)
   : GOSUB 2000
2690 IF P(1)=I THEN 2700
   : IF P(2)=ITHEN 2710
   : GOTO 2720
2700 J=1
   : GOSUB 1470
   : IF P(2)=ITHEN 2710
   : GOTO 2720
2710 J=2
   : GOSUB 1470
2720 NEXT I
   : J=J5
   : P(J)=P1
2730 GOSUB 150
   : GOSUB 300
   : GOSUB 1640
2740 GOSUB 530
2750 GOTO 450
2760 REM %TRADES
2770 GOSUB 2780
   : GOTO 2790
2780 FOR I=4TO 18
   : PRINT AT(I,12,55);
   : NEXT I
   : RETURN
2790 PRINT HEX(0E);AT(4,35);"TRADES"
   : P1=P(J)
2800 RESTORE
2810 FOR I=1TO 40
2820 GOSUB 2490
   : GOSUB 3010
2830 IF Q(I)=1THEN 2920
   : IF Q(I)=2THEN 2930
2840 GOSUB 3040
   : NEXT I
   : GOTO 3060
2850 C$="Are you in aggreement (Y/N) ? "
   : GOSUB 1380
2860 KEYIN K$,,2870
2870 IF K$="Y"THEN 2880
   : GOTO 2800
2880 A(1)=A(1)+S(2)-S(1)
   : A(2)=A(2)+S(1)-S(2)
2890 RESTORE
   : FOR I=1TO 40
   : GOSUB 2490
   : IF F(I)<>0THEN 2900
   : GOTO 2910
2900 GOSUB 3040
   : GOSUB 1450
   : IF Q(I)=1THEN Q(I)=2
   : ELSE Q(I)=1
   : CONVERT Q(I)TO J$,(#)
   : GOSUB 2020
2910 NEXT I
   : GOSUB 2780
   : GOSUB 150
   : GOSUB 300
   : GOSUB 530
   : GOTO 450
2920 J$="1"
   : GOSUB 2990
   : GOSUB 3050
   : GOTO 2940
2930 J$="2"
   : GOSUB 3000
   : GOSUB 3050
   : GOTO 2940
2940 C$="Do you want to trade (Y/N) ? "
   : GOSUB 1380
2950 KEYIN K$,,2960
2960 IF K$="Y"THEN 2980
2970 GOSUB 3040
   : GOSUB 1450
   : GOSUB 2020
   : GOTO 2840
2980 F(I)=Q(I)
   : GOSUB 3030
   : GOSUB 1450
   : GOSUB 2020
   : GOTO 2840
2990 PRINT AT(5,13);HEX(0E);"Play";HEX(810F);
   : RETURN
3000 PRINT AT(5,56);HEX(0E);"Play";HEX(8B0F);
   : RETURN
3010 PRINT AT(5,13,10);AT(5,56,10);
   : RETURN
3020 PRINT HEX(020404020E);
   : RETURN
3030 PRINT HEX(020400020E);
   : RETURN
3040 PRINT HEX(020402000F);
   : RETURN
3050 GOSUB 3020
   : GOSUB 1450
   : GOSUB 2020
   : GOSUB 3040
   : RETURN
3060 C$="Re-embursement (Y/N) ?"
   : GOSUB 1380
3070 KEYIN K$,,3080
3080 IF K$="Y"THEN 3090
   : GOTO 2850
3090 GOSUB 2990
   : GOSUB 3000
   : PRINT AT(6,13);A(1);"$";AT(6,56);A(2);"$"
3100 FOR I=1TO 2
   : GOSUB 1430
   : C$="Play "&F$(I)
   : GOSUB 1380
3110 PRINT AT(17,15,40);"Ammount of money (in $) ";
   : INPUT S(I)
3120 IF S(I)>A(I)THEN 3140
3130 NEXT I
   : GOTO 2850
3140 PRINT AT(17,15);"You do not have enough money !!!"
   : GOSUB 1410
   : GOTO 3110
3150 STOP
6000 FOR J=0TO 1
   : FOR I=0TO 10
   : PRINT AT(J*21+2,I*7+6);"*";AT(J*21,I*7)
   : NEXT I
   : NEXT J
   : RETURN
6010 FOR J=0TO 1
   : FOR I=0TO 8
   : PRINT AT((3+I*2)+1,J*68+8);"*";AT(3+I*2,J*68)
   : NEXT I
   : NEXT J
   : RETURN