home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 071.lha / hockey (.txt) < prev    next >
AmigaBASIC Source Code  |  1986-11-20  |  23KB  |  784 lines

  1. CLS:CLEAR, 25000: CLEAR, 50000:GOTO redux
  2. recoup:
  3. CLS
  4. RUN "j:programs/progmenu"
  5. redux:
  6. ON BREAK GOSUB recoup:
  7. BREAK ON
  8. REM ----------
  9.  
  10.  
  11. '       Hockey
  12. '       Joseph Bernardi, 1612 Stowe Rd., Reston, VA  22094    1/87
  13. LOCATE 10,10:PRINT "Patience please. Setting up."
  14. SAY TRANSLATE$("WELCOME TO THE AMIGA HOCKEY LEAGUE.")
  15. CLS
  16. WIDTH 80
  17. SUB TitleScreen (Depth%) STATIC
  18. SHARED Blk,Blu,Grn,Cyn,Red,Org,Yel,Wht
  19. IF FirstTime=0 THEN
  20.   FirstTime=1
  21.   SCREEN 1,640,200,Depth%,2
  22.   WINDOW 2,,,8,1
  23.   COLOR ,0:CLS
  24.   PALETTE 0,0,0,0      :Blk=0:  'Black
  25.   PALETTE 1,0,0,1      :Blu=1:  'Blue
  26.   PALETTE 2,0,0.75,0  :Grn=2:  'Green
  27.   PALETTE 3,0,1,1    :Cyn=3:  'Cyan
  28.   PALETTE 4,1,0,0    :Red=4:  'Red
  29.   PALETTE 5,1,0.5,0   :Org=5:  'Orange
  30.   PALETTE 6,1,0.8,0   :Yel=6:  'Yellow
  31.   PALETTE 7,1,1,1    :Wht=7:  'White
  32. END IF
  33. COLOR ,Blk:CLS
  34. AREA(40,80):AREA STEP(80,-72):AREA STEP(80,72)
  35. COLOR Red:AREAFILL
  36. AREA(90,80):AREA STEP(12,-10):AREA STEP(36,0):AREA STEP(12,10)
  37. COLOR Blk:AREAFILL
  38. AREA(109,55):AREA STEP(20,0):AREA STEP(-10,-12):AREA STEP(-10,12)
  39. COLOR Blk:AREAFILL
  40. LINE(240,8)-(400,80),Red,bf
  41. LINE(293,8)-STEP(54,25),Blk,bf
  42. LINE(293,80)-STEP(54,-25),Blk,bf
  43. LINE(440,8)-(600,80),Red,bf            
  44. LINE(493,8)-(600,58),Blk,bf            
  45. FOR c=40 TO 60 STEP 20
  46. AREA (c,130):AREA STEP(15,0):AREA STEP(20,10):AREA STEP(-15,0)
  47. COLOR Blu:AREAFILL:NEXT
  48. FOR c=60 TO 80 STEP 20
  49. AREA (c,140):AREA STEP(15,0):AREA STEP(20,10):AREA STEP(-15,0)
  50. COLOR Cyn:AREAFILL:NEXT
  51. FOR c=80 TO 100 STEP 20
  52. AREA (c,150):AREA STEP(15,0):AREA STEP(20,-10):AREA STEP(-15,0)
  53. COLOR Grn:AREAFILL:NEXT
  54. FOR c=100 TO 120 STEP 20
  55. AREA (c,140):AREA STEP(15,0):AREA STEP(20,-10):AREA STEP(-15,0)
  56. COLOR Yel:AREAFILL:NEXT
  57. FOR c=120 TO 140 STEP 20
  58. AREA (c,130):AREA STEP(15,0):AREA STEP(20,-10):AREA STEP(-15,0)
  59. COLOR Org:AREAFILL:NEXT
  60. FOR c=140 TO 160 STEP 20
  61. AREA (c,120):AREA STEP(15,0):AREA STEP(20,-10):AREA STEP(-15,0)
  62. COLOR Red:AREAFILL:NEXT
  63. FOR c=580 TO 600 STEP 20
  64. AREA (c,130):AREA STEP(-15,0):AREA STEP(-20,10):AREA STEP(15,0)
  65. COLOR Blu:AREAFILL:NEXT
  66. FOR c=560 TO 580 STEP 20
  67. AREA (c,140):AREA STEP(-15,0):AREA STEP(-20,10):AREA STEP(15,0)
  68. COLOR Cyn:AREAFILL:NEXT
  69. FOR c=540 TO 560 STEP 20
  70. AREA (c,150):AREA STEP(-15,0):AREA STEP(-20,-10):AREA STEP(15,0)
  71. COLOR Grn:AREAFILL:NEXT
  72. FOR c=520 TO 540 STEP 20
  73. AREA (c,140):AREA STEP(-15,0):AREA STEP(-20,-10):AREA STEP(15,0)
  74. COLOR Yel:AREAFILL:NEXT
  75. FOR c=500 TO 520 STEP 20
  76. AREA (c,130):AREA STEP(-15,0):AREA STEP(-20,-10):AREA STEP(15,0)
  77. COLOR Org:AREAFILL:NEXT
  78. FOR c=480 TO 500 STEP 20
  79. AREA (c,120):AREA STEP(-15,0):AREA STEP(-20,-10):AREA STEP(15,0)
  80. COLOR Red:AREAFILL:NEXT
  81.  
  82. COLOR Blu,Blk:LOCATE 23,14
  83. PRINT "Joseph Bernardi   1612 Stowe Rd.   Reston VA  22094";
  84. END SUB
  85.  
  86.   
  87. TitleScreen 3
  88. COLOR Grn
  89. LOCATE 13,38:PRINT "T H E"
  90. LOCATE 15,36:PRINT "A M I G A"
  91. LOCATE 17,35:PRINT "H O C K E Y"
  92. LOCATE 19,35:PRINT "L E A G U E"
  93. COLOR Yel:LOCATE 21,26:PRINT "Press Left Button to Continue"
  94. WHILE MOUSE(0)=0:WEND
  95. WINDOW CLOSE 2:SCREEN CLOSE 1
  96.  
  97. DIM tm(21),c$(21),cphon$(21),tm$(21),r$(21),g$(21),gphon$(21),g1$(21),g1phon$(21),g2$(21),g2phon$(21),pts(21)
  98.  
  99. Initialize:
  100. PALETTE 0,0,0.3,0.6:PALETTE 1,1,1,1:PALETTE 2,0,0,0.1
  101. CLS
  102. RANDOMIZE TIMER
  103. WIDTH 60
  104. COLOR 2,3
  105. PRINT "     WALES CONFERENCE     ","    CAMPBELL CONFERENCE    ":PRINT 
  106. COLOR 2,0:PRINT "   PATRICK","   ADAMS","   SMYTHE","   NORRIS":PRINT  
  107. COLOR 1,0
  108. RESTORE Teams
  109. FOR i=1 TO 21
  110. READ tm(i),c$(i),cphon$(i),tm$(i),r$(i),g1$(i),g1phon$(i),g2$(i),g2phon$(i),pts(i):COLOR 2,0:PRINT USING "##";tm(i);:COLOR 1,0:PRINT " "+tm$(i),
  111. NEXT
  112.  
  113. WIDTH 80
  114. LINE (35,90)-(185,110),2,bf:LINE (35,90)-(185,110),3,b
  115. LOCATE 13,9:COLOR 1,2:PRINT  "SELECT TEAMS"
  116. COLOR 1,0
  117. SAY TRANSLATE$("PLEASE SELECT THE TEAMS."):LINE(308,115)-(504,138),2,bf:LINE(308,115)-(504,138),3,b                                                                                       
  118. 1 LOCATE 16,2:INPUT "ENTER NUMBER OF VISITING TEAM:     ",T1:IF T1<0 OR T1>21 THEN 1
  119. LOCATE 16,43:COLOR 3,2:PRINT c$(T1)+" "+tm$(T1):COLOR 1,0
  120. 2 LOCATE 17,2:INPUT "ENTER NUMBER OF HOME TEAM:         ",T2::IF T2<0 OR T2>21 THEN 2
  121. LOCATE 17,43:COLOR 3,2:PRINT c$(T2)+" "+tm$(T2):COLOR 1,0
  122. 10 LOCATE 19,2:PRINT STRING$(42," ")
  123. LOCATE 19,2:INPUT "WHICH TEAM ARE YOU? (ENTER NUMBER) ",T3
  124. IF T3<>T1 AND T3<>T2 THEN 10 
  125. IF T3=T1 THEN T4=T2 :ELSE T4=T1
  126.  
  127. CLS:LINE(0,0)-(607,40),1,bf:FOR c=0 TO 3:LINE(0+c,0+c)-(609+c,41+c),3,b:NEXT:COLOR 2,1
  128. LOCATE 2,5:PRINT "TONIGHT'S GAME IS ";c$(T1);" ";tm$(T1);" AT ";c$(T2);" ";tm$(T2)
  129. SAY TRANSLATE$("TUNIGHT'S GAME IS "+cphon$(T1)+tm$(T1)+" AT "+cphon$(T2)+tm$(T2)+".")
  130. LOCATE 4,15:PRINT  "WELCOME TO ";r$(T2)
  131. IF T2=8 THEN SAY TRANSLATE$("WELCOME TO MAYPLE LEAF GARDENS."):GOTO Prob
  132. IF T2=9 THEN SAY TRANSLATE$("WELCOME TO CIVVIC ARENA."):GOTO Prob
  133. IF T2=12 THEN SAY TRANSLATE$("WELCOME TO JOE LEWIS ARENA."):GOTO Prob
  134. IF T2=19 THEN SAY TRANSLATE$("WELCOME TO THE LOS ANJELLIS FORUM."):GOTO Prob
  135. IF T2=20 THEN SAY TRANSLATE$("WELCOME TO SAINT LEWIS ARENA.") :ELSE SAY TRANSLATE$("WELCOME TO "+r$(T2)+".")
  136. Prob:
  137. ProbVis=INT(100*(pts(T1)/(pts(T1)+pts(T2))+0.005))/100-0.05
  138. ProbHome=1-ProbVis
  139. GOSUB Delay:GOSUB Delay
  140. COLOR 1,0
  141. period=1
  142. CLS
  143. PALETTE 3,1,0,0  
  144. LINE(350,5)-(610,185),1,bf         ' RINK
  145. LINE(351,94)-(609,96),3,b
  146. FOR r=351 TO 599 STEP 8:LINE(r,95)-(r+4,95),3:NEXT         'RED LINE
  147. LINE(607,95)-(609,95),3
  148. LINE(351,64)-(609,66),0,bf:LINE(351,124)-(609,126),0,bf   ' BLUE LINES
  149. LINE(350,14)-(610,15),3,bf:LINE(350,175)-(610,176),3,bf       ' GOAL LINES
  150. LINE(460,176)-(500,180),3,bf:LINE(460,14)-(500,10),3,bf         ' GOALS
  151. CIRCLE(480,95),32,3:CIRCLE(415,33),32,3:CIRCLE(545,33),32,3 
  152. CIRCLE(415,157),32,3:CIRCLE(545,157),32,3
  153. FOR n=1 TO 4                            ' FACEOFF SPOTS
  154. CIRCLE(480,95),n,0:CIRCLE(415,33),n,3:CIRCLE(545,33),n,3:CIRCLE(415,157),n,3:CIRCLE(545,157),n,3:CIRCLE(415,75),n,3:CIRCLE(545,75),n,3:CIRCLE(415,115),n,3:CIRCLE(545,115),n,3
  155. NEXT
  156.  
  157. LINE(15,0)-(330,63),2,bf       ' SCOREBOARD
  158. mins=20:secs=0
  159.  
  160.  
  161. Scoreboard:
  162. COLOR 3,2
  163. PRINT :PRINT TAB(16 -LEN(tm$(T1)));tm$(T1);
  164. COLOR 1,2:PRINT TAB(21);"TIME";
  165. COLOR 3,2:PRINT TAB(30);tm$(T2)
  166. COLOR 1,2
  167. PRINT :PRINT  TAB(11);vscore:LOCATE 4,20:PRINT USING "##";mins:LOCATE 4,22:PRINT ": 0":LOCATE 4,23:PRINT USING "#";secs
  168. LOCATE 4,32:PRINT hscore
  169. PRINT :PRINT  TAB(9);"PENALTY";TAB(20);"PERIOD";TAB(30);"PENALTY"
  170. LOCATE 7,21:PRINT period
  171. COLOR 1,0
  172.  
  173. x=RND
  174. IF x>0.45 THEN
  175.   g$(T1)=g1$(T1)
  176.   gphon$(T1)=g1phon$(T1)
  177. ELSE
  178.   g$(T1)=g2$(T1)
  179.   gphon$(T1)=g2phon$(T1)
  180.   END IF
  181.     
  182. x=RND
  183. IF x>0.45 THEN
  184.   g$(T2)=g1$(T2)
  185.   gphon$(T2)=g1phon$(T2)
  186. ELSE
  187.   g$(T2)=g2$(T2)
  188.   gphon$(T2)=g2phon$(T2)
  189. END IF
  190.  
  191. COLOR 2,1:LOCATE 22,58:PRINT LEFT$(g$(T3),7):LINE(440,175)-(520,175),3
  192. LOCATE 3,58:IF T3=T1 THEN PRINT LEFT$(g$(T2),7) :ELSE PRINT LEFT$(g$(T1),7)
  193. IF T1=5 AND T2=17 THEN
  194.   cphon$(T1)=tm$(T1)
  195.   cphon$(T2)=tm$(T2)
  196. END IF  
  197. IF T1=17 AND T2=5 THEN
  198.   cphon$(T1)=tm$(T1)
  199.   cphon$(T2)=tm$(T2)
  200. END IF
  201.     
  202. SAY TRANSLATE$("THE STARTING GOALIES TONIGHT ARE ")
  203. SAY TRANSLATE$(gphon$(T1)+" FOR "+cphon$(T1))
  204. SAY TRANSLATE$("AND ")
  205. SAY TRANSLATE$(gphon$(T2)+" FOR "+cphon$(T2)+".")
  206.  
  207. WIDTH 43
  208. z=4
  209. x=480:y=94
  210. qz:
  211. OPEN ":puck" FOR INPUT AS #1:OBJECT.SHAPE 1,INPUT$(LOF(1),1):CLOSE #1
  212. OBJECT.X 1,x:OBJECT.Y 1,y:OBJECT.ON
  213.  
  214. COLOR 2,0
  215. LOCATE 9,1:PRINT STRING$(43,"_"):LOCATE 15,1:PRINT STRING$(43,"_")
  216. COLOR 1,0
  217. f$="      F A C E O F F      ":p$="PUCK IS ":z1$="DEEP IN YOUR END"+SPACE$(10) 
  218. z2$="INSIDE YOUR BLUE LINE"+SPACE$(6):z3$="IN NEAR NEUTRAL ZONE"+SPACE$(7)
  219. z4$="AT CENTER ICE"+SPACE$(14):z5$="IN FAR NEUTRAL ZONE"+SPACE$(8)
  220. z6$="INSIDE OPPONENT'S BLUE LINE":z7$="DEEP IN OPPONENT'S ZONE"+SPACE$(4)
  221. COLOR 3,1:LOCATE 12,8:PRINT f$:LOCATE 14,5:COLOR 2,1:PRINT p$+z4$:GOSUB Delay:COLOR 1,0:GOSUB Move
  222. GOSUB Possession
  223. GOSUB Update
  224. GOTO Whichteam
  225.  
  226. Delay:
  227. pause&=TIMER:WHILE TIMER<pause&+1:WEND:RETURN
  228.   
  229. Suspense:
  230. FOR S=1 TO 350:NEXT:RETURN  
  231.   
  232. NextPeriod:
  233. GOSUB Horn
  234. period=period+1
  235. IF period=4 THEN GOTO GameOver
  236. mins=20:secs=0
  237. GOTO Centerfaceoff
  238.   
  239. Wipeout:
  240. WIDTH 43:COLOR 1,0:FOR  r=20 TO 17 STEP -1:LOCATE r,9:PRINT SPACE$(20):NEXT:RETURN
  241.  
  242. Whichteam:
  243. IF TN=T3 THEN Play :ELSE CompPlay
  244.  
  245. Play:
  246. LOCATE 17,1:COLOR 1,0
  247. PRINT "        1  PASS":PRINT "        2  STICKHANDLE":PRINT "        3  SHOOT":PRINT "        4  DUMP INTO CORNER"
  248. i$=INKEY$:IF i$="" THEN Play
  249. GOSUB AnyPenalty
  250. IF i$="1" THEN Pass
  251. IF i$="2" THEN Stickhandle
  252. IF i$="3" THEN Shoot
  253. IF i$="4" THEN Dump
  254. IF VAL(i$)<1 OR VAL(i$)>4 THEN Play
  255.  
  256. CompPlay:
  257. GOSUB Delay
  258. GOSUB AnyPenalty
  259. p=RND
  260. IF z>4 THEN Comp7
  261. IF z<=4 THEN Comp5
  262.  
  263. Comp7:
  264. ' if CompPen=1 then Comp6
  265. IF p>0.55 THEN Pass
  266. IF p>0.05 THEN Stickhandle
  267. GOTO Dump
  268.  
  269. Comp6
  270. IF p>0.6 THEN Dump
  271. IF p>0.3 THEN Stickhandle
  272. GOTO Pass
  273.  
  274.  
  275. Comp5:
  276. IF z=4 THEN Comp4
  277. IF z=3 THEN Comp3
  278. IF z=2 THEN Comp2
  279. IF z=1 THEN Comp1
  280.  
  281. Comp4:
  282. IF p>0.55 THEN Pass
  283. IF p>0.1 THEN Stickhandle
  284. GOTO Dump
  285.  
  286. Comp3:
  287. IF p>0.8 THEN Pass
  288. IF p>0.4 THEN Stickhandle
  289. IF p>0.1 THEN Shoot
  290. GOTO Dump
  291.  
  292. Comp2:
  293. IF p>0.95 THEN Pass
  294. IF p>0.8 THEN Stickhandle
  295. GOTO Shoot
  296.  
  297. Comp1:
  298. IF p>0.1 AND p<0.15 THEN Pass
  299. IF p>0.15 AND p<0.2 THEN Stickhandle
  300. GOTO Shoot
  301.   
  302. AnyPenalty:
  303.   q=RND
  304.   IF q<0.03 THEN GOSUB Penalty
  305.   RETURN
  306.    
  307. Pass:
  308. GOSUB Wipeout:GOSUB Erase11
  309. IF TN=T1 THEN p=(RND+ProbVis/5)*10+HomePen-VisPen :ELSE p=(RND+ProbHome/5)*10+VisPen-HomePen
  310. LOCATE 11,8
  311. IF p>=4.5 THEN PassComplete
  312. IF p>=3.2 AND ABS(4-z)<2 THEN Offside
  313. GOTO Intercepted
  314.  
  315. PassComplete:
  316. PRINT "PASS COMPLETED TO ";tm$(TN):GOSUB ChangeZone:GOSUB Update:GOTO Whichteam
  317.  
  318. Offside:
  319. x=RND*220+360
  320. IF TN=T3 THEN y=57 :ELSE y=130
  321. OBJECT.X 1,x:OBJECT.Y 1,y:GOSUB Suspense
  322. PRINT tm$(TN);" OFFSIDE":SAY TRANSLATE$(tm$(TN)+" OFFSIDE."):GOSUB OffsideZone:GOSUB Update:GOTO BluelineFaceoff
  323.   
  324. Intercepted:
  325. x=RND*220+360
  326. OBJECT.X 1,x:OBJECT.Y 1,y
  327. IF TN=T1 THEN TN=T2 :ELSE TN=T1
  328. PRINT "PASS INTERCEPTED BY "+tm$(TN):GOSUB Update:GOTO Whichteam
  329.  
  330. Stickhandle:
  331. GOSUB Wipeout:GOSUB Erase11
  332. LOCATE 11,8
  333. IF TN=T1 THEN p=(RND-ProbVis/5)*10-HomePen+VisPen :ELSE p=(RND-ProbHome/5)*10-VisPen+HomePen
  334. IF p<=5 THEN KeepPuck 
  335. IF p<=6.3 AND ABS(4-z)<2 THEN Offside
  336. GOTO LosePuck
  337.  
  338. KeepPuck:
  339. GOSUB ChangeZone
  340. IF p>8 THEN PRINT "PUCK CONTROLLED BY ";tm$(TN) :ELSE PRINT tm$(TN)+" SKATE WITH PUCK"
  341. GOSUB Update:GOTO Whichteam
  342.  
  343. LosePuck:
  344. x=RND*220+360
  345. OBJECT.X 1,x:OBJECT.Y 1,y
  346. IF TN=T1 THEN TN=T2 :ELSE TN=T1
  347. PRINT "PUCK STOLEN BY "+tm$(TN):GOSUB Update:GOTO Whichteam
  348.   
  349. Shoot:
  350. GOSUB Wipeout
  351. GOSUB Erase11
  352. LOCATE 11,8:PRINT "HE SHOOTS ";:GOSUB Suspense:dot$=" . . . "
  353. FOR i=1 TO 3:PRINT MID$(dot$,i*2,2);:GOSUB Suspense:NEXT
  354. IF TN=T1 AND TN=T3 THEN p=(RND+ProbVis/2)-(7-z)/10+(HomePen-VisPen)*0.1 
  355. IF TN=T1 AND TN=T4 THEN p=(RND+ProbVis/2)-(z-1)/10+(HomePen-VisPen)*0.1  
  356. IF TN=T2 AND TN=T3 THEN p=(RND+ProbHome/2)-(7-z)/10+(VisPen-HomePen)*0.1
  357. IF TN=T2 AND TN=T4 THEN p=(RND+ProbHome/2)-(z-1)/10+(VisPen-HomePen)*0.1
  358. GOSUB Suspense
  359. LOCATE 11,23
  360. IF p>=1.03 THEN HeScores
  361. IF p>=1 THEN IntoCrowd
  362. IF p>=0.9 AND TN=T1 THEN HomeCaught
  363. IF p>=0.9 AND TN=T2 THEN VisCaught
  364. IF p>=0.6 AND TN=T1 THEN VisKeep
  365. IF p>=0.6 AND TN=T2 THEN HomeKeep
  366. IF p>=0.3 AND TN=T1 THEN  HomeGet
  367. IF p>=0.3 AND TN=T2 THEN VisGet
  368. GOTO Missed
  369.  
  370. HeScores:
  371. x=480
  372. IF TN=T3 THEN
  373.   z=7:y=10
  374. ELSE
  375.   z=1:y=176
  376. END IF
  377. OBJECT.X 1,x:OBJECT.Y 1,y
  378. PRINT " AND SCORES!!":GOSUB RedLight:GOSUB ChangeScore:GOSUB AnnounceGoal:GOSUB Update:GOTO Centerfaceoff
  379.  
  380. AnnounceGoal:
  381. IF TN=T1 AND VisPen<HomePen THEN SAY TRANSLATE$("POWER PLAY GOAL BY "+cphon$(TN)):HomePen=0:hpmins=0:hpsecs=0:LOCATE 7,31:PRINT "     ":RETURN
  382. IF TN=T1 AND VisPen>HomePen THEN SAY TRANSLATE$("SHORT HANDED GOAL BY "+cphon$(TN)):RETURN
  383. IF TN=T1 THEN SAY TRANSLATE$("GOAL BY "+cphon$(TN)):RETURN
  384. IF TN=T2 AND VisPen<HomePen THEN SAY TRANSLATE$("SHORT HANDED GOAL BY "+cphon$(TN)):RETURN
  385. IF TN=T2 AND VisPen>HomePen THEN SAY TRANSLATE$("POWER PLAY GOAL BY "+cphon$(TN)):VisPen=0:vpmins=0:vpsecs=0:LOCATE 7,10:PRINT "     ":RETURN:
  386. IF TN=T2 THEN SAY TRANSLATE$("GOAL BY "+cphon$(TN)):RETURN
  387.   
  388. IntoCrowd:
  389. x=480-RND*20
  390. IF TN=T3 THEN
  391.   z=7:y=0
  392. ELSE
  393.   z=1:y=170:x=338
  394. END IF
  395. OBJECT.X 1,x:OBJECT.Y 1,y
  396. PRINT " SHOT DEFLECTED INTO CROWD!":GOSUB Update:GOSUB Delay:GOSUB Erase11:GOTO CircleFaceoff
  397.  
  398. HomeCaught:
  399. x=480:hsave=hsave+1
  400. IF T2=T3 THEN
  401.   z=1:y=165
  402. ELSE
  403.   z=7:y=20
  404. END IF
  405. OBJECT.X 1,x:OBJECT.Y 1,y
  406. PRINT " SHOT GLOVED BY "+g$(T2)
  407. GOSUB Update:GOSUB Delay:GOSUB Erase11:GOTO CircleFaceoff
  408.  
  409. VisCaught:
  410. x=480:vsave=vsave+1
  411. IF T2=T3 THEN
  412.   z=7:y=20
  413. ELSE
  414.   z=1:y=166
  415. END IF
  416. OBJECT.X 1,x:OBJECT.Y 1,y
  417. PRINT " SHOT GLOVED BY "+g$(T1)
  418. GOSUB Update:GOSUB Delay:GOSUB Erase11:GOTO CircleFaceoff
  419.  
  420. VisKeep:
  421. GOSUB WhichSave
  422. PRINT g$(T2)+ "...PUCK REBOUNDS TO "+tm$(T1):GOSUB Update:hsave=hsave+1:GOTO Whichteam
  423.  
  424. HomeKeep:
  425. GOSUB WhichSave
  426. PRINT g$(T1)+ "...PUCK REBOUNDS TO "+tm$(T2):GOSUB Update:vsave=vsave+1:GOTO Whichteam
  427.  
  428. HomeGet:
  429. GOSUB WhichSave
  430. PRINT g$(T2)+ "...PUCK REBOUNDS TO ";tm$(T2):TN=T2:GOSUB Update:hsave=hsave+1:GOTO Whichteam
  431.  
  432. VisGet:
  433. GOSUB WhichSave
  434. PRINT g$(T1)+ "...PUCK REBOUNDS TO ";tm$(T1):TN=T1:GOSUB Update:vsave=vsave+1:GOTO Whichteam
  435.  
  436. WhichSave:
  437. IF TN=T3 THEN y=20 :ELSE y=165
  438. OBJECT.X 1,480:OBJECT.Y 1,y:GOSUB Suspense
  439. x=220*p+360
  440. IF TN=T3 THEN
  441.   z=6:y=54
  442. ELSE
  443.   z=2:y=134
  444. END IF
  445. OBJECT.X 1,x:OBJECT.Y 1,y  
  446. p=RND
  447. IF p>0.8 THEN PRINT "STICK SAVE BY ";:RETURN
  448. IF p>0.6 THEN PRINT "SKATE SAVE BY ";:RETURN
  449. IF p>0.4 THEN PRINT "PAD SAVE BY ";:RETURN
  450. IF p>0.2 THEN PRINT "KICKED ASIDE BY ";:RETURN
  451. PRINT "DEFLECTED BY ";:RETURN
  452.  
  453. Missed:
  454. p=RND:IF p<0.5 THEN x1=RND*40+400 :ELSE x1=RND*40+480
  455. IF TN=T3 THEN y=10 :ELSE y=175
  456. OBJECT.X 1,x1:OBJECT.Y 1,y:GOSUB Suspense
  457. IF TN=T3 THEN y=54 :ELSE y=134
  458. x=2*x1-x
  459. IF x<351 THEN x=351:IF x>580 THEN x=580
  460. IF TN=T3 AND z<4 THEN GOTO LongMiss
  461. IF TN<>T3 AND z>4 THEN GOTO LongMiss
  462. OBJECT.X 1,x:OBJECT.Y 1,y
  463. p=RND
  464. IF p>0.5 THEN TN=T2 :ELSE TN=T1
  465. PRINT " SHOT MISSES...PUCK REBOUNDS TO "+tm$(TN):GOSUB Suspense:GOSUB Update:GOTO Whichteam
  466.  
  467. ChangeZone:
  468. IF TN=T3 THEN z=z+1:IF z>7 THEN z=7
  469. IF TN=T4 THEN z=z-1:IF z<1 THEN z=1
  470. GOSUB Move
  471. RETURN
  472.  
  473. Move:
  474.   x=RND*220+360
  475.   IF z=1 THEN y=158+INT(RND*6)-3
  476.   IF z=2 THEN y=134+INT(RND*6)-3
  477.   IF z=3 THEN y=114+INT(RND*6)-3
  478.   IF z=4 THEN y=94+INT(RND*6)-3
  479.   IF z=5 THEN y=74+INT(RND*6)-3
  480.   IF z=6 THEN y=54+INT(RND*6)-3
  481.   IF z=7 THEN y=30+INT(RND*6)-3
  482.   OBJECT.X 1,x:OBJECT.Y 1,y
  483.   RETURN
  484.     
  485. OffsideZone:
  486. IF x<480 THEN x=415 :ELSE x=545
  487. IF TN=T3 THEN
  488.   z=5
  489.   y=75
  490. ELSE
  491.   z=3
  492.   y=115
  493. END IF
  494. OBJECT.X 1,x:OBJECT.Y 1,y
  495. RETURN
  496.  
  497.                                       
  498. Erase11:
  499. WIDTH 43:LOCATE 11,1:COLOR 1,0:PRINT  STRING$(129," "):RETURN
  500.   
  501. RedLight:
  502. IF TN=T3 THEN y=11 :ELSE y=177
  503. FOR n=1 TO 80
  504. FOR c=1 TO 3 STEP 2
  505. LINE(462,y)-(498,y+2),c,bf
  506. NEXT:NEXT
  507. RETURN
  508.     
  509. ChangeScore:
  510. COLOR 3,2  
  511. IF TN=T1 THEN vscore=vscore+1 :ELSE hscore=hscore+1
  512. GOSUB Siren
  513. IF TN=T1 THEN LOCATE 4,11:PRINT vscore:GOSUB Delay:COLOR 1,2:LOCATE 4,11:PRINT vscore
  514. IF TN=T2 THEN LOCATE 4,32:PRINT hscore:GOSUB Delay:COLOR 1,2:LOCATE 4,32:PRINT hscore
  515. IF period=4 THEN SuddenDeath
  516. RETURN
  517.    
  518. Siren:
  519. FOR f=400 TO 800 STEP 30:SOUND f,1,220:NEXT
  520. FOR f=800 TO 200 STEP -15:SOUND f,1:NEXT
  521. RETURN
  522.   
  523. Dump:
  524. GOSUB Erase11
  525. IF x<480 THEN x=360 :ELSE x=580
  526. IF TN=T3 THEN GOSUB HumanDump:GOSUB Update:GOSUB Delay:GOTO Whichteam
  527. IF TN=T4 THEN GOSUB ComputerDump:GOSUB Update:GOSUB Delay:GOTO Whichteam
  528.  
  529. LongMiss:
  530. GOSUB Erase11
  531. IF TN=T3 THEN GOSUB HumanDump:GOSUB Update:GOSUB Delay:GOTO Whichteam
  532. IF TN=T4 THEN GOSUB ComputerDump:GOSUB Update:GOSUB Delay:GOTO Whichteam
  533.  
  534. HumanDump:
  535. y=6:OBJECT.X 1,x:OBJECT.Y 1,y:GOSUB Delay:LOCATE 11,8
  536. IF TN=T1 THEN HumVisDump :ELSE HumHomeDump
  537.  
  538. HumVisDump:
  539. IF z<4 AND VisPen<=HomePen THEN SAY TRANSLATE$("ICING."):PRINT "ICING--FACEOFF IN "+c$(T1)+" ZONE":TN=T2:z=1:GOSUB ShowZone:GOSUB Update:GOSUB Delay:GOTO CircleFaceoff
  540. IF z>=4 THEN :PRINT "PUCK BOUNCES INTO CORNER--":LOCATE 12,8:PRINT "TAKEN BY "+tm$(T2):TN=T2:z=7:GOSUB ShowZone:GOSUB Update:GOSUB Delay:GOTO Whichteam
  541. IF VisPen>HomePen THEN PRINT "PUCK BOUNCES INTO CORNER--":LOCATE 12,8:PRINT "TAKEN BY "+tm$(T2):TN=T2:z=7:GOSUB ShowZone
  542. GOSUB Update:GOSUB Delay:GOTO Whichteam
  543.  
  544. HumHomeDump:
  545. IF z<4 AND HomePen<=VisPen THEN SAY TRANSLATE$("ICING."):PRINT "ICING--FACEOFF IN "+c$(T2)+" ZONE":TN=T1:z=1:GOSUB ShowZone:GOSUB Update:GOSUB Delay:GOTO  CircleFaceoff
  546. IF z>=4 THEN PRINT "PUCK BOUNCES INTO CORNER--":LOCATE 12,8:PRINT "TAKEN BY "+tm$(T1):TN=T1:z=7:GOSUB ShowZone:GOSUB Update:GOSUB Delay:GOTO Whichteam
  547. IF  HomePen>VisPen THEN PRINT "PUCK BOUNCES INTO CORNER--":LOCATE 12,1:PRINT "TAKEN BY "+tm$(T1):TN=T1:z=7:GOSUB ShowZone
  548. GOSUB Update:GOSUB Delay:GOTO Whichteam
  549.  
  550. ComputerDump:
  551. y=180:OBJECT.X 1,x:OBJECT.Y 1,y:GOSUB Delay:LOCATE 11,8
  552. IF TN=T1 THEN CompVisDump :ELSE CompHomeDump
  553.  
  554. CompVisDump:
  555. IF z>4 AND VisPen<=HomePen THEN SAY TRANSLATE$("ICING."):PRINT "ICING--FACEOFF IN "+c$(T1)+" ZONE":TN=T2:z=7:GOSUB ShowZone:GOSUB Update:GOSUB Delay:GOTO CircleFaceoff
  556. IF z<=4 THEN PRINT "PUCK BOUNCES INTO CORNER--":LOCATE 12,8:PRINT "TAKEN BY "+tm$(T2):TN=T2:z=1:GOSUB ShowZone:GOSUB Update:GOSUB Delay:GOTO Whichteam
  557. IF VisPen>HomePen THEN PRINT "PUCK BOUNCES INTO CORNER--":LOCATE 12,1:PRINT "TAKEN BY "+tm$(T2):TN=T2:z=1 GOSUB ShowZone
  558. GOSUB Update:GOSUB Delay:GOTO Whichteam
  559.  
  560. CompHomeDump:
  561. IF z>4 AND HomePen<=VisPen THEN SAY TRANSLATE$("ICING."):PRINT "ICING--FACEOFF IN "+c$(T2)+" ZONE":TN=T1:z=7:GOSUB ShowZone:GOSUB Update:GOSUB Delay:GOTO  CircleFaceoff
  562. IF z<=4 THEN PRINT "PUCK BOUNCES INTO CORNER--":LOCATE 12,8:PRINT "TAKEN BY "+tm$(T1):TN=T1:z=1:GOSUB ShowZone:GOSUB Update:GOSUB Delay:GOTO Whichteam
  563. IF  HomePen>VisPen THEN PRINT "PUCK BOUNCES INTO CORNER--":LOCATE 12,1:PRINT "TAKEN BY "+tm$(T1):TN=T1:z=1:GOSUB ShowZone
  564. GOSUB Update:GOSUB Delay:GOTO Whichteam
  565.  
  566. Update:
  567. IF secs>0 THEN 
  568.   secs=secs-1
  569.   ELSE
  570.     secs=5
  571.       IF mins>0 THEN
  572.         mins=mins-1
  573.       END IF
  574. END IF
  575. GOSUB ShowZone:GOSUB GameClock
  576. RETURN
  577.  
  578. ShowZone:
  579. LOCATE 14,13:COLOR 3,1
  580. IF z=1 THEN PRINT z1$:COLOR 1,0:RETURN
  581. IF z=2 THEN PRINT z2$:COLOR 1,0:RETURN
  582. COLOR 2,1
  583. IF z=3 THEN PRINT z3$:COLOR 1,0:RETURN
  584. IF z=4 THEN PRINT z4$:COLOR 1,0:RETURN
  585. IF z=5 THEN PRINT z5$:COLOR 1,0:RETURN
  586. IF z=6 THEN PRINT z6$:COLOR 1,0:RETURN
  587. PRINT z7$:COLOR 1,0:RETURN
  588.                                                         
  589. GameClock:
  590. COLOR 1,2:LOCATE 4,20:PRINT USING "##";mins:LOCATE 4,22:PRINT ": 0":LOCATE 4,23:PRINT USING "#";secs
  591. IF VisPen=1 THEN GOSUB UpdateVis
  592. IF HomePen=1 THEN GOSUB UpdateHome
  593. IF mins=1 AND secs=0 THEN GOSUB AnnounceMinute:RETURN
  594. IF mins=0 AND secs=0 THEN 
  595.   GOSUB Horn:GOSUB Delay:GOSUB Erase11:LOCATE 14,1:PRINT SPACE$(15)+"END OF PERIOD"+SPACE$(15)
  596.   IF period=1 THEN
  597.   vsave1=vsave:hsave1=hsave:vscore1=vscore:hscore1=hscore:vshots1=vscore1+hsave1:hshots1=hscore1+vsave1
  598.   SAY TRANSLATE$("END OF FIRST PERIUD.")
  599.   LOCATE 11,1:PRINT "SHOTS ON GOAL IN THE PERIOD":PRINT tm$(T1);" :";vshots1
  600.   PRINT tm$(T2);" :";hshots1:GOSUB Delay:GOSUB Delay:GOSUB Delay
  601.   END IF
  602.   IF period=2 THEN
  603.   vsave2=vsave-vsave1:hsave2=hsave-hsave1:vscore2=vscore-vscore1:hscore2=hscore-hscore1:vshots2=vscore2+hsave2:hshots2=hscore2+vsave2
  604.   SAY TRANSLATE$("END OF SECOND PERIUD.")
  605.   LOCATE 11,1:PRINT "SHOTS ON GOAL IN THE PERIOD":PRINT tm$(T1);" :";vshots2
  606.   PRINT tm$(T2);" :";hshots2:GOSUB Delay:GOSUB Delay:GOSUB Delay
  607.   END IF
  608.   IF period=3 THEN
  609.   vsave3=vsave-vsave1-vsave2:hsave3=hsave-hsave1-hsave2:vscore3=vscore-vscore1-vscore2:hscore3=hscore-hscore1-hscore2:vshots3=vscore3+hsave3:hshots3=hscore3+vsave3
  610.   SAY TRANSLATE$("END OF THIRD PERIUD.")
  611.   LOCATE 11,1:PRINT "SHOTS ON GOAL IN THE PERIOD":PRINT tm$(T1);" :";vshots3
  612.   PRINT tm$(T2);" :";hshots3:GOSUB Delay:GOSUB Delay:GOSUB Delay:GOTO GameOver
  613.   END IF
  614.   IF period=4 THEN
  615.   vsave4=vsave-vsave1-vsave2-vsave3:hsave4=hsave-hsave1-hsave2-hsave3:vscore4=vscore-vscore1-vscore2-vscore3:hscore4=hscore-hscore1-hscore2-hscore3:vshots4=vscore4+hsave4:hshots4=hscore4+vsave4
  616.   SAY TRANSLATE$("END OF OVERTIME.")
  617.   LOCATE 11,1:PRINT "SHOTS ON GOAL IN OVERTIME":PRINT tm$(T1);" :";vshots4
  618.   PRINT tm$(T2);" :";hshots4:GOSUB Delay:GOSUB Delay:GOSUB Delay:GOTO GameOver
  619.   END IF
  620.   period=period+1:mins=20:COLOR 1,2:LOCATE 4,20:PRINT USING "##";mins:LOCATE 4,22:PRINT ":":LOCATE 7,21:PRINT period:GOSUB Delay:GOSUB Delay:GOTO Centerfaceoff
  621.   ELSE
  622.     COLOR 1,0:RETURN
  623. END IF
  624. COLOR 1,0
  625. RETURN
  626.  
  627. Horn:
  628. SOUND 500,36,220
  629. FOR y=11 TO 177 STEP 166:LINE(462,y)-(498,y+2),0,bf:NEXT
  630. GOSUB Delay:RETURN
  631.  
  632. UpdateVis:
  633. IF vpsecs>0 THEN 
  634.   vpsecs=vpsecs-1
  635.   ELSE
  636.     vpsecs=5
  637.     vpmins=vpmins-1
  638. END IF
  639. IF vpmins<0 THEN vpmins=0
  640. IF vpmins=0 AND vpsecs=0 THEN COLOR 3,2:LOCATE 7,9:PRINT " 0:00":VisPen=0:SAY TRANSLATE$(cphon$(T1)+" BACK AT FULL STRENGTH."):IF T1=T4 THEN CompPenalty=0:GOSUB PenClock:RETURN
  641.  
  642. GOSUB PenClock
  643. RETURN
  644.  
  645. UpdateHome:
  646. IF hpsecs>0 THEN 
  647.   hpsecs=hpsecs-1
  648.   ELSE
  649.     hpsecs=5
  650.     hpmins=hpmins-1
  651. END IF
  652. IF hpmins<0 THEN hpmins=0
  653. IF hpmins=0 AND hpsecs=0 THEN COLOR 3,2:LOCATE 7,30:PRINT " 0:00":HomePen=0:SAY TRANSLATE$(cphon$(T2)+" BACK AT FULL STRENGTH."):IF T2=T4 THEN CompPenalty=0:GOSUB PenClock:RETURN
  654. GOSUB PenClock
  655. RETURN
  656.  
  657. PenClock:
  658. COLOR 3,2
  659. IF vpmins>0 OR vpsecs>0 THEN LOCATE 7,9:PRINT vpmins:LOCATE 7,11:PRINT ": 0":LOCATE 7,12:PRINT USING "#";vpsecs
  660. IF VisPen=0 THEN LOCATE 7,10:PRINT "    "
  661. IF hpmins>0 OR hpsecs>0 THEN LOCATE 7,30:PRINT  hpmins:LOCATE 7,32:PRINT ": 0":LOCATE 7,33:PRINT USING "#";hpsecs
  662. IF HomePen=0 THEN LOCATE 7,31:PRINT "    "
  663. RETURN
  664.  
  665. AnnounceMinute: 
  666. IF period<3 THEN SAY TRANSLATE$("LAST MINNIT TO PLAY IN THE PERIUD.") :ELSE SAY TRANSLATE$("LAST MINNIT TO PLAY IN THE GAME.")
  667. RETURN
  668.  
  669. Penalty:
  670. x=RND:IF x<0.5 THEN TN=T1 :ELSE TN=T2
  671. IF TN=T1 AND VisPen=1 THEN VisPen=1:RETURN
  672. IF TN=T2 AND HomePen=1 THEN HomePen=1:RETURN
  673. GOSUB WhatPenalty
  674. GOSUB Erase11
  675. LOCATE 11,1
  676. PRINT "PENALTY ON ";tm$(TN);" FOR ";Penalty$:SAY TRANSLATE$("PENALTY ON "+cphon$(TN)+" FOR "+Penalty$+".")
  677. IF TN=T1 THEN vpmins=2:vpsecs=1:VisPen=1:GOSUB ManOrComp:GOSUB Update:GOTO Centerfaceoff
  678. IF TN=T2 THEN hpmins=2:hpsecs=1:HomePen=1:GOSUB ManOrComp:GOSUB Update:GOTO Centerfaceoff
  679.  
  680. ManOrComp:
  681. IF TN=T4 THEN CompPenalty=1
  682. RETURN
  683.  
  684. WhatPenalty:
  685. x=RND
  686. IF x>0.91 THEN Penalty$="SLASHING":RETURN
  687. IF x>=0.82 AND x<0.91 THEN Penalty$="HOOKING":RETURN
  688. IF x>=0.73 AND x<0.82 THEN Penalty$="HOLDING":RETURN
  689. IF x>=0.64 AND x<0.73 THEN Penalty$="HIGH STICKING":RETURN
  690. IF x>=0.55 AND x<0.64 THEN Penalty$="BOARDING":RETURN
  691. IF x>=0.46 AND x<0.55 THEN Penalty$="CROSS CHECKING":RETURN
  692. IF x>=0.37 AND x<0.46 THEN Penalty$="ELBOWING":RETURN
  693. IF x>=0.28 AND x<0.37 THEN Penalty$="ROUGHING":RETURN
  694. IF x>=0.19 AND x<0.28 THEN Penalty$="TRIPPING":RETURN
  695. IF x>=0.1 AND x<0.19 THEN Penalty$="CHARGING":RETURN
  696. Penalty$="INTERFERENCE":RETURN
  697.  
  698. Centerfaceoff:
  699. x=479:y=93
  700. OBJECT.X 1,x:OBJECT.Y 1,y
  701. z=4:GOSUB Erase11:COLOR 2,1:LOCATE 14,5:PRINT p$:GOSUB ShowZone:LOCATE 12,8:COLOR 3,1:PRINT f$:SAY TRANSLATE$("FACE OFF AT THE RED LINE."):COLOR 1,0:GOSUB Possession
  702. LINE(460,176)-(500,180),3,bf:LINE(460,14)-(500,10),3,bf         ' GOALS
  703. GOTO Whichteam
  704.   
  705. BluelineFaceoff:
  706. COLOR 1,0:GOSUB Erase11:LOCATE 12,8:COLOR 0,1:PRINT f$:SAY TRANSLATE$("FACE OFF OUTSIDE THE BLUE LINE."):COLOR 1,0
  707. GOSUB Possession
  708. GOTO Whichteam
  709.  
  710. CircleFaceoff:
  711. COLOR 1,0:GOSUB Erase11:COLOR 2,1:LOCATE 14,9:GOSUB ShowZone:LOCATE 12,8:COLOR 3,1:PRINT f$:COLOR 1,0
  712. IF TN=T1 THEN
  713.   SAY TRANSLATE$("FACE OFF IN "+cphon$(T2)+"ZONE.")
  714. ELSE 
  715.   SAY TRANSLATE$("FACE OFF IN "+cphon$(T1)+"ZONE.")
  716. END IF
  717. IF x<480 THEN x=415 :ELSE x=545
  718. IF TN=T3 THEN y=33 :ELSE y=154
  719. OBJECT.X 1,x:OBJECT.Y 1,y
  720. GOSUB Possession
  721. GOTO Whichteam
  722.     
  723. Possession:
  724. COLOR 2,1
  725. p=RND:IF p<0.5 THEN TN=T1 :ELSE TN=T2
  726. LOCATE 12,8:PRINT  SPACE$(25)
  727. LOCATE 12,12:PRINT "WON BY ";tm$(TN)
  728. GOSUB Suspense
  729. COLOR 1,0
  730. RETURN
  731.  
  732.  
  733. GameOver:
  734. IF vscore=hscore AND period=3 THEN OVERTIME
  735. COLOR 1,0
  736. LOCATE 17,1:PRINT "FINAL SCORE: ";tm$(T1);vscore;tm$(T2);hscore
  737. vscore$=STR$(vscore):hscore$=STR$(hscore)        
  738. SAY TRANSLATE$("FYNAL SCORE    ."+cphon$(T1)+tm$(T1)+vscore$+","+cphon$(T2)+tm$(T2)+hscore$+".")
  739. PRINT "SAVES: ";g$(T1);" (";tm$(T1);") ";vsave
  740. PRINT "       ";g$(T2);" (";tm$(T2);") ";hsave
  741. OBJECT.OFF
  742. GOTO AnotherGame
  743.   
  744. OVERTIME:
  745. period=4:mins=5:secs=0:COLOR 1,2
  746. SAY TRANSLATE$("FIVE MINNIT SUDDEN DETH OVERTIME.")
  747. LOCATE 4,20:PRINT USING "##";mins:LOCATE 4,22:PRINT ":":LOCATE 7,21:PRINT period:GOSUB Delay:GOSUB Delay:COLOR 1,0:GOTO Centerfaceoff
  748.   
  749. SuddenDeath:
  750. COLOR 1,0
  751. LOCATE 17,1:PRINT "FINAL SCORE: ";tm$(T1);vscore;tm$(T2);hscore
  752. vscore$=STR$(vscore):hscore$=STR$(hscore)        
  753. SAY TRANSLATE$("SUDDEN DETH GOAL. FYNAL SCORE, IN OVERTIME    ."+tm$(T1)+vscore$+","+tm$(T2)+hscore$+".")
  754. PRINT "SAVES: ";g$(T1);" (";tm$(T1);") ";vsave
  755. PRINT "       ";g$(T2);" (";tm$(T2);") ";hsave
  756. OBJECT.OFF
  757. GOTO AnotherGame
  758.     
  759. AnotherGame:
  760. GOSUB Delay
  761. COLOR 3,2:LOCATE 7,10:PRINT "    ":LOCATE 7,31:PRINT "    "
  762. HomePen=0:VisPen=0:hpmins=0:hpsecs=0:vpmins=0:vpsecs=0
  763. LOCATE 21,1:COLOR 2,0:PRINT "Play Again?     (Y/N) "
  764. a$=INKEY$:IF UCASE$(a$)="Y" THEN Initialize
  765. IF UCASE$(a$)<>"N" THEN AnotherGame
  766. GOTO recoup
  767. END
  768.  
  769.                                  
  770.                    
  771. Teams:
  772.   DATA 1,WASHINGTON,WASHINGTUN,CAPITALS,CAPITAL CENTRE,PEETERS,PEETERS," MASON",MASON,107,2,MONTREAL,MONTREEALL,CANADIENS,THE MONTREAL FORUM,"  ROY ",RUAW,HAYWARD,HAYWERD,87
  773.   DATA 3,EDMONTON,EDMUNTUN,OILERS,NORTHLANDS COLISEUM," FUHR ",FIUR," MOOG ",MOOG,119,4,CHICAGO,SHICKAHGO,BLACKHAWKS,CHICAGO STADIUM,BANNERMAN,BANNERMAN,SAUVE,SAWVAY,86
  774.   DATA 5,NEW YORK,NEW YORK,ISLANDERS,NASSAU COLISEUM,HRUDEY,HRUDY,SMITH,SMITH,90,6,QUEBEC,QUEBEC,NORDIQUES,COLISEE de QUEBEC,MALARCHUK,MALARCHUK,GOSSELIN,GOSSELIN,92
  775.   DATA 7,CALGARY,CALGHERY,FLAMES,THE OLYMPIC SADDLEDOME,VERNON,VERNON,LEMELIN,LEMELIN,89,8,TORONTO,TORRONTOE,MAPLE LEAFS,MAPLE LEAF GARDENS,WREGGET,REGGET,BESTER,BESTER,57
  776.   DATA 9,PITTSBURGH,PITTSBURGH,PENGUINS,CIVIC ARENA,ROMANO,"RO MAHNO",MELOCHE,MELLOWSH,76,10,BOSTON,BOSTON,BRUINS,BOSTON GARDEN,RANFORD,RANFORD,KEANS,KEENS,86
  777.   DATA 11,WINNIPEG,WINNIPEG,JETS,WINNIPEG ARENA,REDDICK,REDDICK,PENNEY,PENNEY,59,12,DETROIT,DETROIT,RED WINGS,JOE LOUIS ARENA,STEFAN,STEFFIN,HANLON,HANLON,40
  778.   DATA 13,PHILADELPHIA,PHILADELPHIA,FLYERS,THE SPECTRUM,HEXTALL,HEXTALL,RESCH,RESH,110,14,BUFFALO,BUFFUHLOE,SABRES,MEMORIAL AUDITORIUM,BARASSO,BUHRAHSO,CLOUTIER,KLOTEEAY,80
  779.   DATA 15,VANCOUVER,VANKOOVER,CANUCKS,PACIFIC COLISEUM,BRODEUR,"BRO DIUR",YOUNG,YUNG,59,16,MINNESOTA,MINNUHSOTA,NORTH STARS,MET CENTER,BEAUPRE,"BO PRAY",TAKKO,TAKKO,85
  780.   DATA 17,NEW YORK,NEW YORK,RANGERS,MADISON SQUARE GARDEN,VANBIESBROUCK,VANBIESBROOK,FROESE,FROSE,78,18,HARTFORD,HARTFERD,WHALERS,THE HARTFORD CIVIC CENTER," LIUT",LEEOOT,WEEKS,WEEKS,84
  781.   DATA 19,LOS ANGELES,LOS ANJELLIS,KINGS,THE LOS ANGELES FORUM,ELIOT,ELLIOT,MELANSON,MELAHNSON,54,20,ST. LOUIS,SAINT LEWIS,BLUES,ST. LOUIS ARENA,WAMSLEY,WAHMSLEY,MILLEN,MILLEN,83
  782.   DATA 21,NEW JERSEY,NEW JERSEY,DEVILS,THE MEADOWLANDS ARENA,CHEVRIER,SHEVREEAY,TERRERI,TERRERI,59
  783.  
  784.