100 REM TRAIL WEST GAME 110 REM AND WINDOW MAGIC ROUTINES 120 REM TRAIL WEST COPYRIGHT 1987 130 REM WINDOW MAGIC COPYRIGHT 1986 140 REM BY RICHARD F. DALEY 150 REM 160 REM MAY BE COPIED FOR PERSONAL USE ONLY 170 REM ANY FORM OF SALE OR DISTRIBUTION 180 REM WITHOUT PERMISSION IS FORBIDDEN. 190 REM 200 POKE 53280,13: POKE 53281,11: SYS 14848: A=RND(RND(-TI)) 210 REM 220 REM *** INITIALIZATION SEGMENT *** 230 REM 240 PRINT "[147]";CHR$(142);CHR$(8): GOSUB 3930 250 DIM BD%(10,13),CC(5),SH%(5,4),NM$(5),PN$(4),S(5),SP%(5),AS%(5) 260 DIM XB%(4,5),YB%(4,5),PC%(10,13),BC%(8) 270 FOR I=1 TO 5 280 FOR J=1 TO 4: SH%(I,J)=0: XB%(J,I)=-1: YB%(J,I)=-1: NEXT J 290 TS(I)=0: SP%(I)=100: AS%(I)=0: CC(I)=6000: NEXT I 300 NM$(1)="[150]APACHE COURIER LTD": NM$(2)="[156]BUFFALO FREIGHT" 310 NM$(3)="[152]CANYON SHIPPING CO": NM$(4)="[154]DENVER STAGE INC" 320 NM$(5)="[153]ELDORADO EXPRESS": (null) 330 EX$(1)="[150]APH": EX$(2)="[156]BUF": EX$(3)="[152]CNY": EX$(4)="[154]DNV": EX$(5)="[153]ELD" 340 TK$="[146].[146]+[158][146][218][150]A[156]B[152]C[154]D[153]E": SP=0 350 CD$="" 360 JY$="[158][213][195][195][195][201][157][157][157][157][157][194][194][157][157][157][157][157][202][195][195][195][203]" 370 BJ$="[158] [157][157][157][157][157]  [157][157][157][157][157] " 380 BL$=" ": BL$=BL$+BL$ 390 FOR I=1 TO 9: FOR J=1 TO 12: PC%(I,J)=0 400 IF INT(RND(1)*20)+1<>10 THEN BD%(I,J)=1: GOTO 420 410 BD%(I,J)=3 420 NEXT J,I: (null)(4,5,5,23): (null)(1,15,0,32,20,20) 430 T$="[150]PLUG A JOYSTICK INTO PORT 2, THEN PRESS" 440 T$=T$+CHR$(13)+"FIRE[146] TO CONTINUE." 450 (null)(1,T$) 460 JV=PEEK(56320): FB=(JV AND 16): IF FB THEN 460 470 (null)(3) 480 (null)(13,9,4,20): (null)(1,14,0,32,20,20) 490 T$="[159]HOW MANY PLAYERS ARE THERE (2-4)?": (null)(1,T$): PL=2 500 PRINT LEFT$(CD$,16);TAB(26);PL 510 FOR I3=1 TO 50: NEXT I3 520 JV=PEEK(56320): FB=(JV AND 16): JY=15-(15 AND JV) 530 IF FB=0 THEN 590 540 IF JY=1 THEN PL=PL+1 550 IF JY=2 THEN PL=PL-1 560 IF PL<2 THEN PL=4 570 IF PL>4 THEN PL=2 580 GOTO 500 590 PRINT "[147][158]" 600 GET A$: IF A$<>"" THEN 600 610 FOR I=1 TO PL: PRINT 620 PRINT "PLAYER";I;: INPUT "WHAT IS YOUR NAME [157][157][157][157]";PN$(I) 630 NEXT I: PRINT "NOW I[146] WILL DECIDE WHO WILL GO FIRST..." 640 MA=80-(PL=3) 650 FOR I3=1 TO 100: J3=J3+1: NEXT I3 660 I=INT(PL*RND(1)+1): PRINT PN$(I);" IS THE FIRST PLAYER TO MOVE." 670 FOR I3=1 TO 500: J3=J3+1: NEXT I3 680 MV=0: (null): PRINT "[147]": GOSUB 2190 690 PS=3000 700 P=I: GOTO 790 710 REM 720 REM *** MAIN GAME LOOP *** 730 REM 740 MV=MV+1: IF MV=MA THEN 3780 750 P=P+1: IF P=PL+1 THEN P=1 760 REM 770 REM *** SELECT PLAYING PIECES *** 780 REM 790 FOR I3=1 TO 5 800 IF YB%(P,I3)>0 THEN IF XB%(P,I3)>0 THEN 880 810 Y%=9*RND(1)+1: X%=12*RND(1)+1 820 IF PC%(Y%,X%)=1 THEN 810 830 FOR I1=I3-1 TO 0 STEP-1 840 IF Y%=YB%(P,I1) THEN IF X%=XB%(P,I1) THEN I1=0: NEXT I1: GOTO 810 850 NEXT I1 860 IF BD%(Y%,X%)>1 THEN 810 870 PC%(Y%,X%)=1: YB%(P,I3)=Y%: XB%(P,I3)=X% 880 NEXT I3 890 REM 900 REM *** GET PLAYER MOVE *** 910 REM 920 FOR I3=1 TO 5: MV%(I3)=0: NEXT I3: AP=0 930 PRINT LEFT$(CD$,24);"";PN$(P);", YOUR MOVE. ": JY=1 940 T$=CHR$(13)+"[159]":FOR I=1 TO 5 950 T$=T$+STR$(YB%(P,I))+" "+CHR$(64+XB%(P,I))+CHR$(13)+CHR$(13) 960 NEXT I: T$=T$+" STK"+CHR$(13)+CHR$(13)+" CAL" 970 IF AP=1 THEN T$=T$+CHR$(13)+CHR$(13)+" PAS" 980 (null)(4,31,(17+2*AP),8): (null)(0,1,42,32,5,5) 990 (null)(1,T$) 1000 PRINT LEFT$(CD$,6+2*(JY-1));TAB(32);JY$ 1010 JV=PEEK(56320): FB=(JV AND 16): JV=15-(JV AND 15) 1020 IF FB=0 THEN 1140 1030 IF JV=1 OR JV=2 THEN 1050 1040 GOTO 1010 1050 PRINT LEFT$(CD$,6+2*(JY-1));TAB(32);BJ$ 1060 IF JV=1 THEN JY=JY-1 1070 IF JV=2 THEN JY=JY+1 1080 IF JY<1 THEN JY=7+AP 1090 IF JY>(7+AP) THEN JY=1 1100 GOTO 1000 1110 REM 1120 REM *** PERFORM SELECTED MOVE *** 1130 REM 1140 (null)(3) 1150 IF JY=6 THEN GOSUB 3100: GOTO 930 1160 IF JY=7 THEN 3300 1170 IF AP=1 THEN IF JY=8 THEN 3510 1180 R=YB%(P,JY): C=XB%(P,JY) 1190 A1=BD%(R-1,C): A2=BD%(R+1,C): A3=BD%(R,C+1): A4=BD%(R,C-1) 1200 FOR I1=1 TO 5: IF AS%(I1)=0 THEN I1=5: NEXT I1: GOTO 1310 1210 NEXT I1 1220 IF A1>3 OR A2>3 OR A3>3 OR A4>3 THEN 1310 1230 IF A1=2 THEN IF A2<4 THEN IF A3<4 THEN IF A4<4 THEN 3430 1240 IF A2=2 THEN IF A1<4 THEN IF A3<4 THEN IF A4<4 THEN 3430 1250 IF A3=2 THEN IF A1<4 THEN IF A2<4 THEN IF A4<4 THEN 3430 1260 IF A4=2 THEN IF A1<4 THEN IF A2<4 THEN IF A3<4 THEN 3430 1270 IF A1=3 THEN IF A2<4 THEN IF A3<4 THEN IF A4<4 THEN 3430 1280 IF A2=3 THEN IF A1<4 THEN IF A3<4 THEN IF A4<4 THEN 3430 1290 IF A3=3 THEN IF A1<4 THEN IF A2<4 THEN IF A4<4 THEN 3430 1300 IF A4=3 THEN IF A1<4 THEN IF A2<4 THEN IF A3<4 THEN 3430 1310 YB%(P,JY)=-1: XB%(P,JY)=-1 1320 IF A1>1 THEN 1340 1330 IF A2<=1 THEN IF A3<=1 THEN IF A4<=1 THEN BD%(R,C)=2: GOTO 1690 1340 IF A1=<3 THEN 1380 1350 IF A2>3 THEN IF A2<>A1 THEN GOSUB 2340 1360 IF A3>3 THEN IF A3<>A1 THEN GOSUB 2340 1370 IF A4>3 THEN IF A4<>A1 THEN GOSUB 2340 1380 IF A2>3 THEN IF A3>3 THEN IF A3<>A2 THEN GOSUB 2340 1390 IF A2>3 THEN IF A4>3 THEN IF A4<>A2 THEN GOSUB 2340 1400 IF A3>3 THEN IF A4>3 THEN IF A4<>A3 THEN GOSUB 2340 1410 IF A1<4 THEN IF A2<4 THEN IF A3<4 THEN IF A4<4 THEN 1490 1420 IF BD%(R,C)>3 THEN 1690 1430 IF A1>3 THEN I=A1-3 1440 IF A2>3 THEN I=A2-3 1450 IF A3>3 THEN I=A3-3 1460 IF A4>3 THEN I=A4-3 1470 BD%(R,C)=I+3 1480 AS%(I)=AS%(I)+1: SP%(I)=SP%(I)+100: GOTO 1540 1490 FOR I=1 TO 5: IF AS%(I)=0 THEN 1510 1500 NEXT I: IF BD%(R,C)<3 THEN BD%(R,C)=2: GOSUB 2190: GOTO 1730 1510 T$="A NEW SHIPPING COMPANY HAS BEEN FORMED! " 1520 T$=T$+"IT'S NAME IS "+CHR$(13)+" "+NM$(I) 1530 SH%(I,P)=SH%(I,P)+5: AS%(I)=1: HS=1 1540 IF A1=3 THEN SP%(I)=SP%(I)+500 1550 IF A2=3 THEN SP%(I)=SP%(I)+500 1560 IF A3=3 THEN SP%(I)=SP%(I)+500 1570 IF A4=3 THEN SP%(I)=SP%(I)+500 1580 IF A1=2 THEN SP%(I)=SP%(I)+100: AS%(I)=AS%(I)+1: BD%(R-1,C)=I+3 1590 IF A2=2 THEN SP%(I)=SP%(I)+100: AS%(I)=AS%(I)+1: BD%(R+1,C)=I+3 1600 IF A3=2 THEN SP%(I)=SP%(I)+100: AS%(I)=AS%(I)+1: BD%(R,C+1)=I+3 1610 IF A4=2 THEN SP%(I)=SP%(I)+100: AS%(I)=AS%(I)+1: BD%(R,C-1)=I+3 1620 IF SP%(I)>=PS THEN T1=I: GOSUB 2970 1630 BD%(R,C)=I+3: AS%(I)=AS%(I)+1: GOSUB 2190: (null) 1640 IF HS=1 THEN HS=0: GOSUB 3710 1650 IF SP=0 THEN 1730 1660 PRINT LEFT$(CD$,23);TAB(4);"[153]PRESS FIRE[146] TO CONTINUE.": SP=0 1670 JV=PEEK(56320): FB=(JV AND 16): IF FB THEN 1670 1680 (null)(3): GOTO 1730 1690 GOSUB 2190 1700 REM 1710 REM *** CHECK FOR STOCK BUYS *** 1720 REM 1730 FOR I=1 TO 5: CC(P)=CC(P)+INT(.05*SH%(I,P)*SP%(I)): NEXT I 1740 T=0: FOR I=0 TO 5: T=T+AS%(I): NEXT I 1750 IF T=0 THEN 740 1760 T$="[159]PURCH"+CHR$(13): FOR I=1 TO 5 1770 T$=T$+" "+EX$(I)+CHR$(13)+CHR$(13) 1780 NEXT I: T$=T$+" [155]STK"+CHR$(13)+CHR$(13)+" END" 1790 (null)(4,31,18,8): (null)(1,13,0,32,5,5) 1800 (null)(1,T$): JY=1 1810 PRINT LEFT$(CD$,7+2*(JY-1));TAB(32);JY$ 1820 JV=PEEK(56320): FB=(JV AND 16): JV=15-(JV AND 15) 1830 IF FB=0 THEN 1920 1840 IF JV=1 OR JV=2 THEN 1860 1850 GOTO 1820 1860 PRINT LEFT$(CD$,7+2*(JY-1));TAB(32);BJ$ 1870 IF JV=1 THEN JY=JY-1 1880 IF JV=2 THEN JY=JY+1 1890 IF JY<1 THEN JY=7 1900 IF JY>7 THEN JY=1 1910 GOTO 1810 1920 IF JY=6 THEN GOSUB 3100: GOTO 1810 1930 IF JY=7 THEN: (null)(3): GOTO 740 1940 IF AS%(JY)=0 THEN: (null)(3): GOTO 1760 1950 T$="[155]HOW MANY SHARES OF "+NM$(JY) 1960 MX=INT(CC(P)/SP%(JY)): T1$=STR$(MX): T1$=RIGHT$(T1$,LEN(T1$)-1) 1970 T$=T$+"[155] TO BUY? (MAX ="+T1$+")"+CHR$(13) 1980 T$=T$+"YOUR CASH $"+STR$(CC(P))+CHR$(13)+"?[154]" 1990 (null)(16,6,7,22): (null)(1,5,0,32,1,1) 2000 (null)(1,T$) 2010 CT=0 2020 PRINT LEFT$(CD$,22);TAB(8);CT;"[157] " 2030 JV=PEEK(56320): FB=(JV AND 16): JV=15-(JV AND 15) 2040 IF FB=0 THEN 2120 2050 IF JV=1 OR JV=2 THEN 2070 2060 GOTO 2030 2070 IF JV=1 THEN CT=CT+1 2080 IF JV=2 THEN CT=CT-1 2090 IF CT<0 THEN CT=MX 2100 IF CT>MX THEN CT=0 2110 GOTO 2020 2120 SH%(JY,P)=SH%(JY,P)+CT: CC(P)=CC(P)-(CT*SP%(JY)) 2130 (null)(3) 2140 JV=PEEK(56320): FB=(JV AND 16): IF FB=0 THEN 2140 2150 GOTO 1810 2160 REM 2170 REM *** SCREEN UPDATE ROUTINE *** 2180 REM 2190 IF WN=3 THEN 2250 2200 PRINT "[147][155]";TAB(15);"TRAIL WEST" 2210 (null)(3,3,14,29): (null)(1,14,0,32,5,5): WN=3 2220 T$=" MAP OF THE WEST "+CHR$(13) 2230 T$=T$+" A B C D E F G H I J K L" 2240 (null)(1,T$) 2250 PRINT LEFT$(CD$,5);TAB(28);"[158]";MV 2260 PRINT LEFT$(CD$,7) 2270 FOR R2=1 TO 9: PRINT TAB(4);"[155]";R2;: FOR C2=1 TO 12 2280 PRINT MID$(TK$,1+(3*(BD%(R2,C2)-1)),3);"[146] "; 2290 NEXT C2: PRINT: NEXT R2 2300 (null): (null): RETURN 2310 REM 2320 REM *** CHECK FOR CHAIN ADJACENT TO PIECE PLAYED *** 2330 REM 2340 F1=A1-3: IF F1<0 THEN F1=0 2350 F2=A2-3: IF F2<0 THEN F2=0 2360 F3=A3-3: IF F3<0 THEN F3=0 2370 F4=A4-3: IF F4<0 THEN F4=0 2380 T=AS%(F1): T1=F1: IF AS%(F2)>AS%(F1) THEN T=AS%(F2): T1=F2 2390 IF AS%(F3)>T THEN T=AS%(F3): T1=F3 2400 IF AS%(F4)>T THEN T=AS%(F4): T1=F4 2410 IF F1=T1 OR A1<4 THEN 2430 2420 X=F1: GOSUB 2530 2430 IF F2=T1 OR A2<4 THEN 2450 2440 X=F2: GOSUB 2530 2450 IF F3=T1 OR A3<4 THEN 2470 2460 X=F3: GOSUB 2530 2470 IF F4=T1 OR A4<4 THEN 2490 2480 X=F4: GOSUB 2530 2490 RETURN 2500 REM 2510 REM *** ANNOUNCE MERGER *** 2520 REM 2530 T$=" [218][218][218] SPECIAL ANNOUNCEMENT[146] [218][218][218]"+CHR$(13)+CHR$(13) 2540 T$=T$+NM$(X)+" HAS JUST BEEN " 2550 T$=T$+"MERGED INTO "+NM$(T1)+"!"+CHR$(13) 2560 T$=T$+"PLEASE NOTE THE FOLLOWING TRANSACTIONS:"+CHR$(13)+CHR$(13) 2570 T$=T$+" OLD STOCK = "+NM$(X)+CHR$(13) 2580 T$=T$+" NEW STOCK = "+NM$(T1)+CHR$(13)+CHR$(13) 2590 T$=T$+" PLAYER OLD NEW TOTAL BONUS[159]"+CHR$(13) 2600 (null)(3,2,(PL+16),37): (null)(0,7,81,32,5,5) 2610 (null)(1,T$) 2620 FOR I=1 TO PL: TH=SH%(X,I) 2630 T$=LEFT$(PN$(I)+BL$,7)+LEFT$(BL$,4+(TH>9)+(TH>99)+(TH>999)): TH=SH%(T1,I) 2640 T$=T$+STR$(SH%(X,I))+LEFT$(BL$,4+(TH>9)+(TH>99)+(TH>999)) 2650 TH=SH%(T1,I)+INT((.5*SH%(X,I))+.5) 2660 T$=T$+STR$(SH%(T1,I))+LEFT$(BL$,4+(TH>9)+(TH>99)+(TH>999))+STR$(TH)+" $" 2670 X1=0: FOR I1=1 TO PL: X1=X1+SH%(X,I1): NEXT I1 2680 TH=INT(10*((SH%(X,I)/X1)*SP%(X))) 2690 T$=T$+LEFT$(BL$,5+(TH>9)+(TH>99)+(TH>999)+(TH>9999))+STR$(TH) 2700 (null)(T$): NEXT I 2710 FOR I=1 TO PL: SH%(T1,I)=SH%(T1,I)+INT((.5*SH%(X,I))+.5) 2720 CC(I)=CC(I)+INT(10*((SH%(X,I)/X1)*SP%(X))): NEXT I 2730 FOR I=1 TO 9: FOR J=1 TO 12: IF BD%(I,J)=X+3 THEN BD%(I,J)=T1+3 2740 NEXT J,I 2750 A1=BD%(R-1,C): A2=BD%(R+1,C): A3=BD%(R,C+1): A4=BD%(R,C-1) 2760 FI=A1-3: IF F1<0 THEN F1=0 2770 F2=A2-3: IF F2<0 THEN F2=0 2780 AS%(T1)=AS%(T1)+AS%(X): SP%(T1)=SP%(T1)+SP%(X) 2790 IF SP%(T1)>PS THEN GOSUB 2970 2800 F3=A3-3: IF F3<0 THEN F3=0 2810 F4=A4-3: IF F4<0 THEN F4=0 2820 SP%(X)=100: AS%(X)=0: FOR I=1 TO PL: SH%(X,I)=0: NEXT I 2830 IF A1=2 THEN SP%(T1)=SP%(T1)+100: AS%(T1)=AS%(T1)+1: BD%(R-1,C)=T1+3 2840 IF A2=2 THEN SP%(T1)=SP%(T1)+100: AS%(T1)=AS%(T1)+1: BD%(R+1,C)=T1+3 2850 IF A3=2 THEN SP%(T1)=SP%(T1)+100: AS%(T1)=AS%(T1)+1: BD%(R,C+1)=T1+3 2860 IF A4=2 THEN SP%(T1)=SP%(T1)+100: AS%(T1)=AS%(T1)+1: BD%(R,C-1)=T1+3 2870 IF SP%(T1)>PS THEN GOSUB 2970 2880 BD%(R,C)=T1+3 2890 PRINT LEFT$(CD$,PL+17);TAB(3);"[155]PRESS FIRE[146] TO CONTINUE." 2900 JV=PEEK(56320): FB=(JV AND 16): IF FB THEN 2900 2910 (null)(3): GOSUB 2190 2920 JV=PEEK(56320): FB=(JV AND 16): IF FB=0 THEN 2900 2930 RETURN 2940 REM 2950 REM *** ANNOUNCE 2 FOR 1 STOCK SPLIT *** 2960 REM 2970 T$=NM$(T1)+" [158]STOCK" 2980 T$=T$+" HAS SPLIT 2: 1!"+CHR$(13)+CHR$(13)+"[153]PRESS FIRE[146] TO CONTINUE." 2990 SP%(T1)=INT(SP%(T1)/2) 3000 FOR I1=1 TO PL: SH%(T1,I1)=2*SH%(T1,I1): NEXT I1 3010 (null)(14,8,6,28): (null)(1,15,0,32,5,5) 3020 (null)(1,T$) 3030 JV=PEEK(56320): FB=(JV AND 16): IF FB THEN 3030 3040 (null)(3) 3050 JV=PEEK(56320): FB=(JV AND 16): IF FB=0 THEN 3050 3060 RETURN 3070 REM 3080 REM *** DISPLAY INDIVIDUAL HOLDINGS *** 3090 REM 3100 NS=0: FOR I3=1 TO 5: IF SP%(I3)>100 THEN NS=NS+1 3110 NEXT I3 3120 (null)(10,2,(8+NS-(NS=0)),28): (null)(1,13,0,32,5,5) 3130 T$="STOCK PRICE HOLDINGS"+CHR$(13)+CHR$(13) 3140 IF NS=0 THEN T$=T$+" NONE"+CHR$(13) 3150 FOR I3=1 TO 5: IF SP%(I3)=100 THEN 3180 3160 T$=T$+" "+EX$(I3)+""+LEFT$(BL$,3+(SP%(I3)>999))+STR$(SP%(I3)) 3170 T$=T$+LEFT$(BL$,6+(SH%(I3,P)>9)+(SH%(I3,P)>99))+STR$(SH%(I3,P))+CHR$(13) 3180 NEXT I3 3190 T$=T$+CHR$(13)+" AVAILABLE CASH $" 3200 T1$=STR$(CC(P)): T1$=RIGHT$(T1$,LEN(T1$)-1) 3210 T$=T$+T1$+CHR$(13)+CHR$(13)+"[153]PRESS FIRE[146] TO CONTINUE." 3220 (null)(1,T$) 3230 JV=PEEK(56320): FB=(JV AND 16): IF FB THEN 3230 3240 (null)(3) 3250 JV=PEEK(56320): FB=(JV AND 16): IF FB=0 THEN 3250 3260 RETURN 3270 REM 3280 REM *** CHECK FOR VALID CALL GAME REQUEST *** 3290 REM 3300 FOR I3=3 TO 7: BC%(I3)=0 3310 NEXT I3 3320 FOR I3=1 TO 9: FOR J3=1 TO 12 3330 IF BD%(I3,J3)<3 THEN 3350 3340 BC%(BD%(I3,J3))=BC%(BD%(I3,J3))+1 3350 NEXT J3: NEXT I3 3360 NS=0: FOR I3=3 TO 7: IF BC%(I3)=0 THEN 3380 3370 IF BC%(I3)>NS THEN NS=BC%(I3) 3380 NEXT I3: IF NS>40 THEN 3780 3390 GOTO 930 3400 REM 3410 REM *** CHECK TO SET PASS FLAG *** 3420 REM 3430 MV%(JY)=1: KK=0: AP=0 3440 FOR I3=1 TO 5: IF MV%(I3)=1 THEN KK=KK+1 3450 NEXT I3 3460 IF KK=5 THEN AP=1 3470 GOTO 930 3480 REM 3490 REM *** DISCARD PLAYER SELECTED PIECE *** 3500 REM 3510 (null)(17,5,6,27): (null)(1,4,0,32,5,5) 3520 T$="WHICH PIECE TO DISCARD:"+CHR$(13)+CHR$(13): FOR I=1 TO 5 3530 T$=T$+STR$(YB%(P,I))+" "+CHR$(64+XB%(P,I))+" ": NEXT I 3540 (null)(1,T$): JY=1 3550 PRINT LEFT$(CD$,20);TAB(1+5*JY);JY$ 3560 JV=PEEK(56320): FB=(JV AND 16): JV=15-(JV AND 15) 3570 IF FB=0 THEN 3660 3580 IF JV=4 OR JV=8 THEN 3600 3590 GOTO 3560 3600 PRINT LEFT$(CD$,20);TAB(1+5*JY);BJ$ 3610 IF JV=4 THEN JY=JY-1 3620 IF JV=8 THEN JY=JY+1 3630 IF JY<1 THEN JY=5 3640 IF JY>5 THEN JY=1 3650 GOTO 3550 3660 (null)(3): PC%(YB%(P,JY),XB%(P,JY))=0 3670 YB%(P,JY)=-1: XB%(P,JY)=-1: GOTO 1730 3680 REM 3690 REM *** DISPLAY MERGER ANNOUNCEMENT *** 3700 REM 3710 (null)(16,3,8,32): (null)(0,14,90,32,20,5) 3720 T$=" [218][218][218] SPECIAL ANNOUNCEMENT[146] [218][218][218]"++CHR$(13)+CHR$(13)+T$+CHR$(13) 3730 (null)(1,T$) 3740 SP=1: RETURN 3750 REM 3760 REM *** END OF GAME STANDINGS *** 3770 REM 3780 PRINT "[147]THE GAME IS OVER.": PRINT"HERE ARE THE FINAL STANDINGS." 3790 PRINT TAB(10);"CASH VALUE";TAB(22);"CASH" 3800 PRINT "PLAYER","OF STOCK","ON HAND","NET WORTH" 3810 PRINT "[168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168]" 3820 FOR I=1 TO PL: FOR J=1 TO 5: TS(I)=TS(I)+(SP%(J)*SH%(J,I)): NEXT J,I 3830 FOR I=1 TO PL: PRINT PN$(I);TAB(11)"$";TS(I);TAB(20);"$";CC(I); 3840 PRINT TAB(30);"$";TS(I)+CC(I): NEXT I 3850 PRINT "ANOTHER GAME? "; 3860 GET A$ 3870 IF A$="Y" THEN PRINT A$: CLR: GOTO 240 3880 IF A$<>"N" THEN 3860 3890 SYS 64738 3900 REM 3910 REM *** TITLE PAGE *** 3920 REM 3930 PRINT "[147]";TAB(2);"[158] [146]  [223][146] [169] [223][146]  [146]  [146]" 3940 PRINT TAB(2);"  [146]  [146]  [146] [169][146][169] [223][223][146]  [146]  [146]" 3950 PRINT TAB(2);"  [146]  [146]  [146] [169][146][169] [223][223][146]  [146]  [146]" 3960 PRINT TAB(2);"  [146]  [146][169]  [146]  [146]  [146]" 3970 PRINT TAB(2);"  [146]  [146][223][223][146]  [146]  [146]  [146]  [146]" 3980 PRINT TAB(2);"  [146]  [146] [223][223][146]  [146]  [146]  [146]  [146]" 3990 PRINT TAB(2);"  [146]  [146] [223][223][146]  [146]  [146]  [146]  [146]" 4000 PRINT TAB(19);"BY" 4010 PRINT TAB(12);"RICHARD F. DALEY" 4020 PRINT TAB(19);"AND" 4030 PRINT TAB(13);"SALLY J. DALEY" 4040 PRINT TAB(6);"[158] [146]  [146]  [146] [169] [223][146]  [146]" 4050 PRINT TAB(6);" [146]  [146]  [146]  [146]  [146]  [146]" 4060 PRINT TAB(6);" [146]  [146]  [146]  [146]  [146]" 4070 PRINT TAB(6);" [146] [169][223][146]  [146]  [146] [223] [223][146]  [146]" 4080 PRINT TAB(6);" [146] [169][146][169][223][223][146]  [146]  [146]  [146]  [146]" 4090 PRINT TAB(6);" [169][146][169] [223][223] [146]  [146]  [146]  [146]  [146]" 4100 PRINT TAB(6);" [146][169] [223] [146]  [146] [223] [146][169]  [146]" 4110 RETURN