home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpmug / cpmug021.ark / TRADE.ASC < prev    next >
Text File  |  1984-04-29  |  16KB  |  467 lines

  1. 5 REM                   STAR TRADERS
  2. 10 REM - MODIFIED FOR 'ALTAIR BASIC 4.0' BY - S J SINGER
  3. 20 REM
  4. 30 REM
  5. 35 DEFINT C
  6. 36 DEFINT I
  7. 40 DIM M(10,13),S(5,4),N$(5),D1(5),S1(5),Q(5),M$(12),C$(25)
  8. 50 DIM C1$(25),C2$(25)
  9. 60 DATA 1,"'ALTAIR STARWAYS'"
  10. 70 DATA 2,"'BETELGEUSE,LTD.'"
  11. 80 DATA 3,"'CAPELLA FREIGHT CO.'"
  12. 90 DATA 4,"'DENEBOLA SHIPPERS'"
  13. 100 DATA 5,"'ERIDANI EXPEDITERS'"
  14. 110 Z1$=CHR$(26)+CHR$(0)
  15. 120 PRINT Z1$
  16. 130   FOR I=1 TO 5
  17. 140    FOR J=1 TO 4
  18. 150 S(I,J)=0: D1(I)=0: S1(I)=100: Q(I)=0: B(I)=6000
  19. 160    NEXT J
  20. 170   NEXT I
  21. 180 L$=".+*ABCDE"
  22. 190 M$="ABCDEFGHIJKL"
  23. 195 PRINT"              **********   STAR TRADERS   **********":PRINT
  24. 197 PRINT:PRINT
  25. 200 INPUT "TYPE A 3 DIGIT NUMBER  ";R1
  26. 220 R1=RND(-R1/1000)
  27. 230   FOR I=1 TO 9
  28. 240    FOR J=1 TO 12
  29. 250 IF INT(20*RND(R1)+1)<>10 THEN M(I,J)=1 ELSE M(I,J)=3
  30. 260   NEXT J
  31. 270  NEXT I
  32. 280 PRINT Z1$
  33. 290 INPUT "HOW MANY PLAYERS  (2-4)  ";P1
  34. 300 PRINT:PRINT
  35. 310 INPUT "DOES ANY PLAYER NEED INSTRUCTIONS  ";Q$
  36. 320 IF Q$     ="Y" THEN GOSUB 3410
  37. 330 PRINT Z1$
  38. 340   FOR I=1 TO P1
  39. 350 PRINT "PLAYER",I,
  40. 370 INPUT " WHAT IS YOUR NAME  ";P$
  41. 380 IF I=1 THEN P1$=P$
  42. 390 IF I=2 THEN P2$=P$
  43. 400 IF I=3 THEN P3$=P$
  44. 410 IF I=4 THEN P4$=P$
  45. 420   NEXT I
  46. 430 PRINT Z1$
  47. 440 PRINT TAB(10),"...NOW I WILL DECIDE WHO GOES FIRST...":: PRINT:PRINT
  48. 445 PRINT:PRINT
  49. 450 PRINT:PRINT:PRINT
  50. 460 I=INT(P1*RND(R1)+1)
  51. 470 GOSUB 490
  52. 480 GOTO 550
  53. 490 PRINT
  54. 500 ON I GOTO 510,520,530,540: REM - IDENTIFY PLAYER
  55. 510 PRINT P1$;:P5$=P1$: RETURN
  56. 520 PRINT P2$;:P5$=P2$: RETURN
  57. 530 PRINT P3$;:P5$=P3$: RETURN
  58. 540 PRINT P4$;:P5$=P4$: RETURN
  59. 550 PRINT " IS THE FIRST PLAYER TO MOVE."
  60. 560 FOR W=1 TO 2000: NEXT
  61. 570 K=0
  62. 580 P=I:GOTO 610
  63. 590 K=K+1: IF K=48 THEN 4450
  64. 600 P=P+1: IF P=P1+1 THEN P=1
  65. 610  FOR I=1 TO 5: REM   SELECT 5 LEGAL MOVES
  66. 620 R(I)=INT(9*RND(R1)+1)
  67. 630 C(I)=INT(12*RND(R1)+1)
  68. 640    FOR I1=I-1 TO 0 STEP -1
  69. 650 IF R(I)=R(I1) AND C(I)=C(I1) THEN  620
  70. 660    NEXT I1
  71. 670 IF M(R(I),C(I))>1 THEN 620
  72. 680    FOR I1=1 TO 5
  73. 690 IF Q(I1)=0 THEN  870
  74. 700    NEXT I1
  75. 710 IF M(R(I),C(I)+1)>3 THEN 870
  76. 720 IF M(R(I),C(I)-1)>3 THEN 870
  77. 730 IF M(R(I)+1,C(I))>3 THEN 870
  78. 740 IF M(R(I)-1,C(I))>3 THEN 870
  79. 750 A1=M(R(I),C(I)+1)
  80. 760 A2=M(R(I),C(I)-1)
  81. 770 A3=M(R(I)+1,C(I))
  82. 780 A4=M(R(I)-1,C(I))
  83. 790 IF A1=2 AND A2<4 AND A3<4 AND A4<4 THEN  620
  84. 800 IF A2=2 AND A1<4 AND A3<4 AND A4<4 THEN  620
  85. 810 IF A3=2 AND A1<4 AND A2<4 AND A4<4 THEN  620
  86. 820 IF A4=2 AND A1<4 AND A2<4 AND A3<4 THEN  620
  87. 830 IF A1=3 AND A2<4 AND A3<4 AND A4<4 THEN  620
  88. 840 IF A2=3 AND A1<4 AND A3<4 AND A4<4 THEN  620
  89. 850 IF A3=3 AND A1<4 AND A2<4 AND A4<4 THEN  620
  90. 860 IF A4=3 AND A1<4 AND A2<4 AND A3<4 THEN  620
  91. 870   NEXT I
  92. 880 GOSUB 2060
  93. 890 PRINT
  94. 900 I=P
  95. 910 GOSUB 490
  96. 920 PRINT ", HERE ARE YOUR LEGAL MOVES FOR THIS TURN"
  97. 930 PRINT
  98. 940   FOR I=1 TO 5
  99. 950 PRINT R(I);MID$(M$,C(I),1);" ";
  100. 960   NEXT I
  101. 970 PRINT:PRINT
  102. 980 INPUT "WHAT IS YOUR MOVE ";R$
  103. 990 IF LEN(R$)=0 THEN R$="S"
  104. 1000 IF LEFT$(R$,1)="M" THEN R$="" ELSE 1030
  105. 1010 GOSUB 2060
  106. 1020 GOTO 900
  107. 1030 IF LEFT$(R$,1)="S" THEN R$="" ELSE 1060
  108. 1040 GOSUB 3230
  109. 1050 GOTO 900
  110. 1060 IF LEN(R$)<>2 THEN 1110
  111. 1070 IF ASC(MID$(R$,2,1))-64<1 THEN 1110
  112. 1080 IF ASC(MID$(R$,2,1))-64>12 THEN 1110 ELSE 1120
  113. 1090 IF VAL(R$)<1 THEN 1110
  114. 1100 IF VAL(R$)>9 THEN 1110
  115. 1110 PRINT "I DIDN'T UNDERSTAND THAT - TRY AGAIN ": GOTO 980
  116. 1120 R=VAL(LEFT$(R$,1))
  117. 1130 C=ASC(RIGHT$(R$,1))-64
  118. 1140   FOR I= 1 TO 5
  119. 1150 IF R=R(I) AND C=C(I) THEN  1190
  120. 1160   NEXT I
  121. 1170 PRINT "THAT SPACE WAS NOT INCLUDGD IN THE LIST..."
  122. 1180 GOTO 980
  123. 1190 A1=M(R-1,C)
  124. 1200 A2=M(R+1,C)
  125. 1210 A3=M(R,C+1)
  126. 1220 A4=M(R,C-1)
  127. 1230 IF A1<=1 AND A2<=1 AND A3<=1 AND A4<=1 THEN M(R,C)=2 ELSE 1250
  128. 1240 GOTO 1760
  129. 1250 IF A1>3 AND A2>3 AND A2<>A1 THEN GOSUB 2220:REM - LINE 2090 IS
  130. 1260 IF A1>3 AND A3>3 AND A3<>A1 THEN GOSUB 2220\REM   THE MERGER SUB.
  131. 1270 IF A1>3 AND A4>3 AND A4<>A1 THEN GOSUB 2220
  132. 1280 IF A2>3 AND A3>3 AND A3<>A2 THEN GOSUB 2220
  133. 1290 IF A2>3 AND A4>3 AND A4<>A2 THEN GOSUB 2220
  134. 1300 IF A3>3 AND A4>3 AND A4<>A3 THEN GOSUB 2220
  135. 1310 IF A1<4 AND A2<4 AND A3<4 AND A4<4 THEN 1410
  136. 1320 IF M(R,C)>3 THEN 1760
  137. 1330 IF A1>3 THEN I=A1-3
  138. 1340 IF A2>3 THEN I=A2-3
  139. 1350 IF A3>3 THEN I=A3-3
  140. 1360 IF A4>3 THEN I=A4-3
  141. 1370 Q(I)=Q(I)+1
  142. 1380 S1(I)=S1(I)+100
  143. 1390 M(R,C)=I+3
  144. 1400 GOTO 1570
  145. 1410   FOR I=1 TO 5
  146. 1420 IF Q(I)=0 THEN 1460
  147. 1430   NEXT I
  148. 1440 IF M(R,C)<3 THEN M(R,C)=2
  149. 1450 GOTO 1760
  150. 1460 PRINT Z1$
  151. 1470 GOSUB 3370
  152. 1480 PRINT "A NEW SHIPPING COMPANY HAS BEEN FORMED !"
  153. 1490 PRINT "IT'S NAME IS ",
  154. 1500 RESTORE
  155. 1510 READ N,C$
  156. 1520 IF I<>N THEN 1510
  157. 1530 PRINT C$
  158. 1540 S(I,P)=S(I,P)+5
  159. 1550 Q(I)=1
  160. 1560 PRINT:PRINT:PRINT:PRINT
  161. 1570 IF A1=3 THEN S1(I)=S1(I)+500
  162. 1580 IF A2=3 THEN S1(I)=S1(I)+500
  163. 1590 IF A3=3 THEN S1(I)=S1(I)+500
  164. 1600 IF A4=3 THEN S1(I)=S1(I)+500
  165. 1610 IF A1=2 THEN S1(I)=S1(I)+100 ELSE 1640
  166. 1620 Q(I)=Q(I)+1
  167. 1630 M(R-1,C)=I+3
  168. 1640 IF A2=2 THEN S1(I)=S1(I)+100 ELSE 1670
  169. 1650 Q(I)=Q(I)+1
  170. 1660 M(R+1,C)=I+3
  171. 1670 IF A3=2 THEN S1(I)=S1(I)+100 ELSE 1700
  172. 1680 Q(I)=Q(I)+1
  173. 1690 M(R,C+1)=I+3
  174. 1700 IF A4=2 THEN S1(I)=S1(I)+100 ELSE 1730
  175. 1710 Q(I)=Q(I)+1
  176. 1720 M(R,C-1)=I+3
  177. 1730 IF S1(I)>=3000 THEN T1=I ELSE 1750
  178. 1740 GOSUB 3100
  179. 1750 M(R,C)=I+3
  180. 1760  FOR I=1 TO 5
  181. 1770 B(P)=B(P)+INT(.05*S(I,P)*S1(I))
  182. 1780  NEXT I
  183. 1790  FOR I=1 TO 5
  184. 1800 IF Q(I)=0 THEN 2040
  185. 1810 PRINT:PRINT   "YOUR CURRENT CASH= $";B(P)
  186. 1820 PRINT:PRINT   "BUY HOW MANY SHARES OF ";
  187. 1830 RESTORE
  188. 1840 READ N,C$
  189. 1850 IF I<>N THEN 1840
  190. 1860 PRINT C$;
  191. 1870 PRINT " AT $";S1(I)
  192. 1880 PRINT TAB(5); "YOU NOW OWN ";S(I,P);
  193. 1890 INPUT R3$:IF LEN(R3$)=0 THEN R3$="0"
  194. 1900 IF R3$(1,1)="M" THEN R3$="" ELSE 1930
  195. 1910 GOSUB 2060
  196. 1920 GOTO 1810
  197. 1930 IF R3$(1,1)="S" THEN R3$="" ELSE 1960
  198. 1940 GOSUB 3230
  199. 1950 GOTO 1810
  200. 1960 R3=VAL(R3$)
  201. 1970 R3$=""
  202. 1980 IF R3*S1(I)<=B(P) THEN 2010
  203. 1990 PRINT "YOU ONLY HAVE $";B(P);" - TRY AGAIN"
  204. 2000 GOTO 1810
  205. 2010 IF R3=0 THEN 2040
  206. 2020 S(I,P)=S(I,P)+R3
  207. 2030 B(P)=B(P)-(R3*S1(I))
  208. 2040   NEXT I
  209. 2050 GOTO 590
  210. 2060 PRINT Z1$: REM             SUBROUTINE - PRINT MAP
  211. 2070 PRINT TAB(22);"MAP OF THE GALAXY"
  212. 2080 PRINT TAB(21);"*******************"
  213. 2090 PRINT TAB(13);" A  B  C  D  E  F  G  H  I  J  K  L"
  214. 2100   FOR R2=1 TO 9
  215. 2110 PRINT"         ";R2;" ";
  216. 2120 FORC2=1TO12
  217. 2130 PRINT" ";
  218. 2140 Z2=M(R2,C2)
  219. 2150 IFZ2=0THENZ2=Z2+1
  220. 2160 PRINTMID$(L$,Z2,1)" ";
  221. 2180 NEXT
  222. 2190 PRINT
  223. 2200 NEXT
  224. 2210 RETURN
  225. 2220 F1=A1-3: IF F1<0 THEN F1=0:REM  SUBROUTINE - CALCULATES THE
  226. 2230 F2=A2-3: IF F2<0 THEN F2=0:REM     SURVIVOR IN THE EVENT
  227. 2240 F3=A3-3: IF F3<0 THEN F3=0:REM        OF A MERGER
  228. 2250 F4=A4-3: IF F4<0 THEN F4=0
  229. 2260 T=Q(F1)
  230. 2270 T1=F1
  231. 2280 IF Q(F2)>Q(F1) THEN T=Q(F2) ELSE 2300
  232. 2290 T1=F2
  233. 2300 IF Q(F3)>T THEN T=Q(F3) ELSE 2320
  234. 2310 T1=F3
  235. 2320 IF Q(F4)>T THEN T=Q(F4) ELSE 2340
  236. 2330 T1=F4
  237. 2340 IF F1=T1 OR A1<4 THEN 2370
  238. 2350 X=F1
  239. 2360 GOSUB 2470
  240. 2370 IF F2=T1 OR A2<4 THEN 2400
  241. 2380 X=F2
  242. 2390 GOSUB 2470
  243. 2400 IF F3=T1 OR A3<4 THEN 2430
  244. 2410 X=F3
  245. 2420 GOSUB 2470
  246. 2430 IF F4=T1 OR A4<4 THEN 2460
  247. 2440 X=F4
  248. 2450 GOSUB 2470
  249. 2460 RETURN
  250. 2470 PRINT Z1$
  251. 2480 GOSUB 3370: REM     SUBROUTINE - PERFORMS CALCULATIONS
  252. 2490 RESTORE: REM         TO ACCOMPLISH A MERGER
  253. 2500 READ N,C$
  254. 2510 IF X<>N THEN 2500
  255. 2520 C1$=C$
  256. 2530 PRINT C1$;
  257. 2540 PRINT " HAS JUST BEEN MERGED INTO ";
  258. 2550 RESTORE
  259. 2560 READ N,C$
  260. 2570 IF T1<>N THEN 2560
  261. 2580 C2$=C$
  262. 2590 PRINT C2$;"!"
  263. 2610 PRINT "PLEASE NOTE THE FOLLOWING TRANSACTIONS."
  264. 2620 PRINT
  265. 2630 PRINT TAB(3);"OLD STOCK = ";C1$;"      NEW STOCK = ";
  266. 2640 PRINT C2$
  267. 2650 PRINT
  268. 2660 PRINT "PLAYER";TAB(10);"OLD STOCK";TAB(22);"NEW STOCK";
  269. 2670 PRINT TAB(34);"TOTAL HOLDINGS";TAB(53);"BONUS PAID"
  270. 2680   FOR I=1 TO P1
  271. 2690 GOSUB 490
  272. 2700 PRINT TAB(10);S(X,I);TAB(22);INT((.5*S(X,I))+.5);
  273. 2710 PRINT TAB(34);S(T1,I)+INT((.5*S(X,I))+.5);
  274. 2720 X1=0
  275. 2730    FOR I1=1 TO P1
  276. 2740 X1=X1+S(X,I1)
  277. 2750    NEXT 
  278. 2760 PRINT TAB(53);" $";INT(10*((S(X,I)/X1)*S1(X)))
  279. 2770   NEXT I
  280. 2780   FOR I=1 TO P1
  281. 2790 S(T1,I)=S(T1,I)+INT((.5*S(X,I))+.5)
  282. 2800 B(I)=B(I)+INT(10*((S(X,I)/X1)*S1(X)))
  283. 2810   NEXT I
  284. 2820   FOR I=1 TO 9
  285. 2830    FOR J=1 TO 12
  286. 2840 IF M(I,J)=X+3 THEN M(I,J)=T1+3
  287. 2850    NEXT J
  288. 2860   NEXT I
  289. 2870 A1=M(R-1,C)
  290. 2880 A2=M(R+1,C)
  291. 2890 A3=M(R,C+1)
  292. 2900 A4=M(R,C-1)
  293. 2910 F1=A3-3
  294. 2920 IF F1<0 THEN F1=0
  295. 2930 F2=A2-3
  296. 2940 IF F2<0 THEN F2=0
  297. 2950 Q(T1)=Q(T1)+Q(X)
  298. 2960 S1(T1)=S1(T1)+S1(X)
  299. 2970 IF S1(T1)=>3000 THEN GOSUB 3100
  300. 2980 F3=A3-3
  301. 2990 IF F3<0 THEN F3=0
  302. 3000 F4=A4-3
  303. 3010 IF F4<0 THEN F4=0
  304. 3020 S1(X)=100
  305. 3030 Q(X)=0
  306. 3040   FOR I=1 TO P1
  307. 3050 S(X,I)=0
  308. 3060   NEXT I
  309. 3070 PRINT:PRINT
  310. 3080 M(R,C)=T1+3
  311. 3090 RETURN
  312. 3100 GOSUB 3370: REM        SUBROUTINE - CALCULATES STOCK SPLITS
  313. 3110 PRINT "THE STOCK OF ",
  314. 3120 RESTORE
  315. 3130 READ N,C$
  316. 3140 IF T1<>N THEN 3130
  317. 3150 PRINT C$,
  318. 3160 PRINT " HAS SPLIT 2 FOR 1 !"
  319. 3170 S1(T1)=INT(S1(T1)/2)
  320. 3180 PRINT:PRINT
  321. 3190   FOR I1=1 TO P1
  322. 3200 S(T1,I1)=2*S(T1,I1)
  323. 3210   NEXT I1
  324. 3220 RETURN
  325. 3230 PRINT Z1$
  326. 3240 PRINT
  327. 3250 PRINT "STOCK";TAB(30);"PRICE PER SHARE";
  328. 3260 PRINT TAB(50);"YOUR HOLDINGS"
  329. 3270   FOR I3=1 TO 5
  330. 3280 IF S1(I3)=100 THEN 3340
  331. 3290 RESTORE
  332. 3300 READ N,C$
  333. 3310 IF I3<>N THEN 3300
  334. 3320 PRINT C$,
  335. 3330 PRINT TAB(30);S1(I3);TAB(50);S(I3,P)
  336. 3340   NEXT I3
  337. 3350 RESTORE
  338. 3360 RETURN
  339. 3370 PRINT CHR$(7)
  340. 3380 PRINT TAB(22);"SPECIAL ANNOUNCEMENT !!!":PRINT
  341. 3390 PRINT
  342. 3400 RETURN
  343. 3410 PRINT Z1$
  344. 3420 PRINT "   STAR LANES IS A GAME OF INTERSTELLAR TRADING."
  345. 3430 PRINT "THE OBJECT OF THE GAME IS TO AMASS THE GREATEST AMOUNT"
  346. 3440 PRINT "OF MONEY.  THIS IS ACCOMPLISHED BY ESTABLISHING VAST,"
  347. 3450 PRINT "INTERSTELLAR SHIPPING LANES, AND PURCHASING STOCK IN"
  348. 3460 PRINT "THE COMPANIES THAT CONTROL THOSE TRADE ROUTES.  DURING"
  349. 3470 PRINT "THE COURSE OF THE GAME, STOCK APPRECIATES IN VALUE AS"
  350. 3480 PRINT "THE SHIPPING COMPANIES BECOME LARGER.  ALSO, SMALLER"
  351. 3490 PRINT "COMPANIES CAN BE MERGED INTO LARGER ONES, AND STOCK"
  352. 3500 PRINT "IN THE SMALLER FIRM IS CONVERTED INTO STOCK IN THE"
  353. 3510 PRINT "LARGER ONE AS DESCRIBED BELOW.":PRINT
  354. 3520 PRINT "EACH TURN, THE COMPUTER WILL PRESENT THE PLAYER WITH"
  355. 3530 PRINT "FIVE PROSPECTIVE SPACES TO OCCUPY ON A 9X12 MATRIX"
  356. 3540 PRINT "(ROWS 1-9, COLUMNS A-L).  THE PLAYER, AFTER EXAMINING"
  357. 3550 PRINT "THE MAP OF THE GALAXY TO DECIDE WHICH SPACE HE WISHES"
  358. 3560 PRINT "TO OCCUPY, RESPONDS WITH THE ROW AND COLUMN OF THAT"
  359. 3570 PRINT "SPACE, I.E., 7E, 8A, ETC.  THERE ARE FOUR POSSIBLE"
  360. 3580 PRINT "MOVES A PLAYER CAN MAKE.":PRINT:PRINT
  361. 3590 PRINT
  362. 3600 GOSUB 3620
  363. 3610 GOTO 3660
  364. 3620 INPUT "PRESS RETURN TO CONTINUE";X2$
  365. 3650 RETURN
  366. 3660 PRINT Z1$
  367. 3670 PRINT "   1. HE CAN ESTABLISH AN UNATTACHED OUTPOST- IF HE"
  368. 3680 PRINT "SELECTS A SPACE THAT IS NOT ADJACENT TO A STAR, ANOTHER"
  369. 3690 PRINT "UNATTACHED OUTPOST, OR AN EXISTING SHIPPING LANE, THIS"
  370. 3700 PRINT "SPACE WILL BE DESIGNATED WITH A '+'.  HE WILL THEN PROCEED"
  371. 3710 PRINT "WITH STOCK TRANSACTIONS, AS LISTED BELOW.":PRINT
  372. 3720 PRINT "   2. HE CAN ADD TO AN EXISTING LANE- IF HE SELECTS A"
  373. 3730 PRINT "SPACE THAT IS ADJACENT TO ONE - AND ONLY ONE EXISTING"
  374. 3740 PRINT "SHIPPING LANE, THE SPACE HE SELECTS WILL BE ADDED TO"
  375. 3750 PRINT "THAT SHIPPING LANE AND WILL BE DISIGNATED WITH THE FIRST"
  376. 3760 PRINT "LETTER OF THE COMPANY THAT OWNS THAT LANE.  IF THERE ARE"
  377. 3770 PRINT "ANY STARS OR UNATTACHED OUTPOSTS ALSO ADJACENT TO THE"
  378. 3780 PRINT "SELECTED SPACE, THEY, TOO, WILL BE INCORPORATED INTO THE"
  379. 3790 PRINT "EXISTING LANE.  EACH NEW SQUARE ADJACENT TO A STAR ADDS"
  380. 3800 PRINT "$500 PER SHARE, AND EACH NEW OUTPOST ADDS $100 PER SHARE"
  381. 3810 PRINT "TO THE MARKET VALUE OF THE STOCK OF THAT COMPANY."
  382. 3820 PRINT:PRINT
  383. 3830 GOSUB 3620
  384. 3840 PRINT Z1$
  385. 3850 PRINT "   3. HE MAY ESTABLISH A NEW SHIPPING LANE- IF THERE"
  386. 3860 PRINT "ARE FIVE OR LESS EXISTING SHIPPING LANES ESTABLISHED,"
  387. 3870 PRINT "THE PLAYER MAY, GIVEN THE PROPER SPACE TO PLAY, ESTABLISH"
  388. 3880 PRINT "A NEW SHIPPING LANE.  HE MAY DO THIS BY OCCUPYING A SPACE"
  389. 3890 PRINT "ADJACENT TO A STAR OR ANOTHER UNATTACHED OUTPOST, BUT"
  390. 3900 PRINT "NOT ADJACENT TO AN EXISTING SHIPPING LANE.  IF HE"
  391. 3910 PRINT "ESTABLISHES A NEW SHIPPING LANE, HE IS AUTOMATICALLY"
  392. 3920 PRINT "ISSUED 5 SHARES KN THE NEW COMPANY AS A REWARD.  HE"
  393. 3930 PRINT "MAY THEN PROCEED TO BUY STOCK IN ANY ACTIVE COMPANY,"
  394. 3940 PRINT "INCLUDKNG THE ONE JUST FORMED, AS DESCRIBED BELOW."
  395. 3950 PRINT "THG MARKET VALUE OF THE NEW STOCK IS ESTABLISHED BY"
  396. 3960 PRINT "THE NUMBER OF STARS AND OCCUPIED SPACES AS DESCRIBED"
  397. 3970 PRINT "IN #2 ABOVE."
  398. 3980 PRINT:PRINT
  399. 3990 GOSUB 3620
  400. 4000 PRINT Z1$
  401. 4010 PRINT "   4.  HE MAY MERGE TWO EXISTING COMPANIES- IF A PLAYER"
  402. 4020 PRINT "SELECTS A SPACE ADJACENT TO TWO EXISTING SHIPPING"
  403. 4030 PRINT "LANES, A MERGER OCCURS.  THE LARGER COMPANY TAKES OVER THE"
  404. 4040 PRINT "SMALLER COMPANY - (IF BOTH COMPANIES ARE THE SAME SIZE"
  405. 4050 PRINT "PRIOR TO THE MERGER, THEN THE SURVIVOR IS DETERMINED BY"
  406. 4060 PRINT "ALPHABETICAL ORDER OF THE TWO COMPANY NAMES - THE EARLIER"
  407. 4070 PRINT "SURVIVES).  THE STOCK OF THE SURVIVING COMPANY IS"
  408. 4080 PRINT "INCREASED IN VALUE ACCORDING TO THE NUMBER OF SPACES"
  409. 4090 PRINT "AND STARS ADDED TO ITS LANE.  EACH PLAYERS STOCK IN"
  410. 4100 PRINT "THE DEFUNCT COMPANY IS EXCHANGED FOR SHARES KN THE"
  411. 4110 PRINT "SURVIVOR ON A RATIO OF 2 FOR 1.  ALSO, EACH PLAYER"
  412. 4120 PRINT "IS PAID A CASH BONUS PROPORTIONAL TO THE PERCENTAGE"
  413. 4130 PRINT "OF OUTSTANDING STOCK HE HELD IN THE DEFUNCT COMPANY."
  414. 4140 PRINT "NOTE: AFTER A COMPANY BECOMES DEFUNCT THROUGH THE"
  415. 4150 PRINT "MERGER PROCESS, IT CAN REAPPEAR ELSEWHERE ON THE"
  416. 4160 PRINT "BOARD WHEN, AND IF, A NEW COMPANY IS ESTABLISHED."
  417. 4170 PRINT:PRINT
  418. 4180 GOSUB 3620
  419. 4190 PRINT Z1$
  420. 4200 PRINT "   NEXT THE COMPUTER CDDS STOCK DIVIDENDS TO THE PLAYER'S"
  421. 4210 PRINT "CASH ON HAND (5% OF THE MARKET VALUE OF THE STOCK IN HIS"
  422. 4220 PRINT "POSSESSION), AND OFFERS HIM THE OPPORTUNITY TO PURCHASE"
  423. 4230 PRINT "STOCK KN ANY OF THE ACTIVE COMPANIES ON THE BOARD."
  424. 4240 PRINT "STOCK MAY NOT BE SOLD, BUT THE MARKET VALUE OF EACH"
  425. 4250 PRINT "PLAYER'S STOCK IS TAKEN INTO ACCOUNT AT THE END OF THE"
  426. 4260 PRINT "GAME TO DETERMINE THE WINNER. IF THE OARKET VALUE OF A GIVEN"
  427. 4270 PRINT "STOCK EXCEEDS $3000 AT ANY TIME DURING THE GAME, THAT"
  428. 4280 PRINT "STOCK SPLITS 2 FOR 1.  THE PRICE IS CUT IN HALF, AND"
  429. 4290 PRINT "THE NUMBER OF SHARES OWNED BY GACH PLAYER IS DOUBLED."
  430. 4300 PRINT
  431. 4310 PRINT "NOTE:  THE PLAYER MAY LOOK AT HIS PORTFOLIO AT ANY TIME"
  432. 4320 PRINT "DURING THE COURSE OF HIS TURN BY RESPONDING WITH 'STOCK'"
  433. 4330 PRINT "TO AN INPUT STATEMENT.  LIKEWISE, HE CAN REVIEW THE MAP"
  434. 4340 PRINT "OF THE GALAXY BY TYPING 'MAP' TO AN INPUT STATEMENT."
  435. 4350 PRINT:PRINT
  436. 4360 GOSUB 3620
  437. 4370 PRINT Z1$
  438. 4380 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
  439. 4390 PRINT TAB(16);"** GAME ENDS AFTER 48 MOVES **"
  440. 4400 PRINT:PRINT:PRINT:PRINT
  441. 4410 PRINT "PLAYER WITH THE GREATEST NET WORTH AT THAT POINT IS THE WINNER."
  442. 4420 PRINT:PRINT
  443. 4430 FOR W=1 TO 2000:NEXT W
  444. 4440 RETURN
  445. 4450 PRINT Z1$
  446. 4460 GOSUB 3370
  447. 4470 FOR W=1 TO  500:NEXT W:PRINT CHR$(7)
  448. 4480 FOR W=1 TO 500:NEXT W:PRINT CHR$(7)
  449. 4490 PRINT TAB(10)," THE GAME IS OVER - HERE ARE THE FINAL STANDINGS"
  450. 4500 PRINT:PRINT:PRINT:PRINT
  451. 4510 PRINT CHR$(7)
  452. 4520 PRINT "PLAYER";TAB(10);"CASH VALUE OF STOCK";TAB(33);"CASH ON HAND",
  453. 4530 PRINT TAB(50);"NET WORTH"
  454. 4540 PRINT
  455. 4550   FOR I=1 TO P1
  456. 4560    FOR J=1 TO 5
  457. 4570 D1(I)=D1(I)+(S1(J)*S(J,I))
  458. 4580    NEXT J
  459. 4590   NEXT I
  460. 4600   FOR I=1 TO P1
  461. 4610 GOSUB 490
  462. 4620 PRINT TAB(10);"$";D1(I);TAB(33);"$";B(I);
  463. 4630 PRINT TAB(50);"$";D1(I)+B(I)
  464. 4640   NEXT I
  465. 4650 PRINT:PRINT:PRINT:PRINT
  466. 4660 END
  467.