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