home *** CD-ROM | disk | FTP | other *** search
- 5 REM ********************************* * "BAY STREET" *
- 10 REM* FROM * * ROGER D. BURGE *
- 15 REM*BASED ON THE COMMODORE PET 2001* * PROGRAM "STOCK" *
- 20 REM* REVISED AND UPGRADED BY * * ROGER D. BURGE *
- 25 REM* CONVERTED TO THE COMMODORE 64 * * BY *
- 30 REM* ROGER D. BURGE * * #2667 *
- 35 REM* JULY,1984 * * FOR *
- 40 REM* TORONTO PET USERS GROUP INC. * * TORONTO, CANADA *
- 45 REM* CLASSIFICATION: * * RECREATIONAL,EDUCATIONAL *
- 50 REM*********************************
- 55 POKE53280,3:POKE53281,.
- 60 K=RND(-TI):X$="[158]"
- 65 DIMSN$(6),SA(6),PN$(6),PS(6,6),PA(6),DN(3),C$(6),C(6)
- 70 GOSUB150
- 75 FORR=1TONR
- 80 D1=INT(6*RND(1))+1
- 85 D2=INT(3*RND(1))+1
- 90 D3=INT(3*RND(1))+1:D3=5*2^(D3-1)
- 95 PRINTX$" "
- 100 PRINTX$SN$(D1);DN$(D2);D3
- 105 OND2GOSUB695,730,765
- 110 GOSUB1075:NEXT
- 115 IX=21:ML=1:PRINTX$"ONE MORE ROUND Y/N ? [157][157]";:GOSUB1150
- 120 IFWK$<>"N"ANDWK$<>"Y"THEN115
- 125 IFWK$="N"THENGOSUB790:GOTO1220
- 130 FORI=1TON2:GOSUB475:NEXT
- 135 IFN1=.THENZ=.:GOSUB910
- 140 PRINT"[147]";:GOSUB340
- 145 GOTO75
- 150 DATA"SILVER"," IND ","GRAIN "," OIL ","GOLD ","BONDS "
- 155 FORI=1TO6:SA(I)=100:READSN$(I):NEXT
- 160 DATA" UP "," DOWN"," DIV "
- 165 FORI=1TO3:READDN$(I):NEXT
- 170 DATA"","[150]","[158]","","[149]","[153]"
- 175 FORI=1TO6:READC$(I):NEXT
- 180 DATA1,10,7,6,9,13
- 185 FORI=1TO6:READC(I):NEXT
- 190 GOSUB1135
- 195 IX=20:ML=1:PRINT"[142]INSTRUCTIONS? (Y/N)";:GOSUB1150
- 200 IFWK$="Y"THENGOSUB1265:GOTO210
- 205 IFWK$<>"N"THEN190
- 210 IX=24:PRINT"HOW MANY PLAYERS? (1-6) [157]";:GOSUB1150
- 215 N2=VAL(WK$)
- 220 IFN2<1ORN2>6THEN210
- 225 IFN2=1THENN1=.:GOTO245
- 230 IX=29:PRINT"MAY YOUR 64 PLAY TOO? (Y/N) [157][157]";
- 235 GOSUB1150:IFWK$<>"N"ANDWK$<>"Y"THEN230
- 240 N1=.:IFWK$="N"THENN1=1
- 245 FORI=1TON2
- 250 FORJ=1TO6:PS(I,J)=.:NEXT
- 255 PA(I)=5000
- 260 PRINT"PLAYER [157][157][157][157]";I;"WHAT IS YOUR NAME? ":ML=24
- 265 PRINT" [145]"
- 270 IX=.:GOSUB1150:PN$(I)=WK$
- 275 IFLEN(WK$)=.ORLEFT$(WK$,1)=" "THEN260
- 280 NEXT
- 285 PN$(.)="YOUR 64":PA(.)=2000
- 290 FORI=1TO6:PS(.,I)=500:NEXT
- 295 GOSUB425
- 300 IFN1=.THENI=.:GOSUB545
- 305 IFN1THENGOSUB1135
- 310 PRINTLEFT$(X$,16)"[158]HOW MANY COMPLETE ROUNDS BEFORE BUYING
- 315 [153]"AND SELLING STOCKS (1-3)? CMDCMDCMD";:IX[178]26:ML[178]1:[141]1150
- 320 NR[178][197](WK$)
- 325 [139]NR[179]1[176]NR[177]3[167]310
- 330 NR[178]NR[172](1[171]N1[170]N2):[153]"LOAD";:[141]340
- 335 [142]
- 340 [153]"OPEN BAY STREET ";
- 345 [153]" FROM ROGER D. BURGE "
- 350 [129]K[178].[164]19:[153]"CMDSAVESAVE":[151]218,132:[130]:[153]"";
- 355 [129]I[178]190[164].[169][171]10
- 360 G$[178]"PRINT#":[139]I[178]100[167]G$[178]""
- 365 GN$[178]" "[170][196](I):GN$[178][201](GN$,3):GN$[178]""[170]GN$[170]G$[170]"TAN"
- 370 [129]J[178]1[164]6:WK$[178]"TANTAN"
- 375 [139]SA(J)[177]I[167]WK$[178]C$(J)[170]" WAIT"
- 380 [139]SA(J)[178]I[167]WK$[178]C$(J)[170]"NEWNEW"
- 385 WK$[178]WK$[170]G$[170]"TAN":[139]J[179]6[167]WK$[178]WK$[170]"TANTANTAN"
- 390 GN$[178]GN$[170]WK$:[130]
- 395 I$[178][201]([196](I),[195]([196](I))[171]1)
- 400 [139][195](I$)[179]3[167][129]K[178][195](I$)[164]2:I$[178]I$[170]" ":[130]
- 405 [153]GN$""I$;
- 410 [130]
- 415 [153]" ";SN$(1);SN$(2);SN$(3);SN$(4);SN$(5);SN$(6)
- 420 [142]
- 425 [129]I[178]1[164]N2
- 430 [141]545
- 435 [153]"ONSYSYOU MUST BUY SOME STOCK":BS[178]1
- 440 [141]1030
- 445 [141]645
- 450 [139]SN[178]7[167][153]"SYSINSUFFICIENT FUNDS":[129]K[178].[164]2000:[130]:[141]545:[137]440
- 455 [141]475
- 460 [139]PA(I)[178]5000[167]430
- 465 [130]
- 470 [142]
- 475 [141]545
- 480 BS[178].:IX[178]28:ML[178]1:[153]"ONBUY, SELL OR NOTHING B/S/N? CMDCMD";:[141]1150
- 485 [139]WK$[179][177]"N"[175]WK$[179][177]"S"[175]WK$[179][177]"B"[167][153]:[153]"ONON":[137]480
- 490 [139]WK$[178]"B"[167]BS[178]1
- 495 [139]WK$[178]"N"[167][142]
- 500 SB$[178]WK$:[153]:[153]"ON
- 505 GOSUB1030
- 510 IFSB$="S"THENGOSUB670
- 515 IFSB$="B"THENGOSUB645
- 520 IFSN<7THEN475
- 525 IFSB$="S"THENPRINT"[158]YOU DON'T OWN ENOUGH STOCK"
- 530 IFSB$="B"THENPRINT"[158]YOU DON'T HAVE ENOUGH MONEY"
- 535 FORK=1TO2000:NEXT
- 540 GOTO475
- 545 PRINT"[147][158] BAY STREET ";
- 550 PRINT" FROM ROGER D. BURGE [146]";
- 555 WK$=" PORTFOLIO - "+PN$(I):WK=INT((40-LEN(WK$))/2):FORK=1TOWK:WK$=" "+WK$
- 560 NEXT:WK=40-LEN(WK$):FORK=1TOWK:WK$=WK$+" ":NEXT:PRINT"[159]"WK$
- 565 PRINT" # DESC VALUE HOLDINGS"
- 570 PRINT" [163][160][160][163][163][163][163][160] [160][163][163][163][163][163][160] [160][163][163][163][163][163][163][163][163]"
- 575 FORK=1TO6
- 580 WK$=" "+STR$(SA(K)):V$=RIGHT$(WK$,3)
- 585 WK=PS(I,K):WK$=" "+STR$(WK)
- 590 :WK$=RIGHT$(WK$,7)
- 595 IFWK<1000THENH$=" "+WK$
- 600 IFWK>500THENH$=LEFT$(WK$,4)+","+RIGHT$(WK$,3)
- 605 WK$=" "+STR$(K)+" "
- 610 PRINTWK$;
- 615 IFLEFT$(SN$(K),1)=" "THENPRINTRIGHT$(SN$(K),LEN(SN$(K))-1)" ";:GOTO625
- 620 PRINTSN$(K);
- 625 PRINT" ";V$;" ";H$
- 630 NEXT
- 635 PRINT:PRINT"CASH ON HAND --- ";PA(I):PRINT
- 640 RETURN
- 645 WK=SA(SN)*SQ/100:PT=1
- 650 IFWK>PA(I)THENSN=7:RETURN
- 655 PA(I)=PA(I)-WK
- 660 PS(I,SN)=PS(I,SN)+SQ
- 665 RETURN
- 670 PT=1
- 675 IFSQ>PS(I,SN)THENSN=7:RETURN
- 680 PA(I)=PA(I)+SA(SN)*SQ/100
- 685 PS(I,SN)=PS(I,SN)-SQ
- 690 RETURN
- 695 SA(D1)=SA(D1)+D3
- 700 IFSA(D1)<200THENRETURN
- 705 SA(D1)=100
- 710 FORI=N1TON2
- 715 PS(I,D1)=PS(I,D1)*2
- 720 NEXT
- 725 RETURN
- 730 SA(D1)=SA(D1)-D3
- 735 IFSA(D1)>.THENRETURN
- 740 SA(D1)=100
- 745 FORI=N1TON2
- 750 PS(I,D1)=.
- 755 NEXT
- 760 RETURN
- 765 IFSA(D1)<100THENRETURN
- 770 FORI=N1TON2
- 775 :PA(I)=PA(I)+PS(I,D1)*D3/100
- 780 NEXT
- 785 RETURN
- 790 GOSUB1135:PRINT"PLAYER NAME CASH VALUE"
- 795 PRINT"[163][163][163][163][163][163][163][163][163][163][163] [163][163][163][163][163][163][163][163][163][163]"
- 800 FORK=N1TON2
- 805 FORJ=1TO6
- 810 ::PA(K)=PA(K)+SA(J)*PS(K,J)/100
- 815 NEXT
- 820 NEXT
- 825 FORK=N1TON2
- 830 :WK=-1
- 835 FORJ=N1TON2
- 840 IFPA(J)>WKTHENWK=PA(J):I=J
- 845 :NEXT
- 850 WK$=" "+STR$(PA(I))
- 855 WK$=RIGHT$(WK$,8):V$=LEFT$(WK$,2)
- 860 IFV$<>" "THENV$=V$+","
- 865 IFV$= " "THENV$=V$+" "
- 870 :V$=V$+MID$(WK$,3,3)
- 875 IFRIGHT$(V$,1)<>" "THENV$=V$+","
- 880 IFRIGHT$(V$,1)=" "THENV$=V$+" "
- 885 :V$=V$+RIGHT$(WK$,3)
- 890 PRINT" "PN$(I);TAB(28);V$:PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
- 895 :PA(I)=-1
- 900 NEXT
- 905 RETURN
- 910 I=.:PT=.:GOSUB545:PRINT"[145]";
- 915 FORSN=1TO6:SQ=PS(.,SN)
- 920 IFSA(SN)<95ANDSQ>.THENPRINT"SELL";SQ;SN$(SN):Z=Z+1:GOSUB670
- 925 IFZ=10THENPRINT"[147]
- 930 [130]
- 935 [129]K[178]1[164]1500:[130]
- 940 [139]PA(.)[179]600[167][141]1005:[142]
- 945 WK[178]0:SQ[178]999999
- 950 [129]J[178]1[164]6
- 955 [139]SA(J)[177]105[175]PS(.,J)[179]SQ[167]WK[178]J:SQ[178]PS(.,J)
- 960 [130]
- 965 SN[178]WK
- 970 [139]WK[178].[167][141]1005:[142]
- 975 SQ[178]500:[141]645
- 980 [139]SN[178]7[167][141]1005:[142]
- 985 [139]Z[178]10[167][153]"LOAD
- 990 PRINT"BUY 500 ";SN$(SN):Z=Z+1
- 995 FORK=1TO1000:NEXT
- 1000 GOTO945
- 1005 FORK=1TO300:NEXT
- 1010 IFPT=1THENGOSUB545
- 1015 IFPT=.THENPRINT:PRINT"NO TRANSACTIONS"
- 1020 FORK=1TO2000:NEXT
- 1025 RETURN
- 1030 PRINT"STOCK#? [157][157]";
- 1035 IX=8:ML=1:GOSUB1150:SN=VAL(WK$)
- 1040 IFSN<1ORSN>6THENPRINT:PRINT"[145][145][145]":GOTO1030
- 1045 IFBSTHENGOSUB1250
- 1050 PRINT:PRINT"QUANTITY? ";
- 1055 ML=6:IX=10:GOSUB1150:SQ=VAL(WK$)
- 1060 WK=SQ-INT(SQ/500)*500
- 1065 IFWKTHENPRINT"[145] [157][157][157][157][157][157][157]";:GOTO1055
- 1070 RETURN
- 1075 S1=1024+764+(D1-1)*6:C1=S1+54272
- 1080 FORK=.TO190STEP10
- 1085 WK=64
- 1090 IFSA(D1)>KTHENWK=160
- 1095 IFSA(D1)=KTHENWK=98
- 1100 POKES1,WK:POKES1+1,WK:IFWK>64THENPOKEC1,C(D1):POKEC1+1,C(D1):GOTO1115
- 1105 IFK=100THENPOKEC1,2:POKEC1+1,2:GOTO1115
- 1110 POKEC1,12:POKEC1+1,12
- 1115 S1=S1-40:C1=C1-40
- 1120 NEXT
- 1125 FORK=1TO500:NEXT
- 1130 RETURN
- 1135 PRINT"[147][159] BAY STREET ";
- 1140 PRINT" FROM ROGER D. BURGE ":RETURN
- 1150 WK$="":POKE198,.
- 1155 POKE211,IX:POKE204,.
- 1160 POKE207,.:GETIT$:IFIT$=""THEN1160
- 1165 IT=ASC(IT$):IFIT=13THEN1210
- 1170 IFIT=20THEN1190
- 1175 IFIT<31ORIT>96THEN1160
- 1180 IFLEN(WK$)=MLTHEN1160
- 1185 PRINTIT$;:WK$=WK$+IT$:GOTO1160
- 1190 IFLEN(WK$)=.THEN1160
- 1195 WK$=LEFT$(WK$,LEN(WK$)-1)
- 1200 IFPEEK(207)=.THENPRINT"[157] [157][157]";:GOTO1160
- 1205 GOTO1200
- 1210 IFPEEK(207)=.THENPOKE204,1:PRINT" ":RETURN
- 1215 GOTO1210
- 1220 PRINTX$"WOULD YOU LIKE TO PLAY AGAIN? (Y/N) [157]";:IX=36:GOSUB1150
- 1225 IFWK$="Y"THENRUN
- 1230 IFWK$="N"THEN1240
- 1235 GOTO1220
- 1240 POKE53280,3:POKE53281,1:PRINT"[147]"
- 1245 END
- 1250 PU=INT((PA(I)*100/SA(SN))/500)*500
- 1255 PRINT"[158]YOU CAN BUY UP TO"PU"SHARES":PRINT"IN UNITS OF 5OO":RETURN
- 1260 RETURN
- 1265 POKE53280,.:PRINT"[145][145]":GOSUB1395:PRINT" WELCOME TO BAY STREET.
- 1270 [153]"HEART OF CANADA'S WORLD OF HIGH FINANCE!":[141]1395
- 1275 [153]" A GAME FOR 1 TO 6 PEOPLE....":[153]"AND YOUR 64 LIKES TO PLAY TOO.
- 1280 PRINT" HE'S THE BANKER AS WELL, BUT DON'T WORRY, HE NEVER CHEATS.
- 1285 [153]" NOTE: IN ONE PLAYER GAMES YOU MUST PLAYAGAINST YOUR 64. IN MULTI-";
- 1290 [153]" PLAYER GAMES YOU CHOOSE WHETHER OR NOT TO LET HIM PLAY.
- 1295 PRINT" THE OBJECT OF THE GAME IS TO PLAY THE STOCK MARKET SUCCESSFULLY.";
- 1300 PRINT" YOU BUY AND SELL STOCKS (IN BLOCKS OF 500 SHARES) FROM SIX ";
- 1305 PRINT"CATEGORIES.":PRINT" THEN WATCH THE STOCKS RISE, FALL AND PAY ";
- 1310 PRINT"DIVIDENDS ON THE TORONTO STOCK EXCHANGE.
- 1315 [153]"PRINT PRESS ANY KEY TO CONTINUE... ":[151]198,.
- 1320 [161]A$:[139]A$[178]""[167]1320
- 1325 [141]1135:[141]1395
- 1330 [153]" IF A STOCK'S VALUE REACHES THE TOP IT 'SPLITS' AND YOU DOUBLE";
- 1335 [153]" ANY SHARES YOU HAVE IN IT.
- 1340 PRINT" IF A STOCK'S VALUE DROPS BELOW ZERO THEN IT 'CRASHES' AND YOU ";
- 1345 PRINT"LOSE ANY STOCKYOU HAVE IN IT.
- 1350 [153]"DIVIDENDS ARE BASED ON THE MARKET VALUEOF THE STOCK AND HOW MUCH";
- 1355 [153]" YOU HAVE.
- 1360 PRINT" WHEN BUYING OR SELLING, PRICES ARE BASED STRICTLY ON MARKET";
- 1365 PRINT" VALUE.
- 1370 [153]" YOUR 64 WILL HANDLE ALL THE DETAILS.
- 1375 PRINT" DON' BE AFRAID TO TAKE CHANCES!
- 1380 [153]"PRINT PRESS ANY KEY TO PLAY. ":[151]198,.
- 1385 [161]A$:[139]A$[178]""[167]1385
- 1390 [151]53280,3:[141]1135:[142]
- 1395 [153]"PRINTON----------------------------------------";:[142]
-