10 REM                   STAR TRADERS
20 REM - MODIFIED FOR 'ALTAIR BASIC 4.0' BY - S J SINGER
30 REM - MODIFIED FOR THE MICROBEE BY JOHN ZAITSEFF, 1988
40 REM - MODIFIED FOR BASIC-11 BY H. PERAZA, 2019 :)
50 REM
60 DIM M(10,13),S(5,4),P$(4),N$(5),D1(5),S1(5),Q(5),M$(12),C$(25)
70 DIM C1$(25),C2$(25)
80 DATA 1,"'ALTAIR STARWAYS'"
90 DATA 2,"'BETELGEUSE, LTD.'"
100 DATA 3,"'CAPELLA FREIGHT CO.'"
110 DATA 4,"'DENEBOLA SHIPPERS'"
120 DATA 5,"'ERIDANI EXPEDITERS'"
130 Z1$=CHR$(27)+"[H"+CHR$(27)+"[J"
140 PRINT Z1$
150 FOR I=1 TO 5
160 FOR J=1 TO 4
170 S(I,J)=0 \ D1(I)=0 \ S1(I)=100 \ Q(I)=0 \ B(I)=6000
180 NEXT J
190 NEXT I
200 L$=".+*ABCDE"
210 M$="ABCDEFGHIJKL"
220 PRINT "              **********   STAR TRADERS   **********" \ PRINT 
230 PRINT  \ PRINT 
240 RANDOMIZE
250 R1=RND(0)
260 FOR I=1 TO 9
270 FOR J=1 TO 12
280 IF INT(20*RND(0)+1)<>10 THEN M(I,J)=1 \ GO TO 300
290 M(I,J)=3
300 NEXT J
310 NEXT I
320 PRINT Z1$
330 PRINT "HOW MANY PLAYERS (1-4)"; \ INPUT P1
340 IF P1<1 THEN P1=1
350 IF P1>4 THEN P1=4
360 PRINT  \ PRINT 
370 PRINT "DOES ANY PLAYER NEED INSTRUCTIONS (TYPE 0 FOR NO)";
380 INPUT Q
390 IF Q<>0 THEN  GOSUB 3500
400 PRINT Z1$
410 FOR I=1 TO P1
420 PRINT "PLAYER";I,
430 PRINT "WHAT IS YOUR NAME"; \ INPUT P$(I)
440 NEXT I
450 PRINT Z1$
460 PRINT TAB(10),"...NOW I WILL DECIDE WHO GOES FIRST..." \ PRINT  \ PRINT 
470 PRINT  \ PRINT 
480 PRINT  \ PRINT  \ PRINT 
490 I=INT(P1*RND(0)+1)
500 PRINT  \ PRINT P$(I);
510 PRINT " IS THE FIRST PLAYER TO MOVE."
520 FOR W=1 TO 2000 \ NEXT W
530 K=0
540 P=I \ GO TO 570
550 K=K+1 \ IF K=48 THEN 4520
560 P=P+1 \ IF P=P1+1 THEN P=1
570 FOR I=1 TO 5 \ REM   SELECT 5 LEGAL MOVES
580 R(I)=INT(9*RND(0)+1)
590 C(I)=INT(12*RND(0)+1)
600 FOR I1=I-1 TO 0 STEP -1
610 IF R(I)=R(I1) THEN IF C(I)=C(I1) THEN 580
620 NEXT I1
630 IF M(R(I),C(I))>1 THEN 580
640 FOR I1=1 TO 5
650 IF Q(I1)=0 THEN 830
660 NEXT I1
670 IF M(R(I),C(I)+1)>3 THEN 830
680 IF M(R(I),C(I)-1)>3 THEN 830
690 IF M(R(I)+1,C(I))>3 THEN 830
700 IF M(R(I)-1,C(I))>3 THEN 830
710 A1=M(R(I),C(I)+1)
720 A2=M(R(I),C(I)-1)
730 A3=M(R(I)+1,C(I))
740 A4=M(R(I)-1,C(I))
750 IF A1=2 THEN IF A2<4 THEN IF A3<4 THEN IF A4<4 THEN 580
760 IF A2=2 THEN IF A1<4 THEN IF A3<4 THEN IF A4<4 THEN 580
770 IF A3=2 THEN IF A1<4 THEN IF A2<4 THEN IF A4<4 THEN 580
780 IF A4=2 THEN IF A1<4 THEN IF A2<4 THEN IF A3<4 THEN 580
790 IF A1=3 THEN IF A2<4 THEN IF A3<4 THEN IF A4<4 THEN 580
800 IF A2=3 THEN IF A1<4 THEN IF A3<4 THEN IF A4<4 THEN 580
810 IF A3=3 THEN IF A1<4 THEN IF A2<4 THEN IF A4<4 THEN 580
820 IF A4=3 THEN IF A1<4 THEN IF A2<4 THEN IF A3<4 THEN 580
830 NEXT I
840 GOSUB 2110
850 PRINT  \ PRINT 
860 PRINT P$(P);", HERE ARE YOUR LEGAL MOVES FOR THIS TURN"
870 PRINT 
880 FOR I=1 TO 5
890 PRINT STR$(R(I));SEG$(M$,C(I),C(I));" ";
900 NEXT I
910 PRINT  \ PRINT 
920 PRINT "WHAT IS YOUR MOVE"; \ LINPUT R$
930 IF LEN(R$)=0 THEN R$="S"
940 IF SEG$(R$,1,1)="M" THEN R$="" \ GO TO 960
950 GO TO 980
960 GOSUB 2110
970 GO TO 850
980 IF SEG$(R$,1,1)="S" THEN R$="" \ GO TO 1000
990 GO TO 1020
1000 GOSUB 3320
1010 GO TO 850
1020 IF LEN(R$)<>2 THEN 1080
1030 IF SEG$(R$,2,2)<"A" THEN 1080
1040 IF SEG$(R$,2,2)>"L" THEN 1080
1050 IF SEG$(R$,1,1)<"0" THEN 1080
1060 IF SEG$(R$,1,1)>"9" THEN 1080
1070 GO TO 1090
1080 PRINT "I DIDN'T UNDERSTAND THAT - TRY AGAIN " \ GO TO 920
1090 R=VAL(SEG$(R$,1,1))
1100 C=ASC(SEG$(R$,2,2))-64
1110 FOR I=1 TO 5
1120 IF R=R(I) THEN IF C=C(I) THEN 1160
1130 NEXT I
1140 PRINT "THAT SPACE WAS NOT INCLUDED IN THE LIST..."
1150 GO TO 920
1160 A1=M(R-1,C)
1170 A2=M(R+1,C)
1180 A3=M(R,C+1)
1190 A4=M(R,C-1)
1200 IF A1<=1 THEN IF A2<=1 THEN IF A3<=1 THEN IF A4<=1 THEN M(R,C)=2 \ GO TO 1220
1210 GO TO 1230
1220 GO TO 1790
1230 IF A1>3 THEN IF A2>3 THEN IF A2<>A1 THEN  GOSUB 2260 \ REM - MERGER SUB
1240 IF A1>3 THEN IF A3>3 THEN IF A3<>A1 THEN  GOSUB 2260
1250 IF A1>3 THEN IF A4>3 THEN IF A4<>A1 THEN  GOSUB 2260
1260 IF A2>3 THEN IF A3>3 THEN IF A3<>A2 THEN  GOSUB 2260
1270 IF A2>3 THEN IF A4>3 THEN IF A4<>A2 THEN  GOSUB 2260
1280 IF A3>3 THEN IF A4>3 THEN IF A4<>A3 THEN  GOSUB 2260
1290 IF A1<4 THEN IF A2<4 THEN IF A3<4 THEN IF A4<4 THEN 1390
1300 IF M(R,C)>3 THEN 1790
1310 IF A1>3 THEN I=A1-3
1320 IF A2>3 THEN I=A2-3
1330 IF A3>3 THEN I=A3-3
1340 IF A4>3 THEN I=A4-3
1350 Q(I)=Q(I)+1
1360 S1(I)=S1(I)+100
1370 M(R,C)=I+3
1380 GO TO 1550
1390 FOR I=1 TO 5
1400 IF Q(I)=0 THEN 1440
1410 NEXT I
1420 IF M(R,C)<3 THEN M(R,C)=2
1430 GO TO 1790
1440 PRINT Z1$
1450 GOSUB 3460
1460 PRINT "A NEW SHIPPING COMPANY HAS BEEN FORMED!"
1470 PRINT "IT'S NAME IS ";
1480 RESTORE 
1490 READ N,C$
1500 IF I<>N THEN 1490
1510 PRINT C$
1520 S(I,P)=S(I,P)+5
1530 Q(I)=1
1540 PRINT  \ PRINT  \ PRINT  \ PRINT 
1550 IF A1=3 THEN S1(I)=S1(I)+500
1560 IF A2=3 THEN S1(I)=S1(I)+500
1570 IF A3=3 THEN S1(I)=S1(I)+500
1580 IF A4=3 THEN S1(I)=S1(I)+500
1590 IF A1=2 THEN S1(I)=S1(I)+100 \ GO TO 1610
1600 GO TO 1630
1610 Q(I)=Q(I)+1
1620 M(R-1,C)=I+3
1630 IF A2=2 THEN S1(I)=S1(I)+100 \ GO TO 1650
1640 GO TO 1670
1650 Q(I)=Q(I)+1
1660 M(R+1,C)=I+3
1670 IF A3=2 THEN S1(I)=S1(I)+100 \ GO TO 1690
1680 GO TO 1710
1690 Q(I)=Q(I)+1
1700 M(R,C+1)=I+3
1710 IF A4=2 THEN S1(I)=S1(I)+100 \ GO TO 1730
1720 GO TO 1750
1730 Q(I)=Q(I)+1
1740 M(R,C-1)=I+3
1750 IF S1(I)>=3000 THEN T1=I \ GO TO 1770
1760 GO TO 1780
1770 GOSUB 3210
1780 M(R,C)=I+3
1790 FOR I=1 TO 5
1800 B(P)=B(P)+INT(.05*S(I,P)*S1(I))
1810 NEXT I
1820 FOR I=1 TO 5
1830 IF Q(I)=0 THEN 2090
1840 PRINT  \ PRINT "YOUR CURRENT CASH IS $";B(P)
1850 PRINT  \ PRINT "BUY HOW MANY SHARES OF ";
1860 RESTORE 
1870 READ N,C$
1880 IF I<>N THEN 1870
1890 PRINT C$;
1900 PRINT " AT $";S1(I)
1910 PRINT TAB(5);"YOU NOW OWN";S(I,P);
1920 LINPUT R3$ \ IF LEN(R3$)=0 THEN R3$="0"
1930 IF R3$(1,1)="M" THEN R3$="" \ GO TO 1950
1940 GO TO 1970
1950 GOSUB 2110
1960 GO TO 1840
1970 IF R3$(1,1)="S" THEN R3$="" \ GO TO 1990
1980 GO TO 2010
1990 GOSUB 3320
2000 GO TO 1840
2010 R3=VAL(R3$)
2020 R3$=""
2030 IF R3*S1(I)<=B(P) THEN 2060
2040 PRINT "YOU ONLY HAVE $";B(P);" - TRY AGAIN"
2050 GO TO 1840
2060 IF R3=0 THEN 2090
2070 S(I,P)=S(I,P)+R3
2080 B(P)=B(P)-(R3*S1(I))
2090 NEXT I
2100 GO TO 550
2110 PRINT Z1$ \ REM             SUBROUTINE - PRINT MAP
2120 PRINT TAB(22);"MAP OF THE GALAXY"
2130 PRINT TAB(21);"*******************"
2140 PRINT TAB(13);" A  B  C  D  E  F  G  H  I  J  K  L"
2150 FOR R2=1 TO 9
2160 PRINT "         ";R2;" ";
2170 FOR C2=1 TO 12
2180 PRINT " ";
2190 Z2=M(R2,C2)
2200 IF Z2=0 THEN Z2=Z2+1
2210 PRINT SEG$(L$,Z2,Z2);" ";
2220 NEXT C2
2230 PRINT 
2240 NEXT R2
2250 RETURN
2260 F1=A1-3 \ IF F1<0 THEN F1=0 \ REM  SUBROUTINE - CALCULATES THE
2270 F2=A2-3 \ IF F2<0 THEN F2=0 \ REM     SURVIVOR IN THE EVENT
2280 F3=A3-3 \ IF F3<0 THEN F3=0 \ REM        OF A MERGER
2290 F4=A4-3 \ IF F4<0 THEN F4=0
2300 T=Q(F1)
2310 T1=F1
2320 IF Q(F2)>Q(F1) THEN T=Q(F2) \ GO TO 2340
2330 GO TO 2350
2340 T1=F2
2350 IF Q(F3)>T THEN T=Q(F3) \ GO TO 2370
2360 GO TO 2380
2370 T1=F3
2380 IF Q(F4)>T THEN T=Q(F4) \ GO TO 2400
2390 GO TO 2410
2400 T1=F4
2410 IF F1=T1 THEN 2450
2420 IF A1<4 THEN 2450
2430 X=F1
2440 GOSUB 2580
2450 IF F2=T1 THEN 2490
2460 IF A2<4 THEN 2490
2470 X=F2
2480 GOSUB 2580
2490 IF F3=T1 THEN 2530
2500 IF A3<4 THEN 2530
2510 X=F3
2520 GOSUB 2580
2530 IF F4=T1 THEN 2570
2540 IF A4<4 THEN 2570
2550 X=F4
2560 GOSUB 2580
2570 RETURN
2580 PRINT Z1$
2590 GOSUB 3460 \ REM     SUBROUTINE - PERFORMS CALCULATIONS
2600 RESTORE  \ REM         TO ACCOMPLISH A MERGER
2610 READ N,C$
2620 IF X<>N THEN 2610
2630 C1$=C$
2640 PRINT C1$;
2650 PRINT " HAS JUST BEEN MERGED INTO ";
2660 RESTORE 
2670 READ N,C$
2680 IF T1<>N THEN 2670
2690 C2$=C$
2700 PRINT C2$;"!"
2710 PRINT "PLEASE NOTE THE FOLLOWING TRANSACTIONS:"
2720 PRINT 
2730 PRINT TAB(2);"OLD STOCK = ";C1$;"   NEW STOCK = ";
2740 PRINT C2$
2750 PRINT 
2760 PRINT "PLAYER";TAB(10);"OLD STOCK";TAB(22);"NEW STOCK";
2770 PRINT TAB(34);"TOTAL HOLDINGS";TAB(53);"BONUS PAID"
2780 PRINT 
2790 FOR I=1 TO P1
2800 PRINT P$(I);
2810 PRINT TAB(10);S(X,I);TAB(22);INT((.5*S(X,I))+.5);
2820 PRINT TAB(34);S(T1,I)+INT((.5*S(X,I))+.5);
2830 X1=0
2840 FOR I1=1 TO P1
2850 X1=X1+S(X,I1)
2860 NEXT I1
2870 PRINT TAB(53);" $";INT(10*((S(X,I)/X1)*S1(X)))
2880 NEXT I
2890 FOR I=1 TO P1
2900 S(T1,I)=S(T1,I)+INT((.5*S(X,I))+.5)
2910 B(I)=B(I)+INT(10*((S(X,I)/X1)*S1(X)))
2920 NEXT I
2930 FOR I=1 TO 9
2940 FOR J=1 TO 12
2950 IF M(I,J)=X+3 THEN M(I,J)=T1+3
2960 NEXT J
2970 NEXT I
2980 A1=M(R-1,C)
2990 A2=M(R+1,C)
3000 A3=M(R,C+1)
3010 A4=M(R,C-1)
3020 F1=A3-3
3030 IF F1<0 THEN F1=0
3040 F2=A2-3
3050 IF F2<0 THEN F2=0
3060 Q(T1)=Q(T1)+Q(X)
3070 S1(T1)=S1(T1)+S1(X)
3080 IF S1(T1)>=3000 THEN  GOSUB 3210
3090 F3=A3-3
3100 IF F3<0 THEN F3=0
3110 F4=A4-3
3120 IF F4<0 THEN F4=0
3130 S1(X)=100
3140 Q(X)=0
3150 FOR I=1 TO P1
3160 S(X,I)=0
3170 NEXT I
3180 PRINT  \ PRINT 
3190 M(R,C)=T1+3
3200 RETURN
3210 GOSUB 3460 \ REM        SUBROUTINE - CALCULATES STOCK SPLITS
3220 PRINT "THE STOCK OF ";
3230 RESTORE 
3240 READ N,C$
3250 IF T1<>N THEN 3240
3260 PRINT C$;" HAS SPLIT 2 FOR 1 !"
3270 S1(T1)=INT(S1(T1)/2)
3280 FOR I1=1 TO P1
3290 S(T1,I1)=2*S(T1,I1)
3300 NEXT I1
3310 RETURN
3320 PRINT Z1$
3330 PRINT 
3340 PRINT "STOCK";TAB(30);"PRICE PER SHARE";
3350 PRINT TAB(50);"YOUR HOLDINGS"
3360 FOR I3=1 TO 5
3370 IF S1(I3)=100 THEN 3430
3380 RESTORE 
3390 READ N,C$
3400 IF I3<>N THEN 3390
3410 PRINT C$;
3420 PRINT TAB(30);S1(I3);TAB(50);S(I3,P)
3430 NEXT I3
3440 RESTORE 
3450 RETURN
3460 PRINT CHR$(7)
3470 PRINT TAB(22);"SPECIAL ANNOUNCEMENT !!!" \ PRINT 
3480 PRINT 
3490 RETURN
3500 PRINT Z1$
3510 PRINT "   STAR LANES IS A GAME OF INTERSTELLAR TRADING."
3520 PRINT "THE OBJECT OF THE GAME IS TO AMASS THE GREATEST AMOUNT"
3530 PRINT "OF MONEY.  THIS IS ACCOMPLISHED BY ESTABLISHING VAST,"
3540 PRINT "INTERSTELLAR SHIPPING LANES, AND PURCHASING STOCK IN"
3550 PRINT "THE COMPANIES THAT CONTROL THOSE TRADE ROUTES.  DURING"
3560 PRINT "THE COURSE OF THE GAME, STOCK APPRECIATES IN VALUE AS"
3570 PRINT "THE SHIPPING COMPANIES BECOME LARGER.  ALSO, SMALLER"
3580 PRINT "COMPANIES CAN BE MERGED INTO LARGER ONES, AND STOCK"
3590 PRINT "IN THE SMALLER FIRM IS CONVERTED INTO STOCK IN THE"
3600 PRINT "LARGER ONE AS DESCRIBED BELOW." \ PRINT 
3610 PRINT "EACH TURN, THE COMPUTER WILL PRESENT THE PLAYER WITH"
3620 PRINT "FIVE PROSPECTIVE SPACES TO OCCUPY ON A 9X12 MATRIX"
3630 PRINT "(ROWS 1-9, COLUMNS A-L).  THE PLAYER, AFTER EXAMINING"
3640 PRINT "THE MAP OF THE GALAXY TO DECIDE WHICH SPACE HE WISHES"
3650 PRINT "TO OCCUPY, RESPONDS WITH THE ROW AND COLUMN OF THAT"
3660 PRINT "SPACE, I.E., 7E, 8A, ETC.  THERE ARE FOUR POSSIBLE"
3670 PRINT "MOVES A PLAYER CAN MAKE." \ PRINT  \ PRINT 
3680 PRINT 
3690 GOSUB 3710
3700 GO TO 3730
3710 PRINT "PRESS RETURN TO CONTINUE..."; \ LINPUT #0,X2$
3720 RETURN
3730 PRINT Z1$
3740 PRINT "   1. HE CAN ESTABLISH AN UNATTACHED OUTPOST- IF HE"
3750 PRINT "SELECTS A SPACE THAT IS NOT ADJACENT TO A STAR, ANOTHER"
3760 PRINT "UNATTACHED OUTPOST, OR AN EXISTING SHIPPING LANE, THIS"
3770 PRINT "SPACE WILL BE DESIGNATED WITH A '+'.  HE WILL THEN PROCEED"
3780 PRINT "WITH STOCK TRANSACTIONS, AS LISTED BELOW." \ PRINT 
3790 PRINT "   2. HE CAN ADD TO AN EXISTING LANE- IF HE SELECTS A"
3800 PRINT "SPACE THAT IS ADJACENT TO ONE - AND ONLY ONE EXISTING"
3810 PRINT "SHIPPING LANE, THE SPACE HE SELECTS WILL BE ADDED TO"
3820 PRINT "THAT SHIPPING LANE AND WILL BE DESIGNATED WITH THE FIRST"
3830 PRINT "LETTER OF THE COMPANY THAT OWNS THAT LANE.  IF THERE ARE"
3840 PRINT "ANY STARS OR UNATTACHED OUTPOSTS ALSO ADJACENT TO THE"
3850 PRINT "SELECTED SPACE, THEY, TOO, WILL BE INCORPORATED INTO THE"
3860 PRINT "EXISTING LANE.  EACH NEW SQUARE ADJACENT TO A STAR ADDS"
3870 PRINT "$500 PER SHARE, AND EACH NEW OUTPOST ADDS $100 PER SHARE"
3880 PRINT "TO THE MARKET VALUE OF THE STOCK OF THAT COMPANY."
3890 PRINT  \ PRINT 
3900 GOSUB 3710
3910 PRINT Z1$
3920 PRINT "   3. HE MAY ESTABLISH A NEW SHIPPING LANE- IF THERE"
3930 PRINT "ARE FIVE OR LESS EXISTING SHIPPING LANES ESTABLISHED,"
3940 PRINT "THE PLAYER MAY, GIVEN THE PROPER SPACE TO PLAY, ESTABLISH"
3950 PRINT "A NEW SHIPPING LANE.  HE MAY DO THIS BY OCCUPYING A SPACE"
3960 PRINT "ADJACENT TO A STAR OR ANOTHER UNATTACHED OUTPOST, BUT"
3970 PRINT "NOT ADJACENT TO AN EXISTING SHIPPING LANE.  IF HE"
3980 PRINT "ESTABLISHES A NEW SHIPPING LANE, HE IS AUTOMATICALLY"
3990 PRINT "ISSUED 5 SHARES IN THE NEW COMPANY AS A REWARD.  HE"
4000 PRINT "MAY THEN PROCEED TO BUY STOCK IN ANY ACTIVE COMPANY,"
4010 PRINT "INCLUDING THE ONE JUST FORMED, AS DESCRIBED BELOW."
4020 PRINT "THE MARKET VALUE OF THE NEW STOCK IS ESTABLISHED BY"
4030 PRINT "THE NUMBER OF STARS AND OCCUPIED SPACES AS DESCRIBED"
4040 PRINT "IN #2 ABOVE."
4050 PRINT  \ PRINT 
4060 GOSUB 3710
4070 PRINT Z1$
4080 PRINT "   4. HE MAY MERGE TWO EXISTING COMPANIES- IF A PLAYER"
4090 PRINT "SELECTS A SPACE ADJACENT TO TWO EXISTING SHIPPING"
4100 PRINT "LANES, A MERGER OCCURS.  THE LARGER COMPANY TAKES OVER THE"
4110 PRINT "SMALLER COMPANY - (IF BOTH COMPANIES ARE THE SAME SIZE"
4120 PRINT "PRIOR TO THE MERGER, THEN THE SURVIVOR IS DETERMINED BY"
4130 PRINT "ALPHABETICAL ORDER OF THE TWO COMPANY NAMES - THE EARLIER"
4140 PRINT "SURVIVES).  THE STOCK OF THE SURVIVING COMPANY IS"
4150 PRINT "INCREASED IN VALUE ACCORDING TO THE NUMBER OF SPACES"
4160 PRINT "AND STARS ADDED TO ITS LANE.  EACH PLAYERS STOCK IN"
4170 PRINT "THE DEFUNCT COMPANY IS EXCHANGED FOR SHARES IN THE"
4180 PRINT "SURVIVOR ON A RATIO OF 2 FOR 1.  ALSO, EACH PLAYER"
4190 PRINT "IS PAID A CASH BONUS PROPORTIONAL TO THE PERCENTAGE"
4200 PRINT "OF OUTSTANDING STOCK HE HELD IN THE DEFUNCT COMPANY."
4210 PRINT "NOTE: AFTER A COMPANY BECOMES DEFUNCT THROUGH THE"
4220 PRINT "MERGER PROCESS, IT CAN REAPPEAR ELSE WHERE ON THE"
4230 PRINT "BOARD WHEN, AND IF, A NEW COMPANY IS ESTABLISHED."
4240 PRINT  \ PRINT 
4250 GOSUB 3710
4260 PRINT Z1$
4270 PRINT "   NEXT THE COMPUTER ADDS STOCK DIVIDENDS TO THE PLAYER'S"
4280 PRINT "CASH ON HAND (5% OF THE MARKET VALUE OF THE STOCK IN HIS"
4290 PRINT "POSSESSION), AND OFFERS HIM THE OPPORTUNITY TO PURCHASE"
4300 PRINT "STOCK IN ANY OF THE ACTIVE COMPANIES ON THE BOARD."
4310 PRINT "STOCK MAY NOT BE SOLD, BUT THE MARKET VALUE OF EACH"
4320 PRINT "PLAYER'S STOCK IS TAKEN INTO ACCOUNT AT THE END OF THE"
4330 PRINT "GAME TO DETERMINE THE WINNER.  IF THE MARKET VALUE OF A GIVEN"
4340 PRINT "STOCK EXCEEDS $3000 AT ANY TIME DURING THE GAME, THAT"
4350 PRINT "STOCK SPLITS 2 FOR 1.  THE PRICE IS CUT IN HALF, AND "
4360 PRINT "THE NUMBER OF SHARES OWNED BY EACH PLAYER IS DOUBLED."
4370 PRINT 
4380 PRINT "NOTE:  THE PLAYER MAY LOOK AT HIS PORTFOLIO AT ANY TIME"
4390 PRINT "DURING THE COURSE OF HIS TURN BY RESPONDING WITH 'STOCK'"
4400 PRINT "TO AN INPUT STATEMENT.  LIKEWISE, HE CAN REVIEW THE MAP"
4410 PRINT "OF THE GALAXY BY TYPING 'MAP' TO AN INPUT STATEMENT."
4420 PRINT  \ PRINT 
4430 GOSUB 3710
4440 PRINT Z1$
4450 PRINT  \ PRINT  \ PRINT  \ PRINT  \ PRINT  \ PRINT  \ PRINT  \ PRINT 
4460 PRINT TAB(16);"** GAME ENDS AFTER 48 MOVES **"
4470 PRINT  \ PRINT  \ PRINT  \ PRINT 
4480 PRINT "PLAYER WITH THE GREATEST NET WORTH AT THAT POINT IS THE WINNER."
4490 PRINT  \ PRINT 
4500 FOR W=1 TO 2000 \ NEXT W
4510 RETURN
4520 PRINT Z1$
4530 GOSUB 3460
4540 FOR W=1 TO 500 \ NEXT W \ PRINT CHR$(7)
4550 FOR W=1 TO 500 \ NEXT W \ PRINT CHR$(7)
4560 PRINT TAB(10);"THE GAME IS OVER - HERE ARE THE FINAL STANDINGS"
4570 PRINT  \ PRINT  \ PRINT  \ PRINT 
4580 PRINT CHR$(7)
4590 PRINT "PLAYER";TAB(10);"CASH VALUE OF STOCK";TAB(33);"CASH ON HAND";
4600 PRINT TAB(50);"NET WORTH"
4610 PRINT 
4620 FOR I=1 TO P1
4630 FOR J=1 TO 5
4640 D1(I)=D1(I)+(S1(J)*S(J,I))
4650 NEXT J
4660 NEXT I
4670 FOR I=1 TO P1
4680 PRINT P$(I);
4690 PRINT TAB(10);"$";D1(I);TAB(33);"$";B(I);
4700 PRINT TAB(50);"$";D1(I)+B(I)
4710 NEXT I
4720 PRINT  \ PRINT  \ PRINT  \ PRINT 
4730 END
