home *** CD-ROM | disk | FTP | other *** search
- 10 REM COMPNOP BY DENNIS IRVINE
- 20 PRINT"[147]":DIM SQ$(40),BT$(100),AS(50),NB$(40),PB$(40),CR$(16)
- 25 POKE53280,0:POKE53281,0
- 30 DIM A$(20):GOSUB5530:GOSUB4360
- 40 FORI=0TO39:SQ$(I)="N0":NEXTI: REM SETUP EACH BOX'S STATUS
- 50 : : REM BOXES INCLUDED IN FULL SYSTEM
- 60 SM$(1)="0103":SM$(2)="060809":SM$(3)="111314":SM$(4)="161819"
- 70 SM$(5)="212324":SM$(6)="262729":SM$(7)="313234":SM$(8)="3739"
- 80 SM$(9)="051215252835"
- 90 : : REM MARKET TREND CARDS
- 100 MT$(1)=" PRICE WAR. YOU LOSE $100 "
- 110 MT$(2)=" GOOD SALES. PROFIT $200 "
- 120 MT$(3)="RECEIVABLES PAY.YOU GET $200 "
- 130 MT$(4)=" BAD DEBTS UP. LOSE $100 "
- 140 MT$(5)=" NEW FCC RULES COST $100 "
- 150 MT$(6)=" A LARGE ORDER. PROFIT $200 "
- 160 MT$(7)="STOCK MKT FAVORABLE.GAIN $200"
- 170 MT$(8)="TECHNOLOGY BEHIND.BACK 3 SPAC"
- 180 : : REM LUCK CARDS
- 190 LL$(1)=" BAD LUCK..YOU LOSE $100 "
- 200 LL$(2)=" NO LUCK ..YOU GAIN 0 "
- 210 LL$(3)=" GOOD LUCK..YOU GAIN $100 "
- 220 LL$(4)=" BAD LUCK..YOU LOSE $100 "
- 230 LL$(5)=" NO LUCK ..YOU GAIN 0 "
- 240 LL$(6)=" GOOD LUCK..YOU GAIN $100 "
- 250 :
- 260 REM ESTABLISH COMMON VARIABLES
- 270 :
- 280 FORP=1TO4
- 290 FC(P)=SP+PT+P: REM BOX 10 POSITIONS FOR GOING DIRECTLY TO FCC
- 300 MP(P)=500: REM GIVE EACH PLAYER $500
- 310 BO$(P)="": REM BO$ STORES BOXES OWNED BY EACH PLAYER
- 320 BK(P)=0: REM BANKRUPTCY FLAG 1=BANKRUPT
- 330 NEXTP
- 340 FORI=0TO39:READNB$(I),PB$(I):NEXTI:REM NAME & PRICE OF BOX
- 350 R$=""
- 360 FORI=1TO80:C$=C$+"":NEXTI
- 370 :
- 380 PRINT"DO YOU WISH INSTRUCTIONS - Y/N
- 390 [141]1210
- 400 [139]A$[178]"Y"[167][141]4770
- 410 [153]"ARE YOU READY TO PLAY? (Y/N)"
- 420 [141]1210
- 430 [139]A$[178]"N"[167]380
- 440 [141]4510:[153]"LOAD":[137]1310
- 450 :
- 460 [143] SETS CURSOR POSITION
- 470 C[178]C[171]AD:[139]C[179]0[167]C[178]0
- 480 [153][200](R$,R)[200](C$,C);:[142]
- 490 :
- 500 [143] SOUND ROUTINES
- 510 [139]SD[179][177]0[167]540: [143] IS IT A 64
- 520 [151]59467,16:[151] 59466,15:[129]J[178]S1[164]S1[171]50[169][171]1
- 530 [151]59464,J:[130]J:[151]59467,0:[142]
- 540 [129]J[178]1[164]10
- 550 [151]SD[170]24,15:[151]SD[170]1,20:[151]SD[170]5,4[172]16[170]0:[151]SD[170]6,15[172]16[170]0:[151]SD[170]4,1[170]16
- 560 [151]SD[170]4,16:[130]J:[142]
- 570 [139]SD[179][177]0[167]590: [143] IS IT A 64
- 580 [151]59467,16:[151]59466,15:[151]59464,140:[129]J[178]1[164]20:[130]:[151]59467,0:[142]
- 590 [143]
- 600 [151]SD[170]24,15:[151]SD[170]1,200:[151]SD[170]5,4[172]16[170]0:[151]SD[170]6,15[172]16[170]0:[151]SD[170]4,1[170]16
- 610 [151]SD[170]4,16:[129]J[178]1[164]100:[130]J:[142]
- 620 :
- 630 [143] NAME OF BOX DATA
- 640 [131] GO,0,MONO MONITOR ,60,MARKET TRENDS ,0,RGB MONITOR ,60
- 650 [131] INC TAX,0,GAMES SOFTWARE ,200,DOT MTX PRINTER,100,LUCK,0
- 660 [131] DAISYWHL PRINTER,100,INK JET PRINTER,120,FCC PROBLEMS,0
- 670 [131] XDOS ,140,EDUCATOL SFTWRE,200,CPM ,140
- 680 [131] UNIX ,160,COMM'NS SFTWRE ,200,BASIC ,180,MRKT TRENDS,0
- 690 [131] LOGO ,180,PASCAL ,200,BUSINESS OFFICE,0
- 700 [131] 32K RAM ,200,LUCK,0,64K RAM ,220
- 710 [131] 128K RAM ,240,WRDPRING SFTWRE,200
- 720 [131] FULLSTROKE KYBD,260,RUBBER KEYBOARD,260
- 730 [131] DATBASE SFTWARE,200,MEMBRANE KYBRD ,280
- 740 [131] FCC REPORT,0,TAPE STORAGE ,300,FLOPPY DISK ,300,MARKET TRENDS,0
- 750 [131] HARD DISK ,320,SPREDSHT SFTWRE,200,LUCK,0,Z80 CPU ,350
- 760 [131] RECALL COST,0,6502 CPU ,400
- 770 :
- 780 [143] DRAW PLAYING FIELD
- 790 [151]53265,11:[153]"":[153]CR$(9);
- 800 [153][163]TB)" WAIT
- 810 FORI=1TO17
- 820 PRINTTAB(TB)" [146] [146]
- 830 [130]I
- 840 [153][163]TB)" WAIT
- 850 PRINTCR$(16):RETURN
- 860 :
- 870 REM DRAW INTERIOR
- 880 POKE53265,11:PRINT"":PRINTCR$(16);
- 890 PRINTTAB(TB+1)" [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] "
- 900 PRINTTAB(TB+1)"GO [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] FCC"
- 910 PRINTTAB(TB+1)"-> [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] "
- 920 PRINTTAB(TB+1)" [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] "
- 930 PRINTTAB(TB+1)"[197][197][197][197][194][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][194][197][197][197][197]"
- 940 PRINTTAB(TB+1)"[197][197][197][197][194] [146] [194][197][197][197][197]"
- 950 PRINTTAB(TB+1)"[197][197][197][197][194] MKT TREND [146] [194][197][197][197][197]"
- 960 PRINTTAB(TB+1)"[197][197][197][197][194] [146] [194][197][197][197][197]"
- 970 PRINTTAB(TB+1)"[197][197][197][197][194] [194][197][197][197][197]"
- 980 PRINTTAB(TB+1)"[197][197][197][197][194] [146] [194][197][197][197][197]"
- 990 PRINTTAB(TB+1)"[197][197][197][197][194] LUCK [146] [194][197][197][197][197]"
- 1000 PRINTTAB(TB+1)"[197][197][197][197][194] [146] [194][197][197][197][197]"
- 1010 PRINTTAB(TB+1)"[197][197][197][197][194] [194][197][197][197][197]"
- 1020 PRINTTAB(TB+1)"[197][197][197][197][194][197][197][194][197][197][194][197][197][194][197][197][194][197][197][194][197][197][194][197][197][194][197][197][194][197][197][194][197][197][197][197]"
- 1030 PRINTTAB(TB+1)"FCC [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] BUS"
- 1040 PRINTTAB(TB+1)"RPT [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] OFF"
- 1050 PRINTTAB(TB+1)" [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] ":POKE 53265,27
- 1060 C=20:R=21:GOSUB460:PRINT" "
- 1070 C=20:R=21:GOSUB460:PRINT"1 $"MP(1)" 2 $"MP(2)" 3 $"MP(3)" 4 $"MP(4)
- 1080 RETURN
- 1090 :
- 1100 REM CLR LINE
- 1110 C=2:R=23:GOSUB460
- 1120 PRINT" "
- 1130 PRINT"":RETURN
- 1140 :
- 1150 REM GET A CHARACTER
- 1160 GETA$:IFA$=""THEN1160
- 1170 GETBF$:IFBF$<>""THEN1170: REM CLEARS BUFFERR
- 1180 RETURN
- 1190 :
- 1200 REM GET A 'Y' OR 'N' CHARACTER
- 1210 GETA$:IFA$<>"Y"ANDA$<>"N"THEN1210
- 1220 GETBF$:IFBF$<>""THEN1220
- 1230 RETURN
- 1240 :
- 1250 REM PUT PLAYERS ON FIELD
- 1260 P=0
- 1270 FORI=4TO1STEP-1:POKESP+(I*WD),53-I:P=P+1:PP(P)=SP+(I*WD):NEXTI
- 1280 BX=0:FORI=1TO4:IP(I)=PP(I):NEXTI:RETURN
- 1290 :
- 1300 REM MAIN ROUTINE
- 1310 GOSUB780:GOSUB870:GOSUB1260: REM DRAW BOARD + PLACE PLAYERS AT START
- 1320 FORP=1TO4:IFLT=PTHENLT=0:GOTO1510: REM LOSE TURN CHECK
- 1330 IFBK(P)=1THEN1510: REM BANKRUPT CHECK
- 1340 GOSUB1110: REM CLEARS LINE
- 1350 GOSUB1590:REM PRINT PLAYER #
- 1360 GOSUB2090: REM ROLL DICE
- 1370 BX=BX(P)
- 1380 FORI=1TODT:BX=BX+1
- 1390 GOSUB1610: REM MOVE PLAYER FORWARD
- 1400 NEXTI:BX(P)=BX: REM STORE BOX NUMBER
- 1410 C=40:R=23:GOSUB460:PRINTCR$(6)"PUSH[146]"CR$(2)" C "CR$(6)"TO CONTINUE[146]"
- 1420 PRINTCR$(16);:GOSUB1150:REM GET A CHARACTER
- 1430 IFA$<>"C"THEN1420
- 1440 PRINT"[147]"
- 1450 GOSUB2320:REM JUMP TO INDIV SQUARE RTNE
- 1460 GOSUB780:GOSUB870: REM DRAW BOARD
- 1470 FORI=1TO4
- 1480 CC=48+I:IFBK(I)=1THENCC=CC+128: REM IF PLAYER BK THEN PRINT IN REVERSE
- 1490 POKEPP(I),CC : REM POKE PLAYERS INTO POSITION
- 1500 NEXTI
- 1510 NEXTP
- 1520 C=21:R=23:GOSUB460:PRINT"DO YOU WANT TO CONTINUE? (Y/N) "
- 1530 GOSUB1150
- 1540 IFA$="Y"THEN1320
- 1550 IFA$<>"N"THEN1530
- 1560 GOSUB3720:END
- 1570 :
- 1580 REM PRINT PLAYER # AND ASSIGN POKE CHARACTER
- 1590 C=21:R=23:GOSUB460:PRINTNM$(P)" #"P:GOSUB2000:RETURN
- 1600 :
- 1610 REM MOVE FORWARD
- 1620 CR=32
- 1630 IFBX>11ANDBX<21THENCR=69
- 1640 IFBX>20ANDBX<32ANDP=1THENCR=69
- 1650 IFBX>30ANDBX<41THENCR=69
- 1660 POKEPP(P),CR
- 1670 IFBX=10THENPP(P)=(PP(P)-1)+((WD+1)*(P-1)):GOTO1740
- 1680 IFBX=20THENPP(P)=(PP(P)+1)+((WD*P)-P):GOTO1750
- 1690 IFBX=30THENPP(P)=PP(P)-((WD*(P-1))+P+1):GOTO1750
- 1700 IFBX>10ANDBX<21THENPP(P)=PP(P)+WD:GOTO1750
- 1710 IFBX>20ANDBX<31THENPP(P)=PP(P)-3:GOTO1750
- 1720 IFBX>30ANDBX<40THENPP(P)=PP(P)-WD:GOTO1750
- 1730 IFBX>39THENBX=0:PP(P)=IP(P):GOSUB1770:GOTO1750
- 1740 PP(P)=PP(P)+3
- 1750 POKEPP(P),CC:GOSUB570:RETURN
- 1760 :
- 1770 REM $200 FOR PASSING GO
- 1780 C=20:R=23:GOSUB460:PRINT"PAST GO![146]COLLECT $200"
- 1790 MP(P)=MP(P)+200:GOSUB1060
- 1800 RETURN
- 1810 :
- 1820 :
- 1830 REM MOVE BACKWARD
- 1840 CR=32:IFBX<0THENBX=39
- 1850 IFBX>9ANDBX<19THENCR=69
- 1860 IFBX>20ANDBX<32ANDP=1THENCR=69
- 1870 IFBX>28ANDBX<39THENCR=69
- 1880 POKEPP(P),CR:IFBX=39THENPP(P)=PP(P)+((WD*P)-P+1):GOTO1980
- 1890 IFBX=9ANDP>1THENPP(P)=PP(P)-((WD*(P-1))+P-1):GOTO1970
- 1900 IFBX=19THENPP(P)=PP(P)-((WD*P)-P):GOTO1980
- 1910 IFBX=29ANDP>1THENPP(P)=PP(P)+((WD*(P-1))+P+1):GOTO1980
- 1920 IFBX=29ANDP=1THENPP(P)=PP(P)+2:GOTO1980
- 1930 IFBX>9ANDBX<20THENPP(P)=PP(P)-WD:GOTO1980
- 1940 IFBX>19ANDBX<30THENPP(P)=PP(P)+3:GOTO1980
- 1950 IFBX>29ANDBX<40THENPP(P)=PP(P)+WD:GOTO1980
- 1960 IFBX=0THENPP(P)=IP(P):GOTO1980
- 1970 PP(P)=PP(P)-3
- 1980 POKEPP(P),CC:GOSUB570:RETURN
- 1990 :
- 2000 REM ASSIGN POKE CHARATER
- 2010 IFP=1THENCC=49
- 2020 IFP=2THENCC=50
- 2030 IFP=3THENCC=51
- 2040 IFP=4THENCC=52
- 2050 BX=BX(P)
- 2060 RETURN
- 2070 :
- 2080 REM DRAW DICE AND ROLL
- 2090 E$=""
- 2100 FOR I=1 TO 39:E$=E$+" ":NEXTI:DT=0
- 2110 L$=""
- 2120 A$(0)="[166][166][166][157][157][157][166][166][166][157][157][157][166][166][166][157][157][157][145][145]"
- 2130 A$(1)=" [157][157][157] [209] [157][157][157] [157][157][157][145][145]"
- 2140 A$(2)="[209] [157][157][157] [157][157][157] [209][157][157][157][145][145]"
- 2150 A$(3)="[209] [157][157][157] [209] [157][157][157] [209][157][157][157][145][145]"
- 2160 A$(4)="[209] [209][157][157][157] [157][157][157][209] [209][157][157][157][145][145]"
- 2170 A$(5)="[209] [209][157][157][157] [209] [157][157][157][209] [209][157][157][157][145][145]"
- 2180 A$(6)="[209][209][209][157][157][157] [157][157][157][209][209][209][157][157][157][145][145]"
- 2190 B$="[176][192][192][192][174][157][221][157][221][157][221][157][189][157][157][192][157][157][192][157][157][192]"
- 2200 B$=B$+"[157][157][173][157][145][221][157][145][221][157][145][221][157][145]":ST$=""
- 2210 X$="":FOR I=1 TO 6:X$=X$+" [146] ":NEXT
- 2220 X$=LEFT$(X$,52)
- 2230 D$="[157][207][163][163][163][208][157][167][157][186][157][157][164][157][157][164][157][157][164][157][157][204][157][145][165]"
- 2240 PRINT L$;
- 2250 FOR F=1 TO 2:PRINTTAB(TB+7) B$;"";:NEXT
- 2260 FOR K=1 TO 2:H(K)=INT(6*RND(1)+1):DT=DT+H(K):NEXT
- 2270 PRINTTAB(TB+7) L$;"";:FOR K=1 TO 2
- 2280 IF K>=L THEN PRINTTAB(TB+8) A$(0);
- 2290 PRINTCR$(5)TAB(TB+8)A$(H(K));"";:NEXT:S1=55:GOSUB510
- 2300 RETURN
- 2310 :
- 2320 REM START OF INDIVIDUAL SQUARE ROUTINES
- 2330 PRINT"[147]":GOSUB780:POKE53265,27:C=22:R=4:GOSUB460
- 2335 PRINT"BOX ";BX:C=30:GOSUB460
- 2340 PRINT""NB$(BX)"[146]"
- 2350 C=20:R=23:GOSUB460:PRINT"PLAYER"P"HAS $"MP(P)
- 2360 IFBX=0THENR=7:C=25:GOSUB460:PRINT"KEEP ON TRUCKIN":GOTO2490
- 2370 IF BX=2ORBX=17ORBX=33THENGOSUB2750:GOTO2490: REM JMP TO MKT TREND RTNE
- 2380 IFBX=4THENGOSUB3410:GOTO2490: REM JMP TO INC TAX RTNE
- 2390 IFBX=10THENGOSUB3060:GOTO2490: REM LOSE TURN RTNE
- 2400 IFBX=20THENGOSUB3280:GOTO2490: REM JMP TO OFFICE RTNE
- 2410 IFBX=7ORBX=22ORBX=36THENGOSUB3100:GOTO2490: REM JMP TO LUCK RTNE
- 2420 IFBX=30THENGOSUB3320:GOTO2490: REM JMP TO FILE REPT ROUTINE
- 2430 IFBX=38THENGOSUB3450:GOTO2490: REM JMP TO RECALL RTNE
- 2440 IFLEFT$(SQ$(BX),1)="O"THENGOSUB2550:GOTO2490: REM JMP TO BX OWNED RTNE
- 2450 C=22:R=15:GOSUB460:PRINT"PRICE $",PB$(BX)
- 2460 C=22:R=16:GOSUB460:PRINT"DO YOU WISH TO BUY? (Y/N)"
- 2470 GOSUB1150:IFA$="Y"THENGOSUB3630:GOTO2490:REMIF="Y"THEN JMP TO BUY RTNE
- 2480 IFA$<>"N"THEN2470
- 2490 IFBW=1THENBW=0:GOTO2330
- 2500 GOSUB1110:C=21:GOSUB460
- 2510 PRINT"YOU HAVE $";MP(P)CR$(6)" PUSH[146]"CR$(2)" C "CR$(6)"TO CONTINUE[146]"
- 2520 PRINTCR$(16);:GOSUB1150:IFA$<>"C"THEN2520
- 2530 PRINT"[147]":RETURN
- 2540 :
- 2550 REM BOX OWNED ROUTINE
- 2560 C=22:R=7:GOSUB460:O=VAL(RIGHT$(SQ$(BX),1)) :REM O IS OWNER OF BOX
- 2570 IFO=PTHENPRINT"YOU ALREADY OWN THIS":RETURN
- 2580 PRINT"THIS IS OWNED BY "O:F=1:IFLEN(BO$(O))<4THEN2690
- 2590 IFBX=5ORBX=12ORBX=15ORBX=25ORBX=28ORBX=35THENWS=9:GOTO2620
- 2600 WS=INT(BX/5) :REM F IS RENT FACTOR..WS SPECIFIES THE SYSTEM
- 2610 IF(BX/5-INT(BX/5))>0THENWS=WS+1
- 2620 SS=LEN(SM$(WS))/2: REM HOW MANY BOXES IN THE SYSTEM
- 2630 FORI=1TOSS:SA$(I)=MID$(SM$(WS),(I*2)-1,2):NEXTI
- 2640 FORI=1TOSS:IFVAL(SA$(I))=BXTHEN2680
- 2650 FORJ=2TOLEN(BO$(O))STEP2
- 2660 IFSA$(I)=MID$(BO$(O),J-1,2)THENF=F+1
- 2670 NEXTJ
- 2680 NEXTI
- 2690 RT=(INT(VAL(PB$(BX))/2))*F: REM RENT IS 1/2 OF PRICE TIMES A FACTOR
- 2700 C=25:R=9:GOSUB460:PRINT"YOU MUST PAY RENT OF $";RT
- 2710 MP(P)=MP(P)-RT:IFMP(P)<0THENGOSUB3990
- 2720 MP(O)=MP(O)+RT
- 2730 RETURN
- 2740 :
- 2750 REM MRKT TREND SUBRTNE
- 2760 PRINTCR$(8):FORI=1TO3:R=7:C=24:GOSUB460
- 2770 FORZ=1TO5:PRINT" [146]":R=R+1:C=24:GOSUB460:NEXTZ
- 2780 S1=200:GOSUB510
- 2790 R=7:C=24:GOSUB460
- 2800 FORZ=1TO5:PRINT" ":R=R+1:C=24:GOSUB460:NEXTZ
- 2810 GOSUB510
- 2820 NEXTI
- 2830 R=7:C=24:GOSUB460
- 2840 PRINT" [146]":R=R+1:C=24:GOSUB460
- 2850 PRINT" [146]":R=R+1:C=24:GOSUB460
- 2860 X=RND(0)*9:IFX<1ORX>8THEN2860
- 2870 PRINT""MT$(X)"[146]":R=R+1:C=24:GOSUB460:GOSUB570
- 2880 PRINT" [146]":R=R+1:C=24:GOSUB460
- 2890 PRINT" [146]":R=R+1:C=24:GOSUB460:S1=100:GOSUB510
- 2900 ONXGOSUB2930,2970,2970,2930,2930,2970,2970,3010
- 2910 PRINTCR$(16):RETURN
- 2920 :
- 2930 REM LOSSES
- 2940 MP(P)=MP(P)-100:IFMP(P)<0THENGOSUB3990
- 2950 RETURN
- 2960 :
- 2970 REM PROFITS
- 2980 MP(P)=MP(P)+200:RETURN
- 2990 :
- 3000 REM MOVEBACK 3 SPACES
- 3010 PRINT"[147]":GOSUB790:GOSUB880:POKEPP(P),CC
- 3020 FORX=1TO3:BX=BX-1:GOSUB1840:NEXTX:GOSUB2500:BX(P)=BX:BW=1:RETURN
- 3030 :
- 3040 :
- 3050 REM BOX 10 LOSES TURN
- 3060 C=22:R=10:GOSUB460:PRINTCR$(3)"YOU LOSE YOUR NEXT TURN...SORRY!!!![146]"
- 3070 PRINT""CR$(16):LT=P:RETURN
- 3080 :
- 3090 REM LUCK ROUTINE
- 3100 PRINTCR$(8):FORI=1TO3:R=7:C=24:GOSUB460
- 3110 FORZ=1TO5:PRINT" [146]":R=R+1:C=24:GOSUB460:NEXTZ
- 3120 S1=200:GOSUB510
- 3130 R=7:C=24:GOSUB460
- 3140 FORZ=1TO5:PRINT" ":R=R+1:C=24:GOSUB460:NEXTZ
- 3150 GOSUB510
- 3160 NEXTI
- 3170 R=7:C=24:GOSUB460:
- 3180 PRINT" [146]":R=R+1:C=24:GOSUB460
- 3190 PRINT" [146]":R=R+1:C=24:GOSUB460
- 3200 X=INT(RND(0)*9):IFX<1ORX>6THEN3200
- 3210 PRINT""LL$(X)"[146]":R=R+1:C=24:GOSUB460:GOSUB570
- 3220 PRINT" [146]":R=R+1:C=24:GOSUB460
- 3230 PRINT" [146]":R=R+1:C=24:GOSUB460:S1=100:GOSUB510
- 3240 IFX=1ORX=4THENMP(P)=MP(P)-100
- 3250 IFMP(P)<0THENGOSUB3990
- 3260 IFX=3ORX=6THENMP(P)=MP(P)+100
- 3270 S1=55:PRINTCR$(16):RETURN
- 3280 :
- 3290 REM OFFICE ROUTINE
- 3300 C=25:R=11:GOSUB460:PRINT"PLAN YOUR STRATEGY FROM HERE"
- 3310 RETURN
- 3320 :
- 3330 REM FILE FCC REPORT ROUTINE
- 3340 C=22:R=7:GOSUB460:PRINT"CUSTOMERS COMPLAIN AND YOU MUST"
- 3350 C=22:R=8:GOSUB460:PRINT"FILE SPECIAL FCC REPORT."
- 3360 C=22:R=10:GOSUB460:PRINT"GO DIRECTLY TO FCC OFFICE."
- 3370 C=22:R=11:GOSUB460:PRINTCR$(8)"DO NOT[146] PASS GO. DO NOT[146] COLLECT $200"
- 3380 PP(P)=FC(P):BX(P)=10:PRINTCR$(16):RETURN
- 3390 :
- 3400 REM INC TAX RTNE
- 3410 C=25:R=7:GOSUB460:PRINTCR$(8)"UNCLE SAM GETS INTO YOUR POCKET"
- 3420 C=25:R=8:GOSUB460:PRINT"FOR A BIG 15%"CR$(16)
- 3430 MP(P)=MP(P)-INT(MP(P)*.15)
- 3440 RETURN
- 3450 :
- 3460 REM RECALL ROUTINE
- 3470 C=22:R=7:GOSUB460:PRINT"YOUR PRODUCTS HAVE BEEN FOUND"
- 3480 C=22:R=8:GOSUB460:PRINT"DEFECTIVE.IF YOU OWN ANY PRODUCTS"
- 3490 C=22:R=9:GOSUB460:PRINT"YOU MUST PAY EACH PLAYER $10 FOR"
- 3500 C=22:R=10:GOSUB460:PRINT"EACH PRODUCT YOU OWN, AS "
- 3510 C=22:R=11:GOSUB460:PRINT"REIMBURSMENT FOR REPAIR WORK"
- 3520 IFLEN(BO$(P))=0THENR=13:C=22:GOSUB460:PRINT"YOU DON'T OWN ANYTHING..LUCKY"
- 3530 IFLEN(BO$(P))=0THEN3610
- 3540 BO=INT(LEN(BO$(P))/2):R=13:C=22:GOSUB460:PRINT"YOU OWN "BO" PRODUCTS"
- 3550 C=22:R=14:GOSUB460:PRINT"FOR A COST OF $";BO*10"TO EACH PLAYER"
- 3560 BO=BO*10
- 3570 FORI=1TO4:IFI=PTHEN3600
- 3580 IFBK(I)=1THEN3600
- 3590 MP(I)=MP(I)+BO:MP(P)=MP(P)-BO:IFMP(P)<0THENGOSUB3990
- 3600 NEXTI
- 3610 RETURN
- 3620 :
- 3630 REM PURCHASE BOX ROUTINE
- 3640 C=22:R=7:GOSUB460
- 3650 IFMP(P)<VAL(PB$(BX))THENPRINT"YOU DON'T HAVE ENOUGH MONEY!":RETURN
- 3660 MP(P)=MP(P)-VAL(PB$(BX))
- 3670 SQ$(BX)="O"+STR$(P)
- 3680 IFBX<10THENBO$(P)=BO$(P)+"0"+RIGHT$(STR$(BX),1):GOTO3700
- 3690 BO$(P)=BO$(P)+RIGHT$(STR$(BX),2)
- 3700 PRINTCR$(8)"OK...YOU NOW OWN THIS[146]"CR$(16)
- 3710 RETURN
- 3720 :
- 3730 REM SHOW FINAL STATUS AND WINNER
- 3740 PRINT"[147]":FORP=1TO4:NU=0:AS=0:TV(P)=0
- 3750 IFLEN(BO$(P))<2THEN3770
- 3760 GOSUB3920: REM DETERMINE VALUE OF PROPERTY
- 3770 TV(P)=AS+MP(P): REM TV MEANS 'TOTAL VALUE'
- 3780 PRINTNM$(P)" #"P" HAS CASH $"MP(P)" AND "NU" UNITS."
- 3790 PRINT"WORTH $"AS
- 3800 PRINT"FOR A TOTAL VALUE OF $"TV(P)
- 3810 IFP=1THENW=P:GOTO3830
- 3820 IFTV(P)>TV(W)THENW=P
- 3830 PRINT
- 3840 NEXTP
- 3850 TE$=" AND ": FORI=1TO4:IFW=ITHEN3870
- 3860 IFTV(W)=TV(I)THEN TE$=TE$+NM$(I)+" AND "
- 3870 NEXTI:PRINT:IFTE$<>" AND "THENPRINT"TIE BETWEEN [146]"NM$(W);TE$:RETURN
- 3880 PRINT" [146]" NM$(W)" IS THE WINNER [146]"
- 3890 PRINT"THANKS FOR PLAYING....BYE NOW.":RETURN
- 3900 :
- 3910 REM DETERMINE VALUE OF PROPERTY
- 3920 NU=LEN(BO$(P))/2
- 3930 FORI=1TONU
- 3940 BT$(I)=MID$(BO$(P),(I*2)-1,2)
- 3950 AS(I)=VAL(PB$(VAL(BT$(I))))
- 3960 NEXTI: FORI=1TONU:AS=AS+AS(I):NEXTI
- 3970 RETURN
- 3980 :
- 3990 REM BANKRUPTCY ROUTINE
- 4000 AS=0:NU=0:TV(P)=0
- 4010 IFLEN(BO$(P))<2THEN4050: REM DOES HE OWN PROPERTY
- 4020 GOSUB 3920:TV(P)=AS: REM DETERMINE VAL OF PROPERTY
- 4030 IFTV(P)>(-1*MP(P))THENGOSUB4080:RETURN :REM IS THERE VALUE TO COVER DEBT
- 4040 FORX=1TONU:SQ$(VAL(BT$(X)))="N0":NEXTX:BO$(P)="":REM NO-RESTORE ALL BOXES
- 4050 GOSUB1110:C=21:R=23:GOSUB460:PRINT"YOU ARE BANKRUPT[146]"
- 4060 BK(P)=1:FORT=1TO1000:NEXTT:RETURN
- 4070 :
- 4080 REM ASK WHICH PROPERTY TO SELL
- 4090 FORT=1TO500:NEXTT
- 4100 PRINT"[147]"CR$(8):PRINT"YOU MUST SELL TO PAY YOUR BILLS![146]"CR$(16)
- 4110 PRINT:PRINT"YOU CURRENTLY OWN"NU"ITEMS AS FOLLOWS:"
- 4120 PRINT" # BOX# NAME $ VALUE":PRINT
- 4130 FORI=1TONU
- 4140 PRINTISPC(3)BT$(I)SPC(3)NB$(VAL(BT$(I)))SPC(5)AS(I)
- 4150 NEXTI
- 4160 PRINT"-----------------------------------":PRINT"TOTAL VALUE "AS
- 4170 PRINT:PRINT"YOU OWE $"MP(P):PRINT"WHICH ITEM # DO YOU WANT TO SELL"
- 4180 PRINT"(ENTER 1 TO"I-1")"
- 4190 GETA$:IFA$=""THEN4190
- 4200 X=VAL(A$)
- 4210 IFX<1ORX>I-1THEN4190
- 4220 PRINT"OK....#"X
- 4230 IFLEN(BO$(P))<4THENBO$(P)="":GOTO4270
- 4240 FORJ=1TONU*2STEP2
- 4250 IFBT$(X)=MID$(BO$(P),J,2)THENGOSUB4340
- 4260 NEXTJ
- 4270 SQ$(VAL(BT$(X)))="N0": REM UPDATE STATUS OF BOX
- 4280 MP(P)=MP(P)+AS(X)
- 4290 IFMP(P)<0THENPRINT"YOU NOW OWE $"MP(P)" .MUST SELL MORE UNITS":GOTO4110
- 4300 RETURN
- 4310 : : REM REMOVE CHOSEN UNIT FROM BOXES OWNED
- 4320 IFJ=1THENBO$(P)=RIGHT$(BO$(P),LEN(BO$(P)-2):RETURN
- 4330 IFJ=LEN(BO$(P))-1THENBO$(P)=LEFT$(BO$(P),LEN(BO$(P))-2):RETURN
- 4340 BO$(P)=MID$(BO$(P),1,J-1)+MID$(BO$(P),J+2,LEN(BO$(P))-(J+1))
- 4350 RETURN
- 4360 :
- 4370 REM DRAW HEADING
- 4380 PRINT"[147]":PRINTCR$(6);
- 4390 PRINTTAB(TB+2)" [146] [146] [188] [146] [146]"
- 4400 PRINTTAB(TB+2)" [146] [146] [146] [146] [146] [146] [146] [146]"
- 4410 PRINTTAB(TB+2)" [146] [146] [146] [146] [146] [146] [146]"
- 4420 PRINTTAB(TB+2)" [146] [146] [146] [146] [146] [146]"
- 4430 PRINT
- 4440 PRINTTAB(TB+5)"[188] [146] [146] [146]"
- 4450 PRINTTAB(TB+5)" [146] [146] [146] [146] [146] [146]"
- 4460 PRINTTAB(TB+5)" [146] [146] [146] [146] [146]"
- 4470 PRINTTAB(TB+5)" [146] [146] [146] [146]
- 4475 [153]"SYS COMPUTER MONOPLY
- 4480 PRINTCR$(16):RETURN
- 4490 :
- 4500 REM ENTER PLAYERS NAMES
- 4510 PRINT"[147]HOW MANY PLAYERS ARE THERE? (1-4)"
- 4520 GOSUB1160:X=VAL(A$)
- 4530 IFX<1ORX>4THEN4520
- 4540 PRINT"YOU SAY "X" PLAYER/S....CORRECT? (Y/N)"
- 4550 GOSUB1210:IFA$="N"THEN4510
- 4560 IFX>1THEN 4590
- 4570 PRINT"WHAT'S YOUR NAME?":GOSUB4730
- 4580 FORI=1TO4:NM$(I)=NM$:NEXTI:RETURN
- 4590 IFX>2THEN4630
- 4600 PRINT"ONE OF YOU WILL TAKE THE ODD # PLAYERS. ONE WILL BE THE EVEN #'S"
- 4610 PRINT"ENTER ODD PLAYER'S NAME":GOSUB4730:NM$(1)=NM$:NM$(3)=NM$
- 4620 PRINT"ENTER EVEN PLAYER'S NAME":GOSUB4730:NM$(2)=NM$:NM$(4)=NM$:RETURN
- 4630 IFX>3THEN4690
- 4640 PRINT"ENTER NAMES FOR PLAYERS 1-3. # 4 WILL BE BANKRUPT AT THE START"
- 4650 FORI=1TO3
- 4660 PRINT"ENTER NAME OF PLAYER"I
- 4670 GOSUB4730:NM$(I)=NM$:NEXTI:BK(4)=1:RETURN
- 4680 :
- 4690 FORI=1TO4
- 4700 PRINT"ENTER NAME OF PLAYER"I
- 4710 GOSUB4730:NM$(I)=NM$:NEXTI
- 4720 RETURN
- 4730 INPUT"NAME->[160][160][160][157][157][157]";NM$
- 4740 PRINTNM$,"IS YOUR NAME....CORRECT?"
- 4750 GOSUB1210:IFA$="N"THEN4730
- 4760 RETURN
- 4770 :
- 4780 REM INSTRUCTIONS
- 4790 PRINT"[147]":FORI=1TO9:READA$(I):PRINTA$(I):PRINT
- 4800 IFA$(I)="***"THENA$(10)=A$(I):I=9
- 4810 NEXTI
- 4820 PRINT"[159] PUSH 'C' TO CONTINUE WITH INSTRUCTIONS.";
- 4830 PRINT" PUSH 'G' TO RETURN TO GAME [146][155]";
- 4840 GETA$:IFA$=""THEN4840
- 4850 IFA$<>"C"AND A$<>"G"THEN4840
- 4860 IFA$="G"THEN RETURN
- 4870 IFA$(10)="***"THEN RETURN
- 4880 GOTO4790
- 4890 DATA THIS IS A GAME VERY SIMILAR TO MONOPOLY
- 4900 DATA DICE ARE ROLLED AND YOU MOVE AROUND
- 4910 DATA A BOARD THE NUMBER OF SPACES ROLLED
- 4920 DATA YOU THEN HAVE A CHANCE TO BUY THE
- 4930 DATA SPACE YOU LAND ON IF IT ISN'T OWNED BY
- 4940 DATA SOMEONE ALREADY. THE DIFFERENCE
- 4950 DATA IS YOU ARE NOT BUYING PROPERTY AS IN
- 4960 DATA MONOPOLY BUT YOU ARE INSTEAD BUYING
- 4970 DATA COMPUTER COMPONENTS I.E. KEYBOARDS
- 4980 DATA MONITORS CPU'S ETC. THERE ARE 4
- 4990 DATA PLAYERS PLACED ON THE BOARD. IF THERE
- 5000 DATA ARE ONLY TWO PEOPLE YOU DIVIDE THE
- 5010 DATA PLAYERS UP. TWO TO EACH OF YOU. IF
- 5020 DATA THERE IS ONLY ONE PERSON YOU CAN
- 5030 DATA PLAY ALL FOUR PLAYERS.
- 5040 DATA IN COMPNOP ALL THE PLAYERS START WITH
- 5050 DATA $500. AS YOU BUY ITEMS YOU GAIN A
- 5060 DATA CHANCE TO GET RENT FROM THE OTHERS
- 5070 DATA IF THE OTHERS LAND ON A SPACE YOU OWN
- 5080 DATA THEY PAY YOU RENT. IF YOU LAND ON A
- 5090 DATA SPACE OWNED BY SOMEONE ELSE YOU PAY
- 5100 DATA THEM RENT. THE SPACES ARE DIVIDED
- 5110 DATA INTO GROUPS 1) MONITORS 2)CPU'S
- 5120 DATA 3) SOFTWARE 4)DOS VERSIONS 5) KEY-
- 5130 DATA BOARDS 6) STORAGE DEVICES 7) LANGUAGES
- 5140 DATA IF YOU BUY ALL OF ONE GROUP YOU
- 5150 DATA RECEIVE MORE RENT THAN NORMAL.
- 5160 DATA YOU'LL HAVE TO FIGURE OUT FROM
- 5170 DATA EXPERIENCE WHERE ON THE BOARD
- 5180 DATA THE VARIOUS COMPONENTS LIE. THATS
- 5190 DATA ALSO PART OF THE GAME. REMEMBERING
- 5200 DATA WHERE DIFFERENT COMPONENTS ARE ON
- 5210 DATA THE BOARD. LIKE CONCENTRATION.
- 5220 DATA IF YOU RUN OUT OF MONEY YOU CAN
- 5230 DATA SELL COMPONENTS TO GET MONEY
- 5240 DATA TO PAY YOUR BILLS. IF YOU DO NOT
- 5250 DATA HAVE ENOUGH MONEY OR COMPONENTS
- 5260 DATA TO COVER YOUR DEBTS...YOU ARE
- 5270 DATA BANKRUPT. THE WINNER IS THE ONE WHO
- 5280 DATA CAN BANKRUPT THE OTHER PLAYERS OR
- 5290 DATA WHO HAS THE MOST VALUE IN BOTH
- 5300 DATA MONEY AND COMPONENTS WHEN YOU CHOOSE
- 5310 DATA TO STOP THE GAME. EACH PLAYER GETS
- 5320 DATA A TURN. WHEN ALL FOUR HAVE MOVED
- 5330 DATA YOU ARE ASKED IF YOU WANT TO
- 5340 DATA CONTINUE. THIS GIVES YOU THE CHANCE
- 5350 DATA TO STOP THE GAME AT ANY POINT. IF
- 5360 DATA YOU DO STOP EARLY (BEFORE ALL BUT
- 5370 DATA ONE PLAYER IS BANKRUPT) THE COMPUTER
- 5380 DATA WILL CALCULATE THE TOTAL VALUE OF THE
- 5390 DATA ASSETS OF EACH PLAYER AND DECLARE
- 5400 DATA THE WINNER. THE COMPUTER IS THE
- 5410 DATA BANKER'. IT KEEPS TRACK OF ALL
- 5420 DATA COMPONENTS PURCHASED AND SOLD AND
- 5430 DATA HOW MUCH MONEY EACH PLAYER HAS.
- 5440 DATA THE AMOUNT OF MONEY EACH PLAYER
- 5450 DATA HAS IS DISPLAYED CONSTANTLY.
- 5460 DATA BUT THE COMPONENTS OWNED IS ONLY
- 5470 DATA DISPLAYED AT THE END OF THE GAME
- 5480 DATA OR IF A PLAYER NEEDS TO SELL
- 5490 DATA UNITS TO COVER DEBTS. HAVE FUN.
- 5500 DATA ***
- 5510 :
- 5520 REM DETERMINE WHICH COMPUTER AND SET PROPER VALUES
- 5530 X=PEEK(50003):POKE50003,0:Y=PEEK(50003)
- 5540 IFY<>0THENPOKE 59468,12
- 5550 SP=32812:WD=40:TB=0:AD=20:PT=188:SD=0:FORI=1TO16:CR$(I)="":NEXT
- 5560 IFY=0THENGOSUB5600:RETURN
- 5570 PRINT"[147]":POKE32768,96:IFPEEK(32768+1024)<>96THENWD=80
- 5580 IFWD=80THENTB=20:SP=32872:AD=0:PT=348:PRINTCHR$(142)
- 5590 RETURN
- 5600 POKE53272,21:SP=1068:SD=54272:POKE50003,X
- 5610 CR$(1)=CHR$(144):REM BLACK
- 5620 CR$(2)=CHR$(5):REM WHITE
- 5630 CR$(3)=CHR$(28):REM RED
- 5640 CR$(4)=CHR$(159):REM CYN
- 5650 CR$(5)=CHR$(156):REM PUR
- 5660 CR$(6)=CHR$(30):REM GRN
- 5670 CR$(7)=CHR$(31):REM BLU
- 5680 CR$(8)=CHR$(158):REM YEL
- 5690 CR$(9)=CHR$(129):REM ORG
- 5700 CR$(10)=CHR$(149):REM BRN
- 5710 CR$(11)=CHR$(150):REM LT RED
- 5720 CR$(12)=CHR$(151):REM GREY 1
- 5730 CR$(13)=CHR$(152):REM GREY 2
- 5740 CR$(14)=CHR$(153):REM LT GRN
- 5750 CR$(15)=CHR$(154):REM LT BLU
- 5760 CR$(16)=CHR$(155):REM GREY 3
- 5770 FORI=1TO24:POKESD+I,0:NEXT:RETURN
-