File BASIC.WS

Directory of image this file is from
This file as a plain text file

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



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search