1 REM MONOPOLY GAME BY DAVID BARKER, SOUTHEASTERN STATE COLLEGE, DURANT, OK 2 REM SLIGHT PROGRAM MODIFICATIONS BY DAVID AHL, DIGITAL 3 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 4 M(1)=1500\M(2)=1500\I(1)=0\I(2)=0\DIM A$(26,21),B$(26,21),H(40) 5 DIM O$(21),G$(40,21),P$(21),L(40),P(40),R(40),C$(10,39),Z$(10,38),M$(20,60) 6 P$="HOW MANY HOUSES AT $"\O$=" EACH DO YOU WANT ON" 7 DEF FNR(H,I,Z,R)=(H(I(Z))*R(I(Z))*10) 8 FOR I=1 TO 40\L(I)=0\H(I)=0\NEXT I 9 FOR I=1 TO 8\U(I)=0\NEXT I 10 FILE #1:"RKB0:MONPLY.B1" 11 FOR I=1 TO 40\INPUT #1:G$(I)\NEXT I 12 FOR I=1 TO 20\INPUT #1:M$(I)\NEXT I 13 FOR I=1 TO 10\INPUT #1:C$(I)\NEXT I 14 FOR I=1 TO 10\INPUT #1:Z$(I)\NEXT I 15 PRINT M$(1)\PRINT\PRINT\PRINT"**RULES**"\PRINT M$(2) 16 PRINT M$(3)\PRINT M$(4)\PRINT M$(5)\CLOSE #1 17 FOR I=1 TO 40\READ P(I),R(I)\NEXT I 18 DATA 60,2,0,0,60,4,0,0,200,25,100,6,0,0,100,6,120,8,0,0 19 DATA 140,10,150,35,140,10,160,12,200,25,180,14,0,0 20 DATA 180,14,200,16,0,0,220,18,0,0,220,18,240,20,200,25 21 DATA 260,22,260,22,150,35,280,24,0,0,300,26,300,26,0,0 22 DATA 320,28,200,25,0,0,350,35,0,0,400,50,0,0 23 RESTORE 24 DIM V$(21) 25 DIM P$(20) 26 DIM N$(2,8) 30 PRINT"WHO IS PLAYER #1";\INPUT N$(1) 40 PRINT"WHO IS PLAYER #2";\INPUT N$(2) 100 PRINT\PRINT "**";N$(1);"'S TURN**********"\F=0 102 Z=1\GOSUB 1000 103 GOSUB 2000 115 IF D<>D1 GOTO 117\F=F+1\IF F=>3 GOTO 117\PRINTM$(9)\GOTO 102 117 IF F<>3 GOTO 200\PRINT M$(10)\I(Z)=10\M(Z)=M(Z)-50 200 PRINT\PRINT"**";N$(2);"'S TURN**********"\F=0 202 Z=2\GOSUB 1000 203 GOSUB 2000 215 IF D<>D1 GOTO 217\F=F+1\IF F>=3 GOTO 217\PRINTM$(9)\GOTO202 217 IF F<>3GOTO225\PRINT M$(10)\I(Z)=10\M(Z)=M(Z)-50 225 PRINT M$(11);\INPUT F$\IF F$="QUIT" THEN 30000\GOTO 100 999 REM DICE ROLL 1000 PRINT M$(6);\INPUT F$\RANDOMIZE\X=RND(0)\Y=RND(0) 1004 D=INT(X*6+1)\D1=INT(Y*6+1) 1015 PRINT "YOU ROLLED A";D;"AND A";D1\I(Z)=I(Z)+(D+D1) 1016 IF I(Z)=<40GOTO1017\I(Z)=I(Z)-40\M(Z)=M(Z)+200 1017 RETURN 1999 REM PLACEMENT 2000 PRINT"YOU ARE ON ";G$(I(Z)) 2001 REM COM CHEST 2002 IF I(Z)=2 THEN 4100\IFI(Z)=17THEN4100\IFI(Z)=33THEN4100 2003 REM INC TAX 2004 IFI(Z)<>4THEN2006\M(Z)=M(Z)-200\RETURN 2005 REM CHANCE 2006 IFI(Z)=7THEN4400\IFI(Z)=22THEN4400\IFI(Z)=36THEN4400 2007 REM VISIT IN JAIL OR FREE PARKING 2008 IFI(Z)=10THEN2014\IFI(Z)=20THEN2014 2009 REM JAIL 2010 IFI(Z)<>30THEN2011\M(Z)=M(Z)-50\I(Z)=10\RETURN 2011 IFI(Z)<>38THEN2012\M(Z)=M(Z)-75\RETURN\REM LUX TAX 2012 IFI(Z)<>40THEN2018\M(Z)=M(Z)+200\I(Z)=0\RETURN\REM GO 2014 RETURN 2018 IFL(I(Z))<>Z THEN 2019\PRINT M$(12)\GOTO 3100 2019 IFH(I(Z))<>0GOTO2020\IFL(I(Z))=<0GOTO2020\IFL(I(Z))<>ZTHEN2125 2020 IFH(I(Z))=<0GOTO2022\IFL(I(Z))=<0GOTO2022\IFL(I(Z))<>ZTHEN2100 2022 PRINT M$(7);P(I(Z));"DOLLARS" 2024 PRINT M$(8);\INPUT F$\ IF F$<>"BUY" THEN 3100 2026 M(Z)=M(Z)-P(I(Z))\PRINT "YOU NOW HAVE";M(Z);"DOLLARS" 2027 L(I(Z))=Z\GOTO 3100 2100 IF Z<>1 THEN 2101\M(Z)=M(Z)-FNR(H,I,Z,R)\M(2)=M(2)+FNR(H,I,Z,R) 2101 PRINT "YOU OWE";FNR(H,I,Z,R);"DOLLARS RENT"\RETURN 2102 IF Z<>2 THEN 2103\M(Z)=M(Z)-FNR(H,I,Z,R)\M(1)=M(1)+FNR(H,I,Z,R) 2103 PRINT "YOU OWE";FNR(H,I,Z,R);"DOLLARS RENT"\RETURN 2125 IFZ<>1 THEN 2126\M(Z)=M(Z)-R(I(Z))\M(2)=M(2)+R(I(Z)) 2126 PRINT "YOU OWE";R(I(Z));"DOLLARS RENT"\RETURN 2127 IF Z<>2 THEN 2128\M(Z)=M(Z)-R(I(Z))\M(1)=M(1)+R(I(Z)) 2128 PRINT "YOU OWE";R(I(Z));"DOLLARS RENT"\RETURN 3100 PRINT M$(13)\PRINTM$(14);\INPUTF$\IFF$="SELL"THEN3102 3101 GOTO 3105 3102 GOSUB 3150 3105 PRINTM$(19);\INPUTH$\IFH$="HOUSE"THEN3200\RETURN 3150 PRINTM$(15);\INPUTF$\IFF$<>"LIST"THEN3152\GOSUB3170 3152 PRINTM$(17);\INPUTV$\PRINT"HOW MUCH DO YOU WANT FOR IT";\INPUTV 3154 FOR I=1 TO 39 3156 IF V$<>G$(I)THEN3158\IFL(I)<>0THEN3158\PRINTM$(16)\RETURN 3158 IFV$<>G$(I)THEN3160\IFL(I)<>1THEN3160\M(1)=M(1)+V 3159 M(2)=M(2)-V\L(I)=2\GOTO 3165 3160 IF V$<>G$(I)THEN3162\IFL(I)<>2THEN3162\M(2)=M(2)+V 3161 M(1)=M(1)-V\L(I)=1\GOTO 3165 3162 NEXT I 3165 PRINT M$(18);\INPUT F$\IFF$="YES"THEN 3152\RETURN 3170 C=0\D=0 3171 FOR I=1 TO 39 3172 IFL(I)<>1THEN 3174\C=C+1\A$(C)=G$(I) 3174 IFL(I)<>2 THEN 3175\D=D+1\B$(D)=G$(I) 3175 NEXT I 3176 PRINT N$(1);"'S PROPERTY" 3177 FOR I=1 TO C\PRINT A$(I)\NEXT I 3178 PRINT N$(2);"'S PROPERTY" 3180 FOR I=1 TO D\PRINT B$(I)\NEXT I 3182 RETURN 3200 IFL(1)<>ZTHEN3202\IFL(3)<>ZTHEN3202\PRINTP$;"50";O$ 3201 PRINT G$(1);" ";G$(3);\INPUT U\GOSUB 3250 3202 IFL(6)<>ZGOTO3204\IFL(8)<>ZGOTO3204\IFL(9)<>ZGOTO3204 3203 PRINTP$;"50";O$\PRINTG$(6);" ";G$(8);" ";G$(9);\INPUTU\GOSUB3254 3204 IFL(11)<>ZGOTO3206\IFL(13)<>ZGOTO3206\IFL(14)<>ZGOTO3206 3205PRINTP$;"100";O$\PRINTG$(11);" ";G$(13);" ";G$(14);\INPUTU\GOSUB3258 3206 IFL(16)<>ZGOTO3208\IFL(18)<>ZGOTO3208\IFL(19)<>ZGOTO3208 3207PRINTP$;"100";O$\PRINTG$(16);" ";G$(18);" ";G$(19);\INPUTU\GOSUB3262 3208IFL(21)<>ZGOTO3210\IFL(23)<>ZGOTO3210\IFL(24)<>ZGOTO3210 3209PRINTP$;"150";O$\PRINTG$(21);" ";G$(23);" ";G$(24);\INPUTU\GOSUB3266 3210IFL(26)<>ZGOTO3212\IFL(27)<>ZGOTO3212\IFL(29)<>ZGOTO3212 3211PRINTP$;"150";O$\PRINTG$(26);" ";G$(27);" ";G$(29);\INPUTU\GOSUB3270 3212IFL(31)<>ZGOTO3214\IFL(32)<>ZGOTO3214\IFL(34)<>ZGOTO3214 3213PRINTP$;"200";O$\PRINTG$(31);" ";G$(32);" ";G$(34);\INPUTU\GOSUB3274 3214IFL(37)<>ZGOTO3220\IFL(39)<>ZGOTO3220\PRINTP$;"200";O$ 3215PRINTG$(37);" ";G$(39);\INPUTU\GOSUB3278 3220 RETURN 3250U(1)=U(1)+U\M(Z)=M(Z)-(U*100)\IFM(Z)=>0THEN3252\PRINTM$(20) 3251 M(Z)=M(Z)+(U*100)\U(1)=U(1)-U\RETURN 3252 H(1)=U(1)\H(3)=U(1)\RETURN 3254U(2)=U(2)+U\M(Z)=M(Z)-(U*150)\IFM(Z)=>0THEN3256\PRINTM$(20) 3255 M(Z)=M(Z)+(U*150)\U(2)=U(2)-U\RETURN 3256 H(6)=U(2)\H(8)=U(2)\H(9)=U(2)\RETURN 3258U(3)=U(3)+U\M(Z)=M(Z)-(U*150)\IFM(Z)=>0THEN3260\PRINTM$(20) 3259 M(Z)=M(Z)+(U*150)\U(3)=U(3)-U\RETURN 3260 H(11)=U(3)\H(13)=U(3)\H(14)=U(3)\RETURN 3262U(4)=U(4)+U\M(Z)=M(Z)-(U*300)\IFM(Z)=>0THEN3264\PRINTM$(20) 3263 M(Z)=M(Z)+(U*300)\U(4)=U(4)-U\RETURN 3264 H(16)=U(4)\H(18)=U(4)\H(19)=U(4)\RETURN 3266U(5)=U(5)+U\M(Z)=M(Z)-(U*450)\IFM(Z)=>0THEN3268\PRINTM$(20) 3267 M(Z)=M(Z)+(U*450)\U(5)=U(5)-U\RETURN 3268 H(21)=U(5)\H(23)=U(5)\H(24)=U(5)\RETURN 3270U(6)=U(6)+U\M(Z)=M(Z)-(U*450)\IFM(Z)=>0THEN3272\PRINTM$(20) 3271M(Z)=M(Z)+(U*450)\U(6)=U(6)-U\RETURN 3272 H(26)=U(6)\H(27)=U(6)\H(29)=U(6)\RETURN 3274U(7)=U(7)+U\M(Z)=M(Z)-(U*600)\IFM(Z)=>0THEN3276\PRINTM$(20) 3275 M(Z)=M(Z)+(U*600)\U(7)=U(7)-U\RETURN 3276 H(31)=U(7)\H(32)=U(7)\H(34)=U(7)\RETURN 3278U(8)=U(8)+U\M(Z)=M(Z)-(U*400)\IFM(Z)=>0THEN3280\PRINTM$(20) 3279 M(Z)=M(Z)+(U*400)\U(8)=U(8)-U\RETURN 3280 H(37)=U(8)\H(39)=U(8)\RETURN 3900 REM COMMUNITY CHEST 4100 RANDOMIZE\L=RND(0) 4102 IF L>.1 THEN 4104\PRINTZ$(1)\M(Z)=M(Z)+100\RETURN 4104 IF L>.2 THEN 4106\PRINTZ$(2)\M(Z)=M(Z)+100\RETURN 4106 IF L>.3 THEN 4108\PRINTZ$(3)\M(Z)=M(Z)+20\RETURN 4108 IF L>.4 THEN 4110\PRINTZ$(4)\M(Z)=M(Z)-50\RETURN 4110 IF L>.5 THEN 4112\PRINTZ$(5)\M(Z)=M(Z)+100\RETURN 4112 IF L>.6 THEN 4114\PRINTZ$(6)\M(Z)=M(Z)+200\I(Z)=0\RETURN 4114 IF L>.7 THEN 4116\PRINTZ$(7)\M(Z)=M(Z)-100\RETURN 4116 IF L>.8 THEN 4118\PRINTZ$(8)\M(Z)=M(Z)-50\I(Z)=10\RETURN 4118 IF L>.9 THEN 4120\PRINTZ$(9)\M(Z)=M(Z)-50\RETURN 4120 PRINT Z$(10)\M(Z)=M(Z)+200\RETURN 4300 REM CHANCE 4400 RANDOMIZE\L=RND(0) 4402 IF L>.1 THEN 4404\PRINTC$(1)\M(Z)=M(Z)-15\RETURN 4404 IF L>.2 THEN 4406\PRINTC$(2)\I(Z)=24\GOSUB 2000 4405 RETURN 4406 IF L>.3 THEN 4408\PRINTC$(3)\I(Z)=I(Z)-3\GOSUB 2000 4407 RETURN 4408 IF L>.4 THEN 4410\PRINTC$(4)\I(Z)=0\M(Z)=M(Z)+200\RETURN 4410 IF L>.5 THEN 4412\PRINTC$(5)\M(Z)=M(Z)+50\RETURN 4412 IF L>.6 THEN 4414\PRINTC$(6)\I(Z)=5\M(Z)=M(Z)+200\GOSUB2000 4413 RETURN 4414 IF L>.7 THEN 4416\PRINTC$(7)\I(Z)=10\M(Z)=M(Z)-50\RETURN 4416 IF L>.8 THEN 4418\PRINTC$(8)\M(Z)=M(Z)+150\RETURN 4418 IF L>.9 THEN 4420\PRINTC$(9)\I(Z)=39\GOSUB 2000 4419 RETURN 4420 PRINTC$(10)\I(Z)=11\GOSUB 2000 4421 RETURN 30000 C=0\D=0 30002 FOR I=1 TO 39 30004 IF L(I)<>1 THEN 30006\C=C+1\A$(C)=G$(I) 30006 IF L(I)<>2 THEN 30007\D=D+1\B$(D)=G$(I) 30007 NEXT I\PRINT \PRINT 30008 PRINT N$(1);" OWNED THE FOLLOWING PROPERTY" 30009 FOR I=1 TO C\PRINTA$(I)\NEXT I 30010 PRINT "AND HAD";M(1);"DOLLARS AT THE END OF THE GAME" 30011 PRINT N$(2);" OWNED THE FOLLOWING PROPERTY" 30012 FOR I=1 TO D\PRINT B$(I)\NEXT I 30013 PRINT "AND HAD";M(2);"DOLLARS AT THE END OF THE GAME" 30020 END