10 PRINT TAB(-1,0);"**** $TOCK$ & BOND$ ****" 20 PRINT TAB(3,1);"DEMARCO-SHATZ CORPORATION 1978" 30 RANDOMIZE 1000 REM SET UP 1010 PRINT :INPUT "NUMBER OF PLAYER(S), AND YEAR(S)? ",P,T 1020 DIM B(P),V(10),S(10,P),G(10),D(10) 1030 DIM S$(3),Z$(3),M$(7),A$(10) 1040 FOR I=1 TO P: B(I)=4716.982 1050 FOR J=1 TO 10: S(J,I)=0: V(J)=100 1060 NEXT J: NEXT I 2000 REM CYCLE 2010 FOR Y=1 TO T 2020 GOSUB 5000: GOSUB 6000 2100 FOR I=1 TO P: B(I)=INT((B(I)*1.06)*100)/100 2110 GOSUB 7000: PRINT "PLAYER #";I; 2120 PRINT " COMMANDS ARE: P-PASS, S-SELL, B-BUY, M-MAX PURCHASE" 2130 PRINT "CURRENT HOLDINGS: CASH";TAB(29)"$";B(I) 2200 RESTORE 2205 FOR J=1 TO 10: READ S$,D: IF S(J,I)=0 THEN 2230 2210 PRINT TAB(4)S(J,I);TAB(9)"SHARES OF";TAB(19)S$; 2220 PRINT TAB(23)"WORTH $";TAB(30)S(J,I)*V(J) 2230 NEXT J: IF K=0 THEN PRINT " NONE" 2300 REM INPUT COMAND 2310 INPUT "- ",C$: PRINT TAB(-1,3)"- "; 2320 IF C$="P" THEN 3000 2330 IF C$="S" THEN 3100 2340 IF C$="B" THEN 3200 2350 IF C$="M" THEN 3300 2360 PRINT CHR$(13);: GOTO 2310 3000 REM PASS 3010 PRINT "PASS" 3020 NEXT I: NEXT Y: GOTO 8000 3100 REM SELL 3110 M$="SELL": GOSUB 3900: IF J=11 THEN 2300 3120 S(J,I)=S(J,I)-N: B(I)=B(I)+(V(J)*N) 3130 GOTO 3400 3200 REM BUY 3210 M$="BUY": GOSUB 3900: IF J=11 THEN 2300 3220 S(J,I)=S(J,I)+N: B(I)=B(I)-(V(J)*N) 3230 GOTO 3400 3300 REM CAL MAX 3310 INPUT "MAX PURCHASE OF? ",S$ 3320 IF LEN(S$)<3 THEN 3310 3330 PRINT SPACE(24);TAB(-1,3); :RESTORE 3335 FOR J=1 TO 10: READ Z$,D: IF Z$=S$ THEN 3350 3340 NEXT J: PRINT " - NO SUCH STOCK!": PRINT "- ";: GOTO 3300 3350 IF V(J)<=0 THEN PRINT " - STOCK NOT AVAILABLE!": GOTO 2300 3360 PRINT " WOULD BE";INT(B(I)/V(J));"SHARES" :GOTO 2300 3400 REM 3410 PRINT TAB(17,1); 3420 FOR Q=1 TO 7: PRINT SPACE(79): NEXT 3430 PRINT TAB(17,1);: GOTO 2130 3900 REM 3910 RESTORE 3915 PRINT M$;: INPUT " WHAT STOCK, NUMBER OF SHARES? ",Z$,N 3920 FOR J=1 TO 10: READ S$,D 3930 IF Z$=S$ THEN 3950 3940 NEXT J: PRINT TAB(45)CHR$(11)+"* NO SUCH STOCK *": RETURN 3950 IF C$="S" THEN 3980 3960 IF B(I)-V(J)*N>=0 THEN RETURN 3970 PRINT TAB(45)CHR$(11)+"* BALANCE ERROR *": GOTO 3995 3980 IF S(J,I)0 THEN M$="UP": RETURN 5070 M$="DOWN": RETURN 6000 REM UPDATE 6100 RESTORE 6105 FOR J=1 TO 10 6110 READ S$,D(J): IF J=1 OR D(J)=0 THEN 6200 6120 D(J)=D(J)+FNR(3)-FNR(3): IF D(J)<0 THEN D(J)=0 6200 IF V(J)=0 THEN 6500 6210 V(J)=V(J)+G(J): IF V(J)>0 THEN 6300 6220 V(J)=0: FOR K=1 TO P: S(J,K)=0: NEXT: A$(J)="-DEAD" 6300 IF V(J)<151 THEN A$(J)="": GOTO 6400 6310 FOR K=1 TO P: S(J,K)=S(J,K)*2: NEXT: A$(J)="-SPLIT" 6320 V(J)=(INT(V(J)/2)*100)/100 6400 NEXT J 6500 REM UPDATE CASH 6510 FOR K=1 TO P: FOR J=1 TO 10 6520 IF V(J)<50 THEN 6540 6530 B(K)=S(J,K)*D(J)+B(K) 6540 NEXT J: NEXT K 6600 RETURN 7000 REM POSTING 7010 PRINT TAB(-1,0): IF Y=T THEN PRINT "* LAST YEAR *";: GOTO 7030 7020 IF Y