1 REM STOCKMARKET GAME 2 REM 3 REM To run this program clik F5 button . To stop hold CONTROL(CTRL) & clik BREAK button. Run Restart to start over. 4 REM 5 FOR PORT = 1 TO 10: CASH(PORT) = 5000: TRANSAC(PORT) = 0: NEXT PORT 6 COLOR 14, 0 7 DIM V(12, 15), P(10, 10, 5) 8 CODE$ = "" 10 YEAR = 0 40000 100 GOSUB 2000 200 GOSUB 1000 300 IF YEAR = 0 THEN GOSUB 1200 400 REM 450 YEAR = YEAR + 1 500 IF YEAR = 1 THEN 700 600 REM -------------- NEW PRICES 605 GOSUB 1600 630 GOSUB 2500 640 GOSUB 2800 650 GOSUB 3000 700 GOSUB 3300 720 PRINT "----------------------------------------------------------------------------": 730 PRINT "S=SELL B=BUY SS=SPLIT P=PORTFOLIOS N=NEW PRICES V=VALUE" 740 INPUT XB$ 750 IF XB$ = "B" THEN GOSUB 5000 755 IF XB$ = "S" THEN GOSUB 5000 760 IF XB$ = "P" THEN GOSUB 2000 770 IF XB$ = "N" THEN GOSUB 450 780 IF XB$ = "V" THEN GOSUB 1100 800 GOTO 700 1000 REM ------------------------------- FIRST VALUES 1010 FOR STK = 1 TO 10 1012 FOR RATIO = 1 TO 10 1015 READ V(STK, RATIO) 1020 GOTO 1038 1025 PRINT V(STK, RATIO); 1038 NEXT RATIO 1040 PRINT 1041 NEXT STK 1046 RETURN 1050 DATA .4,50000,1.3,.4,4,.055,8,.43,76,25 1051 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1052 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1053 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1054 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1055 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1056 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1057 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1058 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1059 DATA .3,50000,1.2,.4,3,.045,9,.33,16,23 1090 RETURN 1100 REM -------------------------------- RATIOS ETC. 1120 REM 1130 GOSUB 3600: REM HINTS TO BUY OR SELL 1150 REM -------------------------------- PRINT BUSINESS RATIOS 1151 CLS 1152 INPUT " TO SEE BUSINESS RATIOS.... TYPE STOCK NUMBER", STK 1155 PRINT 1157 PRINT NAMSTK$(STK), "YEAR = "; YEAR; " 12 KEYS TO STOCK VALUE" 1159 PRINT "-----------------------------------------------------" 1162 PRINT "PROFIT MARGIN = "; V(STK, 1), "BOOK VALUE = "; V(STK, 7) 1164 PRINT "NETWORTH = "; V(STK, 2), "DIVIDENDS = "; V(STK, 8) 1166 PRINT "LIQUIDITY RATIO = "; V(STK, 3), "P/E RATIO = "; V(STK, 9) 1168 PRINT "TURNOVER RATIO = "; V(STK, 4), "PAYOUT RATIO= "; V(STK, 10) 1170 PRINT "PR =(E )/BV = "; V(STK, 5), "GAIN/LOSS = "; GL(STK) 1172 PRINT "EGR =(E-D)/BV = "; V(STK, 6), "YIELD $$$$ = "; YIELD(STK) 1175 PRINT "------------------------------------------------------"; : INPUT "ANOTHER STOCK ", AN$ 1176 FOR TIP = 1 TO 2: PRINT HINT$(STK, TIP): NEXT TIP 1178 IF AN$ = "Y" THEN GOTO 1152 1190 RETURN 1200 REM ------------------------------- CALC DEPENDENT VALUES 1205 FOR STK = 1 TO 10 1210 B(STK, 1) = V(STK, 7) 1225 GF(STK) = (V(STK, 5) / 200000!) * V(STK, 2) + V(STK, 5) * 3 1270 NEXT STK 1274 RETURN 1400 REM 1490 RETURN 1600 REM -------------------------------------- CALC NEW STOCK PRICES 1603 GOSUB 3500: REM --------------------------- ROL DICE 1604 BD = YEAR 1605 FOR STK = 1 TO 10: GL = 0 1610 IF V(STK, 4) >= 3 THEN GL = GL + 2 1620 IF V(STK, 8) >= .04 THEN GL = GL + 2 1630 IF V(STK, 9) >= 15 THEN GL = GL + 5 1640 IF V(STK, 10) > .33 THEN GL = GL + 2 1645 IF V(STK, 5) > DJIA1 THEN GL = GL + 2 1650 IF V(STK, 6) > DJIA2 THEN GL = GL + 5 1660 GL(STK) = GL 1670 IF YEAR = 2 THEN BSE = GF(STK) + GL(STK) 1672 IF YEAR > 2 THEN BSE = GL(STK) 1675 DC = BSE + DICE(STK): B(STK, BD) = B(STK, BD - 1) + DC 1678 IF B(STK, BD) < 0 THEN B(STK, BD) = 1 1680 NEXT STK 1690 RETURN 2000 REM ---------------------------------------- PORTFOLIO LISTING 2010 CLS : PRINT "PORTFOLIO LISTING ========================================": PRINT : PRINT 2012 INPUT "IF ADDING NEW PLAYERS NAMES TYPE new. OTHERWISE HIT RETURN ", NEWW$ 2014 IF NEWW$ <> "new" THEN 2023 2015 FOR PORT = 1 TO 9 2016 PRINT "TYPE NEW NAME FOR PORTFOLIO NO. "; PORT; 2017 REM INPUT ; NEWW$ 2018 REM IF NEWW$ <> "Y" THEN 2020 2019 INPUT NAMINV$(PORT) 2020 NEXT PORT 2023 PRINT "NUMBER NAME OF INVESTOR ASSETS DIVIDENDS CASH" 2025 FOR PORT = 1 TO 9 2030 PRINT PORT, NAMINV$(PORT), NETW(PORT), INTR(PORT), CASH(PORT) 2035 NEXT PORT 2055 PRINT " TYPE NUMBER OF DESIRED PORTFOLIO"; 2065 INPUT PORT 2068 IF PORT < 1 THEN RETURN 2090 REM --------------------------------------------- PORTFOLIOS 2125 PRINT NAMINV$(PORT); "-------------------------------------------------- PORTFOLIO NO. "; PORT 2126 PRINT "NO. STOCK NAME PRICE/SHARE NO. SHARES PRESENT VALUE" 2127 PRINT "--------------- ----------- ---------- ------------- " 2128 FOR TRAN = 1 TO 9 2130 PRINT SN$(PORT, TRAN); " "; 2133 REM NETW(PORT)=NETW(PORT)+P(PORT,TRAN,4) 2140 PRINT P(PORT, TRAN, 2), P(PORT, TRAN, 3), P(PORT, TRAN, 4) 2142 REM 2145 NEXT TRAN 2170 INPUT YY 2175 PRINT "=========================================== NETWORTH ="; NETW(PORT) 2180 RETURN 2340 REM 2345 REM 2380 RETURN 2500 REM ------------------------------- UPDATE RATIOS 2505 FOR STK = 1 TO 10 2510 YIELD(STK) = V(STK, 8) * B(STK, YEAR) 2525 NEXT STK 2590 RETURN 2800 RETURN 3000 REM --------------- UPDATE DIVIDENDS, INTEREST, PORTFOLIO PRICES, & WORTH 3010 FOR PORT = 1 TO 10 3015 NETW(PORT) = 0 3017 NEXT PORT 3030 FOR PORT = 1 TO 10 3033 FOR TRAN = 1 TO 10 3035 STK = P(PORT, TRAN, 1) 3038 IF STK = 0 THEN 3100 3040 P(PORT, TRAN, 2) = B(STK, YEAR) 3042 P(PORT, TRAN, 4) = P(PORT, TRAN, 2) * P(PORT, TRAN, 3) 3048 INTR(PORT) = INTR(PORT) + YIELD(STK) 3050 NETW(PORT) = NETW(PORT) + P(PORT, TRAN, 4) 3100 NEXT TRAN 3105 NEXT PORT 3195 RETURN 3300 IF JKEY > 55 THEN GOSUB 60000: REM ----------------------------------------- MENU 1 3310 CLS : PRINT : PRINT : PRINT "-------------MR. JOEY EVANS' BIG BLACK STOCK MARKET SIMULATOR --------------": PRINT : PRINT 3312 PRINT "NO. NAME OF STOCK YEAR 1 2 3 4 5 6 7 8 9 10": PRINT 3320 NAMSTK$(1) = " 1. OPRIE WINFY CORP " 3321 NAMSTK$(2) = " 2. JONSEN PUBLICATIONS " 3322 NAMSTK$(3) = " 3. NUBIAN INSURANCE " 3323 NAMSTK$(4) = " 4. NEWCRIBS DEVELOPMENT " 3324 NAMSTK$(5) = " 5. LEROY & SON DRILLING " 3325 NAMSTK$(6) = " 6. TRI-SOUL TRANSPORT " 3326 NAMSTK$(7) = " 7. SHANTE'S CADDILACS " 3327 NAMSTK$(8) = " 8. BLUEBLACK ENTERPRISES" 3328 NAMSTK$(9) = " 9. SOUTHERN POWER CO. " 3329 NAMSTK$(10) = "10. STL CITY BONDS " 3330 FOR STK = 1 TO 10 3335 PRINT NAMSTK$(STK); 3344 FOR COL = 1 TO 10 3345 B = LEN(STR$(INT(B(STK, COL)))): BLANK$ = " " 3346 TEMP$ = LEFT$(BLANK$, 5 - B) 3350 PRINT STR$(INT(B(STK, COL))) + TEMP$; 3360 NEXT COL 3362 CODE$(STK) = LABL$(STK, 1) + LABL$(STK, 2) + LABL$(STK, 3) + LABL$(STK, 4) 3365 PRINT CODE$(STK) 3367 REM 3370 NEXT STK 3399 RETURN 3500 DIE = 0: REM ------------------------------------- ROLL DICE RANDOMNESS OF PRICES 3510 INPUT "WHAT IS THE DICE ROLL ? VALUE =", DIE 3520 ON DIE GOSUB 3550, 3552, 3554, 3556, 3558, 3560, 3562, 3564, 3566, 3568, 3570, 3572 3530 RETURN 3550 DICE(1) = 6: DICE(2) = 7: DICE(3) = 6: DICE(4) = 5: DICE(5) = -15: DICE(6) = 10: DICE(7) = 13: DICE(8) = 4: DICE(9) = (-45): RETURN 3552 DICE(1) = -53: DICE(2) = -3: DICE(3) = 5: DICE(4) = -5: DICE(5) = 15: DICE(6) = 3: DICE(7) = -9: DICE(8) = 11: DICE(9) = -1: RETURN 3554 DICE(1) = 4: DICE(2) = -65: DICE(3) = 3: DICE(4) = -5: DICE(5) = -10: DICE(6) = 3: DICE(7) = 10: DICE(8) = 9: DICE(9) = -1: RETURN 3556 DICE(1) = -24: DICE(2) = -5: DICE(3) = -53: DICE(4) = -50: DICE(5) = -10: DICE(6) = -43: DICE(7) = 10: DICE(8) = -9: DICE(9) = -65: RETURN 3558 DICE(1) = 4: DICE(2) = -5: DICE(3) = 3: DICE(4) = -50: DICE(5) = -100: DICE(6) = 3: DICE(7) = 10: DICE(8) = -9: DICE(9) = -15: RETURN 3560 DICE(1) = 4: DICE(2) = -5: DICE(3) = 3: DICE(4) = -50: DICE(5) = -10: DICE(6) = 3: DICE(7) = 10: DICE(8) = -9: DICE(9) = -15: RETURN 3562 DICE(1) = 24: DICE(2) = 25: DICE(3) = 53: DICE(4) = 50: DICE(5) = 110: DICE(6) = 3: DICE(7) = 10: DICE(8) = -9: DICE(9) = 25: RETURN 3564 DICE(1) = 4: DICE(2) = 25: DICE(3) = -45: DICE(4) = 5: DICE(5) = 11: DICE(6) = 3: DICE(7) = 10: DICE(8) = -9: DICE(9) = 25: RETURN 3566 DICE(1) = -88: DICE(2) = 15: DICE(3) = -65: DICE(4) = 15: DICE(5) = -40: DICE(6) = 3: DICE(7) = 15: DICE(8) = -39: DICE(9) = -5: RETURN 3568 DICE(1) = 5: DICE(2) = -35: DICE(3) = 35: DICE(4) = 5: DICE(5) = 2: DICE(6) = 53: DICE(7) = 45: DICE(8) = 29: DICE(9) = 55: RETURN 3570 DICE(1) = -5: DICE(2) = 45: DICE(3) = -35: DICE(4) = 25: DICE(5) = 5: DICE(6) = 5: DICE(7) = 35: DICE(8) = 30: DICE(9) = 15: RETURN 3572 DICE(1) = -75: DICE(2) = -25: DICE(3) = -100: DICE(4) = 65: DICE(5) = -45: DICE(6) = -35: DICE(7) = -65: DICE(8) = 15: DICE(9) = -55: RETURN 3590 RETURN 3600 REM ------------------------------- RATIOS DISPLAY 3690 RETURN 5000 REM --------------------------------------------- BUY OR SELL ROUTINE 5010 IF XB$ = "S" THEN A = -1 5011 IF XB$ = "B" THEN A = 1 5020 PRINT "INPUT YOUR PORTFOLIO NO., STOCK NO., AND NUMBER OF SHARES" 5030 INPUT PORT: INPUT STK: INPUT SHRS 5032 IF STK > 10 THEN 5020 5033 IF PORT > 10 THEN 5020 5034 REM 5035 NETW(PORT) = NETW(PORT) + A * (SHRS * B(STK, YEAR)) 5039 REM 5040 CASH(PORT) = CASH(PORT) - A * (SHRS * B(STK, YEAR)) 5045 Z5 = 0 5048 FOR T = 1 TO 10 5050 IF P(PORT, T, 1) = STK THEN TRAN = T 5052 IF P(PORT, T, 1) = STK THEN Z5 = 5 5055 NEXT T 5060 IF Z5 <> 5 THEN TRANSAC(PORT) = TRANSAC(PORT) + 1 5062 IF Z5 <> 5 THEN TRAN = TRANSAC(PORT) 5063 IF P(PORT, TRAN, 3) = 0 THEN LABL$(STK, PORT) = "" 5064 IF XB$ = "B" THEN LABL$(STK, PORT) = LEFT$(NAMINV$(PORT), 1) 5065 P(PORT, TRAN, 3) = P(PORT, TRAN, 3) + A * SHRS 5066 IF P(PORT, TRAN, 3) = 0 THEN LABL$(STK, PORT) = "" 5068 IF Z5 = 5 THEN GOTO 5100 5070 P(PORT, TRAN, 1) = STK: P(PORT, TRAN, 2) = B(STK, YEAR) 5075 SN$(PORT, TRAN) = NAMSTK$(STK) 5100 P(PORT, TRAN, 4) = P(PORT, TRAN, 2) * P(PORT, TRAN, 3) 5110 GOSUB 2000 5115 RETURN 5200 GOTO 81005 40001 INPUT #1, PKEY 40002 CLS : PRINT "PKEY="; PKEY: CLOSE #1 40003 IF PKEY > 5 THEN GOTO 81000 40004 INPUT " ENTER YOUR KEYCODE"; KYCODE 40005 OPEN "I", #1, "JOKEY" 40008 INPUT #1, JKEY 40009 CLS : PRINT "JKEY="; JKEY: CLOSE #1 40010 JKEY = JKEY + 1 40014 OPEN "O", #1, "JOKEY": PRINT #1, JKEY: CLOSE #1 40015 IF JKEY > 50 THEN GOTO 50000 40050 PRINT : PRINT " MAKE 10, 20, 30 OR MORE COPIES OF THIS DISK AND SELL THEM TO YOUR BUDDIES !!"; " USE THE DISK-LABELS PROVIDED OR WRITE PROGRAM-NAME ON THE BLANK LABELS ....." 40052 PRINT " COLLECT $5 FOR TRYOUT COST. TELL THEM THAT THE DISK WILL TELL THEM WHEN AND " 40053 PRINT " WHERE TO SEND THE OTHER $5. YOU KEEP THE $5 AS YOUR SALES PROFIT. EASY HUH?" 40060 REM ******************************* GRAVY ROUTINE 40090 PRINT : PRINT : PRINT " GO NOTEPAD OR WORDPAD AND FILE->OPEN->A:\GRAVY.TXT. PRINT IT OUT. PUT YOUR
INTO THE #3 POSITION." 40091 PRINT : PRINT " PUT #3
... INTO-> #2 POSITION" 40092 PRINT " PUT #2
... INTO-> #1 POSITION" 40093 PRINT : PRINT " PRINT THE LETTER OUT ON YOUR PRINTER. THEN FILE->SAVE AS->A:\GR.TXT" 40094 PRINT " THEN MAKE 1O COPIES TO GIVE TO 10 PEOPLE WHO NEED MONEY FAST. IT WORKS!!" 40099 PRINT : PRINT : PRINT : INPUT " HIT ENTER"; RTNN 41000 RETURN 50000 PRINT : PRINT " IMPORTANT MESSAGE TO PROGRAM BUYER !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!": PRINT 50002 PRINT : PRINT : PRINT " YOU MUST CALL (314)355-3200 TO GET YOUR ACCESS CODE. WE'LL TELL YOU WHERE" 50003 PRINT " TO SEND THE $20 BALANCE OR ANOTHER $5 TRYOUT FEE. UNTIL THEN THIS PROGRAM ": PRINT 50004 PRINT : PRINT " !!!!!!!!!!!!!!!!!!!!!!! WILL NOT WORK !!!!!!!!!!!!!!!!!!!!!!!!!!": PRINT 50005 PRINT : PRINT " WHEN WE GET A PAYMENT WE WILL CALL YOU WITH YOUR NEW ACCESS CODE. THEN AND" 50006 PRINT " ONLY THEN THIS PROGRAM WILL RUN NORMALLY FOREVER FOR $20 BALANCE OR 100 MORE" 50010 PRINT " TIMES FOR ANOTHER $5. THATS 5CENTS PER RUN " 50020 PRINT : INPUT " HIT ENTER"; ETR 50030 CLS : RETURN 60000 REM OLD GRAVY ROUTINE *********************************************** 60005 INPUT "KEYCODE"; KYCODE 60010 IF KYCODE = 11130 THEN RETURN 60012 IF KYCODE = 9236 THEN JKEY = JKEY - 50 60013 GOSUB 40014 60050 IF KYCODE = 9236 THEN GOSUB 80000 60060 IF KYCODE = 9236 THEN RETURN 60100 CLS : PRINT : PRINT : PRINT " ITS OVER....BLOW POP!" 60200 REM ***LINE 3150 IF JKEY >55 THEN 6000 ***LINE 40015 IF JKEY >50 60250 GOSUB 40000 60300 GOSUB 50000 60400 GOTO 60000 60500 RETURN 61000 REM 61020 REM NM$ = "GRAVY.TXT": REM NR = 1: REM AF = 5: REM NF = 2: REM NC = 1: RN$ = "MONEY-FACT HIT RETURN": REM NF(1, 1, 1) = JOEKEY 61055 REM GOSUB 3050: REM LOAD LETTER 61070 REM GOSUB 8000: REM WRITE OUT LETTER 80000 REM *********************************************** 80015 OPEN "I", #1, "POKEY" 80018 INPUT #1, PKEY 80019 CLS : PRINT " POKEY="; PKEY: CLOSE #1 80020 PKEY = PKEY + 1 80022 INPUT ; ANYKEY 80024 OPEN "O", #1, "POKEY": PRINT #1, PKEY: CLOSE #1 80025 IF PKEY > 4 THEN GOTO 81000 80030 RETURN 80050 REM ************************************************ 81000 GOSUB 50000 81005 PRINT "GONE TO . . END. "