home *** CD-ROM | disk | FTP | other *** search
/ Scene World 6 / Scene_World_06_2003-02-15_POL__PSW_de_Side_B.d64 / tw.game (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  16KB  |  403 lines

  1. 100 rem trail west game
  2. 110 rem and window magic routines
  3. 120 rem trail west copyright 1987
  4. 130 rem window magic copyright 1986
  5. 140 rem by richard f. daley
  6. 150 rem
  7. 160 rem may be copied for personal use only
  8. 170 rem any form of sale or distribution
  9. 180 rem without permission is forbidden.
  10. 190 rem
  11. 200 poke 53280,13: poke 53281,11: sys 14848: a=rnd(rnd(-ti))
  12. 210 rem
  13. 220 rem *** initialization segment ***
  14. 230 rem
  15. 240 print "[147]";chr$(142);chr$(8): gosub 3930
  16. 250 dim bd%(10,13),cc(5),sh%(5,4),nm$(5),pn$(4),s(5),sp%(5),as%(5)
  17. 260 dim xb%(4,5),yb%(4,5),pc%(10,13),bc%(8)
  18. 270 for i=1 to 5
  19. 280 for j=1 to 4: sh%(i,j)=0: xb%(j,i)=-1: yb%(j,i)=-1: next j
  20. 290 ts(i)=0: sp%(i)=100: as%(i)=0: cc(i)=6000: next i
  21. 300 nm$(1)="[150]apache courier ltd": nm$(2)="[156]buffalo freight"
  22. 310 nm$(3)="[152]canyon shipping co": nm$(4)="[154]denver stage inc"
  23. 320 nm$(5)="[153]eldorado express": (NULL)
  24. 330 ex$(1)="[150]aph": ex$(2)="[156]buf": ex$(3)="[152]cny": ex$(4)="[154]dnv": ex$(5)="[153]eld"
  25. 340 tk$="[146].[146]+[158][146][218][150]a[156]b[152]c[154]d[153]e": sp=0
  26. 350 cd$=""
  27. 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]"
  28. 370 bj$="[158]     [157][157][157][157][157]  [157][157][157][157][157]     "
  29. 380 bl$="                                 ": bl$=bl$+bl$
  30. 390 for i=1 to 9: for j=1 to 12: pc%(i,j)=0
  31. 400 if int(rnd(1)*20)+1<>10 then bd%(i,j)=1: goto 420
  32. 410 bd%(i,j)=3
  33. 420 next j,i: (NULL)(4,5,5,23): (NULL)(1,15,0,32,20,20)
  34. 430 t$="[150]plug a joystick into port 2, then press"
  35. 440 t$=t$+chr$(13)+"fire[146] to continue."
  36. 450 (NULL)(1,t$)
  37. 460 jv=peek(56320): fb=(jv and 16): if fb then 460
  38. 470 (NULL)(3)
  39. 480 (NULL)(13,9,4,20): (NULL)(1,14,0,32,20,20)
  40. 490 t$="[159]how many players are there (2-4)?": (NULL)(1,t$): pl=2
  41. 500 print left$(cd$,16);tab(26);pl
  42. 510 for i3=1 to 50: next i3
  43. 520 jv=peek(56320): fb=(jv and 16): jy=15-(15 and jv)
  44. 530 if fb=0 then 590
  45. 540 if jy=1 then pl=pl+1
  46. 550 if jy=2 then pl=pl-1
  47. 560 if pl<2 then pl=4
  48. 570 if pl>4 then pl=2
  49. 580 goto 500
  50. 590 print "[147][158]"
  51. 600 get a$: if a$<>"" then 600
  52. 610 for i=1 to pl: print
  53. 620 print "player";i;: input "what is your name    [157][157][157][157]";pn$(i)
  54. 630 next i: print "now i[146] will decide who will go first..."
  55. 640 ma=80-(pl=3)
  56. 650 for i3=1 to 100: j3=j3+1: next i3
  57. 660 i=int(pl*rnd(1)+1): print pn$(i);" is the first player to move."
  58. 670 for i3=1 to 500: j3=j3+1: next i3
  59. 680 mv=0: (NULL): print "[147]": gosub 2190
  60. 690 ps=3000
  61. 700 p=i: goto 790
  62. 710 rem
  63. 720 rem *** main game loop ***
  64. 730 rem
  65. 740 mv=mv+1: if mv=ma then 3780
  66. 750 p=p+1: if p=pl+1 then p=1
  67. 760 rem
  68. 770 rem *** select playing pieces ***
  69. 780 rem
  70. 790 for i3=1 to 5
  71. 800 if yb%(p,i3)>0 then if xb%(p,i3)>0 then 880
  72. 810 y%=9*rnd(1)+1: x%=12*rnd(1)+1
  73. 820 if pc%(y%,x%)=1 then 810
  74. 830 for i1=i3-1 to 0 step-1
  75. 840 if y%=yb%(p,i1) then if x%=xb%(p,i1) then i1=0: next i1: goto 810
  76. 850 next i1
  77. 860 if bd%(y%,x%)>1 then 810
  78. 870 pc%(y%,x%)=1: yb%(p,i3)=y%: xb%(p,i3)=x%
  79. 880 next i3
  80. 890 rem
  81. 900 rem *** get player move ***
  82. 910 rem
  83. 920 for i3=1 to 5: mv%(i3)=0: next i3: ap=0
  84. 930 print left$(cd$,24);"";pn$(p);", your move.         ": jy=1
  85. 940 t$=chr$(13)+"[159]":for i=1 to 5
  86. 950 t$=t$+str$(yb%(p,i))+" "+chr$(64+xb%(p,i))+chr$(13)+chr$(13)
  87. 960 next i: t$=t$+" stk"+chr$(13)+chr$(13)+" cal"
  88. 970 if ap=1 then t$=t$+chr$(13)+chr$(13)+" pas"
  89. 980 (NULL)(4,31,(17+2*ap),8): (NULL)(0,1,42,32,5,5)
  90. 990 (NULL)(1,t$)
  91. 1000 print left$(cd$,6+2*(jy-1));tab(32);jy$
  92. 1010 jv=peek(56320): fb=(jv and 16): jv=15-(jv and 15)
  93. 1020 if fb=0 then 1140
  94. 1030 if jv=1 or jv=2 then 1050
  95. 1040 goto 1010
  96. 1050 print left$(cd$,6+2*(jy-1));tab(32);bj$
  97. 1060 if jv=1 then jy=jy-1
  98. 1070 if jv=2 then jy=jy+1
  99. 1080 if jy<1 then jy=7+ap
  100. 1090 if jy>(7+ap) then jy=1
  101. 1100 goto 1000
  102. 1110 rem
  103. 1120 rem *** perform selected move ***
  104. 1130 rem
  105. 1140 (NULL)(3)
  106. 1150 if jy=6 then gosub 3100: goto 930
  107. 1160 if jy=7 then 3300
  108. 1170 if ap=1 then if jy=8 then 3510
  109. 1180 r=yb%(p,jy): c=xb%(p,jy)
  110. 1190 a1=bd%(r-1,c): a2=bd%(r+1,c): a3=bd%(r,c+1): a4=bd%(r,c-1)
  111. 1200 for i1=1 to 5: if as%(i1)=0 then i1=5: next i1: goto 1310
  112. 1210 next i1
  113. 1220 if a1>3 or a2>3 or a3>3 or a4>3 then 1310
  114. 1230 if a1=2 then if a2<4 then if a3<4 then if a4<4 then 3430
  115. 1240 if a2=2 then if a1<4 then if a3<4 then if a4<4 then 3430
  116. 1250 if a3=2 then if a1<4 then if a2<4 then if a4<4 then 3430
  117. 1260 if a4=2 then if a1<4 then if a2<4 then if a3<4 then 3430
  118. 1270 if a1=3 then if a2<4 then if a3<4 then if a4<4 then 3430
  119. 1280 if a2=3 then if a1<4 then if a3<4 then if a4<4 then 3430
  120. 1290 if a3=3 then if a1<4 then if a2<4 then if a4<4 then 3430
  121. 1300 if a4=3 then if a1<4 then if a2<4 then if a3<4 then 3430
  122. 1310 yb%(p,jy)=-1: xb%(p,jy)=-1
  123. 1320 if a1>1 then 1340
  124. 1330 if a2<=1 then if a3<=1 then if a4<=1 then bd%(r,c)=2: goto 1690
  125. 1340 if a1=<3 then 1380
  126. 1350 if a2>3 then if a2<>a1 then gosub 2340
  127. 1360 if a3>3 then if a3<>a1 then gosub 2340
  128. 1370 if a4>3 then if a4<>a1 then gosub 2340
  129. 1380 if a2>3 then if a3>3 then if a3<>a2 then gosub 2340
  130. 1390 if a2>3 then if a4>3 then if a4<>a2 then gosub 2340
  131. 1400 if a3>3 then if a4>3 then if a4<>a3 then gosub 2340
  132. 1410 if a1<4 then if a2<4 then if a3<4 then if a4<4 then 1490
  133. 1420 if bd%(r,c)>3 then 1690
  134. 1430 if a1>3 then i=a1-3
  135. 1440 if a2>3 then i=a2-3
  136. 1450 if a3>3 then i=a3-3
  137. 1460 if a4>3 then i=a4-3
  138. 1470 bd%(r,c)=i+3
  139. 1480 as%(i)=as%(i)+1: sp%(i)=sp%(i)+100: goto 1540
  140. 1490 for i=1 to 5: if as%(i)=0 then 1510
  141. 1500 next i: if bd%(r,c)<3 then bd%(r,c)=2: gosub 2190: goto 1730
  142. 1510 t$="a new shipping company has been formed! "
  143. 1520 t$=t$+"it's name is "+chr$(13)+"   "+nm$(i)
  144. 1530 sh%(i,p)=sh%(i,p)+5: as%(i)=1: hs=1
  145. 1540 if a1=3 then sp%(i)=sp%(i)+500
  146. 1550 if a2=3 then sp%(i)=sp%(i)+500
  147. 1560 if a3=3 then sp%(i)=sp%(i)+500
  148. 1570 if a4=3 then sp%(i)=sp%(i)+500
  149. 1580 if a1=2 then sp%(i)=sp%(i)+100: as%(i)=as%(i)+1: bd%(r-1,c)=i+3
  150. 1590 if a2=2 then sp%(i)=sp%(i)+100: as%(i)=as%(i)+1: bd%(r+1,c)=i+3
  151. 1600 if a3=2 then sp%(i)=sp%(i)+100: as%(i)=as%(i)+1: bd%(r,c+1)=i+3
  152. 1610 if a4=2 then sp%(i)=sp%(i)+100: as%(i)=as%(i)+1: bd%(r,c-1)=i+3
  153. 1620 if sp%(i)>=ps then t1=i: gosub 2970
  154. 1630 bd%(r,c)=i+3: as%(i)=as%(i)+1: gosub 2190: (NULL)
  155. 1640 if hs=1 then hs=0: gosub 3710
  156. 1650 if sp=0 then 1730
  157. 1660 print left$(cd$,23);tab(4);"[153]press fire[146] to continue.": sp=0
  158. 1670 jv=peek(56320): fb=(jv and 16): if fb then 1670
  159. 1680 (NULL)(3): goto 1730
  160. 1690 gosub 2190
  161. 1700 rem
  162. 1710 rem *** check for stock buys ***
  163. 1720 rem
  164. 1730 for i=1 to 5: cc(p)=cc(p)+int(.05*sh%(i,p)*sp%(i)): next i
  165. 1740 t=0: for i=0 to 5: t=t+as%(i): next i
  166. 1750 if t=0 then 740
  167. 1760 t$="[159]purch"+chr$(13): for i=1 to 5
  168. 1770 t$=t$+" "+ex$(i)+chr$(13)+chr$(13)
  169. 1780 next i: t$=t$+" [155]stk"+chr$(13)+chr$(13)+" end"
  170. 1790 (NULL)(4,31,18,8): (NULL)(1,13,0,32,5,5)
  171. 1800 (NULL)(1,t$): jy=1
  172. 1810 print left$(cd$,7+2*(jy-1));tab(32);jy$
  173. 1820 jv=peek(56320): fb=(jv and 16): jv=15-(jv and 15)
  174. 1830 if fb=0 then 1920
  175. 1840 if jv=1 or jv=2 then 1860
  176. 1850 goto 1820
  177. 1860 print left$(cd$,7+2*(jy-1));tab(32);bj$
  178. 1870 if jv=1 then jy=jy-1
  179. 1880 if jv=2 then jy=jy+1
  180. 1890 if jy<1 then jy=7
  181. 1900 if jy>7 then jy=1
  182. 1910 goto 1810
  183. 1920 if jy=6 then gosub 3100: goto 1810
  184. 1930 if jy=7 then: (NULL)(3): goto 740
  185. 1940 if as%(jy)=0 then: (NULL)(3): goto 1760
  186. 1950 t$="[155]how many shares of "+nm$(jy)
  187. 1960 mx=int(cc(p)/sp%(jy)): t1$=str$(mx): t1$=right$(t1$,len(t1$)-1)
  188. 1970 t$=t$+"[155] to buy? (max ="+t1$+")"+chr$(13)
  189. 1980 t$=t$+"your cash $"+str$(cc(p))+chr$(13)+"?[154]"
  190. 1990 (NULL)(16,6,7,22): (NULL)(1,5,0,32,1,1)
  191. 2000 (NULL)(1,t$)
  192. 2010 ct=0
  193. 2020 print left$(cd$,22);tab(8);ct;"[157]   "
  194. 2030 jv=peek(56320): fb=(jv and 16): jv=15-(jv and 15)
  195. 2040 if fb=0 then 2120
  196. 2050 if jv=1 or jv=2 then 2070
  197. 2060 goto 2030
  198. 2070 if jv=1 then ct=ct+1
  199. 2080 if jv=2 then ct=ct-1
  200. 2090 if ct<0 then ct=mx
  201. 2100 if ct>mx then ct=0
  202. 2110 goto 2020
  203. 2120 sh%(jy,p)=sh%(jy,p)+ct: cc(p)=cc(p)-(ct*sp%(jy))
  204. 2130 (NULL)(3)
  205. 2140 jv=peek(56320): fb=(jv and 16): if fb=0 then 2140
  206. 2150 goto 1810
  207. 2160 rem
  208. 2170 rem *** screen update routine ***
  209. 2180 rem
  210. 2190 if wn=3 then 2250
  211. 2200 print "[147][155]";tab(15);"trail west"
  212. 2210 (NULL)(3,3,14,29): (NULL)(1,14,0,32,5,5): wn=3
  213. 2220 t$="      map of the west "+chr$(13)
  214. 2230 t$=t$+"   a b c d e f g h i j k l"
  215. 2240 (NULL)(1,t$)
  216. 2250 print left$(cd$,5);tab(28);"[158]";mv
  217. 2260 print left$(cd$,7)
  218. 2270 for r2=1 to 9: print tab(4);"[155]";r2;: for c2=1 to 12
  219. 2280 print mid$(tk$,1+(3*(bd%(r2,c2)-1)),3);"[146] ";
  220. 2290 next c2: print: next r2
  221. 2300 (NULL): (NULL): return
  222. 2310 rem
  223. 2320 rem *** check for chain adjacent to piece played ***
  224. 2330 rem
  225. 2340 f1=a1-3: if f1<0 then f1=0
  226. 2350 f2=a2-3: if f2<0 then f2=0
  227. 2360 f3=a3-3: if f3<0 then f3=0
  228. 2370 f4=a4-3: if f4<0 then f4=0
  229. 2380 t=as%(f1): t1=f1: if as%(f2)>as%(f1) then t=as%(f2): t1=f2
  230. 2390 if as%(f3)>t then t=as%(f3): t1=f3
  231. 2400 if as%(f4)>t then t=as%(f4): t1=f4
  232. 2410 if f1=t1 or a1<4 then 2430
  233. 2420 x=f1: gosub 2530
  234. 2430 if f2=t1 or a2<4 then 2450
  235. 2440 x=f2: gosub 2530
  236. 2450 if f3=t1 or a3<4 then 2470
  237. 2460 x=f3: gosub 2530
  238. 2470 if f4=t1 or a4<4 then 2490
  239. 2480 x=f4: gosub 2530
  240. 2490 return
  241. 2500 rem
  242. 2510 rem *** announce merger ***
  243. 2520 rem
  244. 2530 t$="   [218][218][218] special announcement[146] [218][218][218]"+chr$(13)+chr$(13)
  245. 2540 t$=t$+nm$(x)+" has just been "
  246. 2550 t$=t$+"merged into "+nm$(t1)+"!"+chr$(13)
  247. 2560 t$=t$+"please note the following transactions:"+chr$(13)+chr$(13)
  248. 2570 t$=t$+"  old stock = "+nm$(x)+chr$(13)
  249. 2580 t$=t$+"  new stock = "+nm$(t1)+chr$(13)+chr$(13)
  250. 2590 t$=t$+" player   old   new  total bonus[159]"+chr$(13)
  251. 2600 (NULL)(3,2,(pl+16),37): (NULL)(0,7,81,32,5,5)
  252. 2610 (NULL)(1,t$)
  253. 2620 for i=1 to pl: th=sh%(x,i)
  254. 2630 t$=left$(pn$(i)+bl$,7)+left$(bl$,4+(th>9)+(th>99)+(th>999)): th=sh%(t1,i)
  255. 2640 t$=t$+str$(sh%(x,i))+left$(bl$,4+(th>9)+(th>99)+(th>999))
  256. 2650 th=sh%(t1,i)+int((.5*sh%(x,i))+.5)
  257. 2660 t$=t$+str$(sh%(t1,i))+left$(bl$,4+(th>9)+(th>99)+(th>999))+str$(th)+" $"
  258. 2670 x1=0: for i1=1 to pl: x1=x1+sh%(x,i1): next i1
  259. 2680 th=int(10*((sh%(x,i)/x1)*sp%(x)))
  260. 2690 t$=t$+left$(bl$,5+(th>9)+(th>99)+(th>999)+(th>9999))+str$(th)
  261. 2700 (NULL)(t$): next i
  262. 2710 for i=1 to pl: sh%(t1,i)=sh%(t1,i)+int((.5*sh%(x,i))+.5)
  263. 2720 cc(i)=cc(i)+int(10*((sh%(x,i)/x1)*sp%(x))): next i
  264. 2730 for i=1 to 9: for j=1 to 12: if bd%(i,j)=x+3 then bd%(i,j)=t1+3
  265. 2740 next j,i
  266. 2750 a1=bd%(r-1,c): a2=bd%(r+1,c): a3=bd%(r,c+1): a4=bd%(r,c-1)
  267. 2760 fi=a1-3: if f1<0 then f1=0
  268. 2770 f2=a2-3: if f2<0 then f2=0
  269. 2780 as%(t1)=as%(t1)+as%(x): sp%(t1)=sp%(t1)+sp%(x)
  270. 2790 if sp%(t1)>ps then gosub 2970
  271. 2800 f3=a3-3: if f3<0 then f3=0
  272. 2810 f4=a4-3: if f4<0 then f4=0
  273. 2820 sp%(x)=100: as%(x)=0: for i=1 to pl: sh%(x,i)=0: next i
  274. 2830 if a1=2 then sp%(t1)=sp%(t1)+100: as%(t1)=as%(t1)+1: bd%(r-1,c)=t1+3
  275. 2840 if a2=2 then sp%(t1)=sp%(t1)+100: as%(t1)=as%(t1)+1: bd%(r+1,c)=t1+3
  276. 2850 if a3=2 then sp%(t1)=sp%(t1)+100: as%(t1)=as%(t1)+1: bd%(r,c+1)=t1+3
  277. 2860 if a4=2 then sp%(t1)=sp%(t1)+100: as%(t1)=as%(t1)+1: bd%(r,c-1)=t1+3
  278. 2870 if sp%(t1)>ps then gosub 2970
  279. 2880 bd%(r,c)=t1+3
  280. 2890 print left$(cd$,pl+17);tab(3);"[155]press fire[146] to continue."
  281. 2900 jv=peek(56320): fb=(jv and 16): if fb then 2900
  282. 2910 (NULL)(3): gosub 2190
  283. 2920 jv=peek(56320): fb=(jv and 16): if fb=0 then 2900
  284. 2930 return
  285. 2940 rem
  286. 2950 rem *** announce 2 for 1 stock split ***
  287. 2960 rem
  288. 2970 t$=nm$(t1)+" [158]stock"
  289. 2980 t$=t$+" has split 2: 1!"+chr$(13)+chr$(13)+"[153]press fire[146] to continue."
  290. 2990 sp%(t1)=int(sp%(t1)/2)
  291. 3000 for i1=1 to pl: sh%(t1,i1)=2*sh%(t1,i1): next i1
  292. 3010 (NULL)(14,8,6,28): (NULL)(1,15,0,32,5,5)
  293. 3020 (NULL)(1,t$)
  294. 3030 jv=peek(56320): fb=(jv and 16): if fb then 3030
  295. 3040 (NULL)(3)
  296. 3050 jv=peek(56320): fb=(jv and 16): if fb=0 then 3050
  297. 3060 return
  298. 3070 rem
  299. 3080 rem *** display individual holdings ***
  300. 3090 rem
  301. 3100 ns=0: for i3=1 to 5: if sp%(i3)>100 then ns=ns+1
  302. 3110 next i3
  303. 3120 (NULL)(10,2,(8+ns-(ns=0)),28): (NULL)(1,13,0,32,5,5)
  304. 3130 t$="stock  price  holdings"+chr$(13)+chr$(13)
  305. 3140 if ns=0 then t$=t$+"         none"+chr$(13)
  306. 3150 for i3=1 to 5: if sp%(i3)=100 then 3180
  307. 3160 t$=t$+" "+ex$(i3)+""+left$(bl$,3+(sp%(i3)>999))+str$(sp%(i3))
  308. 3170 t$=t$+left$(bl$,6+(sh%(i3,p)>9)+(sh%(i3,p)>99))+str$(sh%(i3,p))+chr$(13)
  309. 3180 next i3
  310. 3190 t$=t$+chr$(13)+"  available cash $"
  311. 3200 t1$=str$(cc(p)): t1$=right$(t1$,len(t1$)-1)
  312. 3210 t$=t$+t1$+chr$(13)+chr$(13)+"[153]press fire[146] to continue."
  313. 3220 (NULL)(1,t$)
  314. 3230 jv=peek(56320): fb=(jv and 16): if fb then 3230
  315. 3240 (NULL)(3)
  316. 3250 jv=peek(56320): fb=(jv and 16): if fb=0 then 3250
  317. 3260 return
  318. 3270 rem
  319. 3280 rem *** check for valid call game request ***
  320. 3290 rem
  321. 3300 for i3=3 to 7: bc%(i3)=0
  322. 3310 next i3
  323. 3320 for i3=1 to 9: for j3=1 to 12
  324. 3330 if bd%(i3,j3)<3 then 3350
  325. 3340 bc%(bd%(i3,j3))=bc%(bd%(i3,j3))+1
  326. 3350 next j3: next i3
  327. 3360 ns=0: for i3=3 to 7: if bc%(i3)=0 then 3380
  328. 3370 if bc%(i3)>ns then ns=bc%(i3)
  329. 3380 next i3: if ns>40 then 3780
  330. 3390 goto 930
  331. 3400 rem
  332. 3410 rem *** check to set pass flag ***
  333. 3420 rem
  334. 3430 mv%(jy)=1: kk=0: ap=0
  335. 3440 for i3=1 to 5: if mv%(i3)=1 then kk=kk+1
  336. 3450 next i3
  337. 3460 if kk=5 then ap=1
  338. 3470 goto 930
  339. 3480 rem
  340. 3490 rem *** discard player selected piece ***
  341. 3500 rem
  342. 3510 (NULL)(17,5,6,27): (NULL)(1,4,0,32,5,5)
  343. 3520 t$="which piece to discard:"+chr$(13)+chr$(13): for i=1 to 5
  344. 3530 t$=t$+str$(yb%(p,i))+" "+chr$(64+xb%(p,i))+" ": next i
  345. 3540 (NULL)(1,t$): jy=1
  346. 3550 print left$(cd$,20);tab(1+5*jy);jy$
  347. 3560 jv=peek(56320): fb=(jv and 16): jv=15-(jv and 15)
  348. 3570 if fb=0 then 3660
  349. 3580 if jv=4 or jv=8 then 3600
  350. 3590 goto 3560
  351. 3600 print left$(cd$,20);tab(1+5*jy);bj$
  352. 3610 if jv=4 then jy=jy-1
  353. 3620 if jv=8 then jy=jy+1
  354. 3630 if jy<1 then jy=5
  355. 3640 if jy>5 then jy=1
  356. 3650 goto 3550
  357. 3660 (NULL)(3): pc%(yb%(p,jy),xb%(p,jy))=0
  358. 3670 yb%(p,jy)=-1: xb%(p,jy)=-1: goto 1730
  359. 3680 rem
  360. 3690 rem *** display merger announcement ***
  361. 3700 rem
  362. 3710 (NULL)(16,3,8,32): (NULL)(0,14,90,32,20,5)
  363. 3720 t$=" [218][218][218] special announcement[146] [218][218][218]"++chr$(13)+chr$(13)+t$+chr$(13)
  364. 3730 (NULL)(1,t$)
  365. 3740 sp=1: return
  366. 3750 rem
  367. 3760 rem *** end of game standings ***
  368. 3770 rem
  369. 3780 print "[147]the game is over.": print"here are the final standings."
  370. 3790 print tab(10);"cash value";tab(22);"cash"
  371. 3800 print "player","of stock","on hand","net worth"
  372. 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]"
  373. 3820 for i=1 to pl: for j=1 to 5: ts(i)=ts(i)+(sp%(j)*sh%(j,i)): next j,i
  374. 3830 for i=1 to pl: print pn$(i);tab(11)"$";ts(i);tab(20);"$";cc(i);
  375. 3840 print tab(30);"$";ts(i)+cc(i): next i
  376. 3850 print "another game? ";
  377. 3860 get a$
  378. 3870 if a$="y" then print a$: clr: goto 240
  379. 3880 if a$<>"n" then 3860
  380. 3890 sys 64738
  381. 3900 rem
  382. 3910 rem *** title page ***
  383. 3920 rem
  384. 3930 print "[147]";tab(2);"[158]     [146]      [223][146]    [169] [223][146]         [146]   [146]"
  385. 3940 print tab(2);"   [146]     [146]    [146]   [169][146][169] [223][223][146]      [146]     [146]"
  386. 3950 print tab(2);"   [146]     [146]    [146]  [169][146][169]   [223][223][146]     [146]     [146]"
  387. 3960 print tab(2);"   [146]        [146][169]         [146]     [146]     [146]"
  388. 3970 print tab(2);"   [146]     [146][223][223][146]     [146]      [146]     [146]     [146]"
  389. 3980 print tab(2);"   [146]     [146] [223][223][146]    [146]      [146]     [146]     [146]"
  390. 3990 print tab(2);"   [146]     [146]  [223][223][146]   [146]      [146]       [146]       [146]"
  391. 4000 print tab(19);"by"
  392. 4010 print tab(12);"richard f. daley"
  393. 4020 print tab(19);"and"
  394. 4030 print tab(13);"sally j. daley"
  395. 4040 print tab(6);"[158] [146]       [146]       [146]  [169]   [223][146]       [146]"
  396. 4050 print tab(6);" [146]       [146]   [146]       [146]    [146]     [146]"
  397. 4060 print tab(6);" [146]       [146]   [146]       [146]         [146]"
  398. 4070 print tab(6);" [146]  [169][223][146]   [146]       [146]  [223]   [223][146]     [146]"
  399. 4080 print tab(6);" [146] [169][146][169][223][223][146]  [146]   [146]           [146]     [146]"
  400. 4090 print tab(6);" [169][146][169]  [223][223] [146]   [146]       [146]    [146]     [146]"
  401. 4100 print tab(6);" [146][169]    [223] [146]       [146]  [223]   [146][169]     [146]"
  402. 4110 return
  403.