home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 2: Collection B / 17Bit_Collection_B.iso / files / 2273.dms / in.adf / League.AMOS / League.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1978-02-21  |  31.6 KB  |  1,452 lines

  1. '
  2. '                              TOP OF THE LEAGUE 
  3. '                            ********************* 
  4. '
  5. '                 Football Strategy Simulation by T.Kingsmill
  6. '
  7. '                               Copyright 1992 
  8. '
  9. '     This game is Shareware. The game can be freely distributed as
  10. '     long as only a small charge is made at the very most (to cover 
  11. '     disk, postage etc). Also all parts of this program, including  
  12. '     credits should remain as they are. Any violations should be  
  13. '     reported to the author.
  14. '
  15. '     See accompanying document file for basic instructions of how the 
  16. '     game plays.
  17. '
  18. '     To become a fully registered user, send ï¿½4. Amongst other things,
  19. '     you will receive a registered copy of the game, a Team Names 
  20. '     Editor and a Player Names Editor to customise your games.
  21. '
  22. '     T.Kingsmill, 2O2 Park Street Lane, Park Street, St Albans, 
  23. '     Hertfordshire AL2 2AQ. (England) 
  24. '
  25. '
  26. '  * * * MAIN PROGRAM * * *
  27. Set Buffer 53
  28. Screen Open 0,320,256,16,Lowres
  29. Change Mouse 2
  30. Flash Off : PATH$="top_of_the_league:graphics/"
  31. Load "top_of_the_league:sample.abk"
  32. INIT:
  33. Curs Off 
  34. Paper 0 : Cls 
  35. Dim PN$(220) : Dim PD$(16),D1$(16),D2$(16),D3$(16)
  36. Open In 1,"Top_Of_The_League:Player_Names.DAT"
  37. For Z=1 To 220
  38. Input #1,PN$(Z)
  39. Next 
  40. Close 1
  41. Open In 1,"Top_Of_The_League:Team_Names.DAT"
  42. For Z=1 To 16
  43. Input #1,PD$(Z)
  44. Input #1,D1$(Z)
  45. Input #1,D2$(Z)
  46. Input #1,D3$(Z)
  47. Next 
  48. Close 1
  49. Load Iff "Top_Of_The_League:graphics/titlescreen"
  50. Pen 7 : Paper 6 : Locate 1,30 : Centre "Press Any Key To Continue"
  51. Wait Key 
  52. Randomize Timer
  53. Paper 0 : Cls 
  54. Pen 2
  55. Locate 1,2 : Centre "Top Of The League"
  56. Pen 1
  57. Locate 4,8 : Print "Please Enter Your Name"
  58. Locate 4,10 : Input NAME$
  59. Cls : Pen 2
  60. Locate 1,2 : Centre "Top Of The League"
  61. Pen 1
  62. Locate 4,8 : Print "Do you want music?  Y/N"
  63. Locate 4,10 : Input YN$
  64. YN$=Upper$(YN$)
  65. If YN$="Y"
  66.   MUS=1 : Rem Load "df0:song11.abk"
  67.  Else 
  68.   MUS=0
  69. End If 
  70. SKLL:
  71. Cls : Pen 2 : Locate 1,2 : Centre "Top Of The League"
  72. Pen 1 : Locate 4,8
  73. Print "Enter skill level 1-3"
  74. Locate 4,10 : Print "1 = Novice"
  75. Locate 4,12 : Print "2 = Good"
  76. Locate 4,14 : Print "3 = Master"
  77. Locate 4,16 : Input SKILL_LEVEL
  78. If SKILL_LEVEL<1
  79.    Goto SKLL
  80. End If 
  81. If SKILL_LEVEL>3
  82.    Goto SKLL
  83. End If 
  84. D=0
  85. '
  86. '  * * * SELECT CLUB * * * 
  87. '
  88. If MUS=1 Then Music 1
  89. SELECT_CLUB:
  90. Cls : Pen 1
  91. Print "Please Select Club To Manage:"
  92. Print 
  93. For Z=1 To 16
  94. If D=0 Then Print Z,PD$(Z)
  95. If D=1 Then Print Z,D1$(Z)
  96. If D=2 Then Print Z,D2$(Z)
  97. If D=3 Then Print Z,D3$(Z)
  98. Next 
  99. Pen 2 : Print 
  100. Print "Enter number of club to manage."
  101. Print "Press RETURN for more club."
  102. Input X
  103. If X<0 Then Goto SELECT_CLUB
  104. If X>16 Then Goto SELECT_CLUB
  105. If X>0 Then Goto SET_GAME
  106. D=D+1
  107.  If D>3
  108.       D=0
  109.  End If 
  110. Goto SELECT_CLUB
  111. '
  112. ' * * * SET GAME VARIABLES ETC * * * 
  113. '
  114. SET_GAME:
  115. If D=0 Then C$=PD$(X) : PD$(X)=D3$(16) : D3$(16)=C$
  116. If D=1 Then C$=D1$(X) : D1$(X)=D3$(16) : D3$(16)=C$
  117. If D=2 Then C$=D2$(X) : D2$(X)=D3$(16) : D3$(16)=C$
  118. If D=3 Then C$=D3$(X) : D3$(X)=D3$(16) : D3$(16)=C$
  119. DIV=3
  120. Dim LEAGUE$(16),OPP_ATTACK(16),OPP_DEF(16)
  121. Dim OPP_POINTS(16),TEMP(16),OPP_MORAL(16)
  122. MR=50 : CAP=5000 : PTS=0 : WINS=0 : PLRS=14
  123. If SKILL_LEVEL=1 Then M=2000000
  124. If SKILL_LEVEL=2 Then M=800000
  125. If SKILL_LEVEL=3 Then M=200000
  126. DR=0 : WEEK=1 : LOSES=0 : BORROWED=0 : YEAR=0
  127. Dim STATUS(220),INJ(220),AGE(220),STAMINA(220),SKILL(220),PACE(220)
  128. Dim OVERALL(220),INJ_STATUS(220)
  129. P_ATTACK=0 : P_DEFENCE=0 : A=0 : B=0 : F_N=1
  130. FD=3 : FM=2 : FA=5
  131. GF=0 : GA=0 : BAL=0 : IN=0 : EX=0 : MORAL=5
  132. Restore GOALTYPES
  133. Dim GOAL$(10) : For Z=1 To 10 : Read GOAL$(Z) : Next 
  134. Gosub DEFINE_CPU_CLUBS
  135. Gosub DEFINE_PLAYERS
  136. Goto MAIN_MENU
  137. '
  138. ' * * *    
  139. '
  140. GOALTYPES:
  141. Data "Penalty kick"
  142. Data "Free kick on edge of the area"
  143. Data "Header from a corner kick!"
  144. Data "Passing build up from midfield"
  145. Data "Long ball from central defenders"
  146. Data "Goalmouth scramble from corner kick"
  147. Data "Bad back-pass is paid for!"
  148. Data "Passing move between strikers"
  149. Data "Throw-in booted into box and hit in"
  150. Data "Pass from midfielder finds striker"
  151. '
  152. '
  153. '
  154. DEFINE_CPU_CLUBS:
  155. For Z=1 To 16
  156. If DIV=3 Then LEAGUE$(Z)=D3$(Z)
  157. If DIV=2 Then LEAGUE$(Z)=D2$(Z)
  158. If DIV=1 Then LEAGUE$(Z)=D1$(Z)
  159. If DIV=0 Then LEAGUE$(Z)=PD$(Z)
  160. OPP_ATTACK(Z)=Int(Rnd(99)+1)
  161. OPP_DEF(Z)=Int(Rnd(99)+1)
  162. OPP_POINTS(Z)=0
  163. OPP_MORAL(Z)=Int(Rnd(9)+1)
  164. TEMP(Z)=0
  165. Next 
  166. Return 
  167. '
  168. ' * * *
  169. '
  170. DEFINE_PLAYERS:
  171. For Z=1 To 220
  172. K=Int(Rnd(100))
  173. STATUS(Z)=20
  174. If K<12
  175.     STATUS(Z)=19
  176.  End If 
  177. X=Int(Rnd(10))
  178. If X=1 Then INJ_STATUS(Z)=1
  179. If INJ_STATUS(Z)=1 Then INJ(Z)=Int(Rnd(9))
  180. AGE(Z)=Int(Rnd(18)+17)
  181. STAMINA(Z)=Int(Rnd(99)+1)
  182. SKILL(Z)=Int(Rnd(99)+1)
  183. PACE(Z)=Int(Rnd(99)+1)
  184. OVERALL(Z)=Int((STAMINA(Z)+SKILL(Z)+PACE(Z))/3)
  185. Next 
  186. HARDNESS=100-(SKILL_LEVEL*20)
  187. If SKILL_LEVEL=1 Then HARDNESS=100
  188. For Z=1 To 14
  189. MAKERND:
  190. H=Int(Rnd(219)+1)
  191. If STATUS(H)<19 Then Goto MAKERND
  192. If OVERALL(H)>HARDNESS Then Goto MAKERND
  193. STATUS(H)=Z
  194. Next 
  195. Return 
  196. '
  197. '
  198. '  * * * MAIN MENU * * * 
  199. '
  200. MAIN_MENU:
  201. Paper 0 : Cls : Curs Off 
  202. Load Iff "Top_Of_The_League:Graphics/Office"
  203. Clear Key 
  204. I$=""
  205. While I$=""
  206. I$=Inkey$
  207. Wend 
  208. I$=Upper$(I$)
  209. If I$="1" Then Gosub F_LIST
  210. If I$="2" Then Gosub INFORMATION
  211. If I$="3" Then Gosub BUY
  212. If I$="4" Then Gosub SELL
  213. If I$="5" Then Gosub GAME_LOAD
  214. If I$="6" Then Gosub GAME_SAVE
  215. If I$="7" Then Goto SELECT_TEAM
  216. If I$="8" Then Gosub QUIT
  217. Goto MAIN_MENU
  218. '
  219. '
  220. '
  221. F_LIST:
  222. Bell 
  223. Cls 
  224. Load Iff "Top_of_the_League:graphics/fixtures"
  225. Locate 1,6 : Print 
  226. For Z=1 To 16
  227. If Z=WEEK Then Pen 7 Else Pen 4
  228. If LEAGUE$(Z)<>C$ Then Print LEAGUE$(Z) Else Print "-no match-"
  229. Next 
  230. Pen 2
  231. Print : Print "Next Match: ";LEAGUE$(WEEK)
  232. Pen 1 : Print : Centre "Press any key to continue"
  233. Wait Key 
  234. Return 
  235. '
  236. '
  237. '
  238. INFORMATION:
  239. Bell 
  240. Cls : Pen 4
  241. Load Iff "Top_of_the_league:graphics/information"
  242. Locate 1,6 : Print 
  243. Print "Club: ";C$
  244. Print "Manager: ";NAME$
  245. Print "Skill Level(1-3):";SKILL_LEVEL
  246. Print "Seasons in charge: ";YEAR
  247. Print "Week number: ";WEEK
  248. Print "Managerial Rating (1-100): ";MR
  249. Print "Money Available: ";M
  250. Print "Overdraft: ";BORROWED
  251. Print "Division: ";DIV
  252. Print "No. of Players in squad: ";PLRS
  253. Print "Ground Capacity: ";CAP
  254. Print "Points this season: ";PTS
  255. Pen 1 : Print : Centre "Press any key to continue"
  256. Wait Key 
  257. Return 
  258. '
  259. '
  260. '
  261. BUY:
  262. Bell : Cls 
  263. If PLRS=18
  264.    Pen 2 : Locate 1,10
  265.    Centre "Enough players already!"
  266.    Wait 150 : Goto MAIN_MENU
  267. End If 
  268. R=0 : G$=""
  269. For Z=1 To 220
  270. If R=1 Then Goto LP
  271. If STATUS(Z)=19
  272. Cls : Pen 4
  273. Load Iff "top_of_the_league:graphics/transfer_market"
  274. Locate 0,7
  275. Print "Press O to make an offer."
  276. Print "Press RETURN to move to next player."
  277. Print "Press X to exit back to main menu."
  278.  Print : Print 
  279.  Pen 1 : Print PN$(Z)
  280.  Pen 2 : Print : Print "Age: ";AGE(Z)
  281.  Print : Print "Stamina: ";STAMINA(Z)
  282.  Print : Print "Skill: ";SKILL(Z)
  283.  Print : Print "Pace: ";PACE(Z)
  284.  Print : Print "VALUE: ";Int(OVERALL(Z)*10000)
  285.  G$=""
  286.  Print : Input G$
  287. End If 
  288. G$=Upper$(G$)
  289. If G$="X" Then R=1
  290. If G$="O" Then Gosub MAKE_OFFER
  291. LP:
  292. Next 
  293. Return 
  294. '
  295. '
  296. '
  297. MAKE_OFFER:
  298. Cls 
  299. Pen 4
  300. Y=Int(OVERALL(Z)*10000)
  301. Y=Y-Int(Rnd(6000)+2000)
  302. Locate 0,2
  303. Print "Player: ";PN$(Z)
  304. Locate 0,5
  305. Print "Value: ";Int(OVERALL(Z)*10000)
  306. Print : Input "What is your offer? ";OFFER
  307. If OFFER>Y
  308.   Print : Print "Your offer is accepted!"
  309.   R=1 : PLRS=PLRS+1 : M=M-OFFER
  310. '
  311.   FLAG=0
  312.   H=1
  313. '
  314.   SEARCH:
  315.   For L=1 To 220
  316.   If STATUS(L)=H
  317.     FLAG=1
  318.    End If 
  319.   Next L
  320.   If FLAG=1
  321.     H=H+1 : FLAG=0 : Goto SEARCH
  322.   End If 
  323.   STATUS(Z)=H
  324. '
  325.  Else 
  326.   Print "Offer not accepted."
  327. End If 
  328.   Print 
  329.   Print "Press any key"
  330.   Wait Key 
  331. G$="" : Return 
  332. '
  333. '
  334. '
  335. SELL:
  336. Bell 
  337. Cls 
  338. If PLRS=11
  339.   Pen 2 : Locate 1,10 : Centre "You must have at least 11"
  340.   Locate 1,12 : Centre "players in your squad!"
  341.   Wait 200
  342.   Return 
  343.  End If 
  344. SELL2:
  345. Load Iff PATH$+"squad"
  346. Pen 4 : Locate 1,6 : Print "Player"
  347. Locate 20,6 : Print "Age" : Locate 24,6 : Print "Skl"
  348. Locate 28,6 : Print "Sta" : Locate 32,6 : Print "Pac"
  349. Pen 1
  350. For H=1 To 18
  351. Locate 0,6+H : Print H
  352. For L=1 To 220
  353. If STATUS(L)=H
  354.   Locate 4,6+H : Print PN$(L)
  355.   Locate 19,6+H : Print AGE(L)
  356.   Locate 23,6+H : Print SKILL(L)
  357.   Locate 27,6+H : Print STAMINA(L)
  358.   Locate 31,6+H : Print PACE(L)
  359. End If 
  360. Next 
  361. Next 
  362. Pen 2 : Locate 1,25
  363. Input "Sell who? (RETURN to exit) ";I
  364. If I<1 Then Return 
  365. If I>18 Then Return 
  366. Z=1 : Repeat 
  367. If STATUS(Z)=I Then P=Z
  368. Z=Z+1 : Until Z=220
  369. Cls 
  370. Locate 1,2
  371. Print "Inquires for ";PN$(P)
  372. Y=Int(OVERALL(P)*10000)
  373. Locate 1,4 : Print "Value: ";Y : Pen 1
  374. RAND:
  375. Q=Rnd(16)
  376. If LEAGUE$(Q)=C$ Then Goto RAND
  377. OFFER=Int((OVERALL(P)*10000)-Rnd(9000))
  378. Locate 1,7 : Print LEAGUE$(Q);" offer ";OFFER
  379. Pen 4 : Locate 1,10
  380. Centre "Accept offer  Y/N"
  381. Locate 15,13
  382. Input YN$
  383. Bell 
  384. YN$=Upper$(YN$)
  385. If YN$<>"Y" Then Return 
  386. Locate 1,16 : Pen 1 : Centre "Ok, deal has gone ahead."
  387. PLRS=PLRS-1
  388. M=M+OFFER
  389. STATUS(P)=20
  390. Wait 100
  391. Cls 
  392. Goto SELL2
  393. '
  394. '
  395. '
  396. GAME_SAVE:
  397. Bell 
  398. Cls 
  399. Pen 1
  400. Load Iff "top_of_the_league:graphics/save"
  401. Locate 1,9
  402. Print "Are you sure? Y/N"
  403. Locate 1,13
  404. Input YN$
  405. YN$=Upper$(YN$)
  406. If YN$<>"Y" Then Return 
  407. Pen 4
  408. Locate 1,17
  409. Centre "Please wait a moment.."
  410. Open Out 1,"top_of_the_league:Save_Game.DAT"
  411. Print #1,F_N
  412. Print #1,FD
  413. Print #1,FM
  414. Print #1,FA
  415. Print #1,GF
  416. Print #1,GA
  417. Print #1,MORAL
  418. Print #1,C$
  419. Print #1,NAME$
  420. Print #1,MR
  421. Print #1,M
  422. Print #1,DIV
  423. Print #1,PLRS
  424. Print #1,CAP
  425. Print #1,PTS
  426. Print #1,WINS
  427. Print #1,DR
  428. Print #1,LOSES
  429. Print #1,WEEK
  430. Print #1,YEAR
  431. Print #1,BORROWED
  432. For Z=1 To 16
  433. Print #1,PD$(Z)
  434. Print #1,D1$(Z)
  435. Print #1,D2$(Z)
  436. Print #1,D3$(Z)
  437. Print #1,LEAGUE$(Z)
  438. Print #1,OPP_ATTACK(Z)
  439. Print #1,OPP_DEF(Z)
  440. Print #1,OPP_POINTS(Z)
  441. Print #1,OPP_MORAL(16)
  442. Next Z
  443. For Z=1 To 220
  444. Print #1,STATUS(Z)
  445. Print #1,INJ_STATUS(Z)
  446. Print #1,INJ(Z)
  447. Print #1,AGE(Z)
  448. Print #1,STAMINA(Z)
  449. Print #1,SKILL(Z)
  450. Print #1,PACE(Z)
  451. Print #1,OVERALL(Z)
  452. Next Z
  453. Close 1
  454. Return 
  455. '
  456. '
  457. '
  458. GAME_LOAD:
  459. Bell 
  460. Cls 
  461. Pen 1
  462. Load Iff "top_of_the_league:graphics/load"
  463. Locate 1,9
  464. Print "Are you sure? Y/N"
  465. Locate 1,13
  466. Input YN$
  467. YN$=Upper$(YN$)
  468. If YN$<>"Y" Then Return 
  469. Pen 4
  470. Locate 1,17
  471. Centre "Please wait a moment.."
  472. Open In 1,"top_of_the_league:Save_Game.DAT"
  473. Input #1,F_N
  474. Input #1,FD
  475. Input #1,FM
  476. Input #1,FA
  477. Input #1,GF
  478. Input #1,GA
  479. Input #1,MORAL
  480. Input #1,C$
  481. Input #1,NAME$
  482. Input #1,MR
  483. Input #1,M
  484. Input #1,DIV
  485. Input #1,PLRS
  486. Input #1,CAP
  487. Input #1,PTS
  488. Input #1,WINS
  489. Input #1,DR
  490. Input #1,LOSES
  491. Input #1,WEEK
  492. Input #1,YEAR
  493. Input #1,BORROWED
  494. For Z=1 To 16
  495. Input #1,PD$(Z)
  496. Input #1,D1$(Z)
  497. Input #1,D2$(Z)
  498. Input #1,D3$(Z)
  499. Input #1,LEAGUE$(Z)
  500. Input #1,OPP_ATTACK(Z)
  501. Input #1,OPP_DEF(Z)
  502. Input #1,OPP_POINTS(Z)
  503. Input #1,OPP_MORAL(16)
  504. Next Z
  505. For Z=1 To 220
  506. Input #1,STATUS(Z)
  507. Input #1,INJ_STATUS(Z)
  508. Input #1,INJ(Z)
  509. Input #1,AGE(Z)
  510. Input #1,STAMINA(Z)
  511. Input #1,SKILL(Z)
  512. Input #1,PACE(Z)
  513. Input #1,OVERALL(Z)
  514. Next Z
  515. Close 1
  516. Return 
  517. '  
  518. '
  519. '
  520. QUIT:
  521. Bell : Cls : Load Iff "Top_of_the_league:graphics/quit?"
  522. Pen 4 : Locate 1,6 : Print 
  523. Print 
  524. Input " Sure?  Y/N ";YN$
  525. YN$=Upper$(YN$)
  526. If YN$<>"Y" Then Return 
  527. End 
  528. '
  529. '
  530. '
  531. SELECT_TEAM:
  532. Bell 
  533. Cls 
  534. If PLRS<11
  535.   Pen 2 : Locate 1,10 : Centre "You must have at least 11"
  536.   Locate 1,12 : Centre "players in your squad!"
  537.   Wait 200
  538.   Goto MAIN_MENU
  539.  End If 
  540. Pen 1 : Locate 1,1
  541. Centre "Next Opponents"
  542. Locate 5,4 : Pen 4
  543. Print "Club: ";LEAGUE$(WEEK)
  544. Locate 5,8 : Print "Attack Skill: ";OPP_ATTACK(WEEK)
  545. Locate 5,10 : Print "Defense Skill: ";OPP_DEF(WEEK)
  546. Locate 5,12 : Print "Team Moral(1-10): ";OPP_MORAL(WEEK)
  547. Locate 5,14 : Print "Points this season: ";OPP_POINTS(WEEK)
  548. Pen 2
  549. Locate 1,19 : Centre "Press any key to continue"
  550. Wait Key 
  551. '
  552. TACTICS:
  553. Cls 
  554. If F_N=1 Then FD=3 : FM=2 : FA=5 : Load Iff PATH$+"formation325"
  555. If F_N=2 Then FD=4 : FM=2 : FA=4 : Load Iff PATH$+"formation424"
  556. If F_N=3 Then FD=4 : FM=3 : FA=3 : Load Iff PATH$+"formation433"
  557. If F_N=4 Then FD=4 : FM=4 : FA=2 : Load Iff PATH$+"formation442"
  558. If F_N=5 Then FD=4 : FM=5 : FA=1 : Load Iff PATH$+"formation451"
  559. If F_N=6 Then FD=5 : FM=3 : FA=2 : Load Iff PATH$+"formation532"
  560. Clear Key 
  561. Pen 2 : Paper 6
  562. Locate 1,24 : Input J$
  563. J$=Upper$(J$)
  564. If J$="Z" Then F_N=F_N-1
  565. If J$="X" Then F_N=F_N+1
  566. If J$="C" Then Goto LINEUP
  567. If F_N<1 Then F_N=6
  568. If F_N>6 Then F_N=1
  569. Goto TACTICS
  570. '
  571. LINEUP:
  572. Paper 0 : Pen 2 : Cls 
  573. Locate 1,0 : Centre "Team Select"
  574. Pen 4 : Locate 1,3 : Print "Player"
  575. Locate 20,3 : Print "Age" : Locate 24,3 : Print "Skl"
  576. Locate 28,3 : Print "Sta" : Locate 32,3 : Print "Pac"
  577. Pen 1
  578. For H=1 To 18
  579. If H>11
  580.   Pen 5
  581.  End If 
  582. Locate 0,3+H : Print H
  583. For L=1 To 220
  584. If STATUS(L)=H
  585.   Locate 4,3+H : Print PN$(L)
  586.   Locate 19,3+H : Print AGE(L)
  587.   Locate 23,3+H : Print SKILL(L)
  588.   Locate 27,3+H : Print STAMINA(L)
  589.   Locate 31,3+H : Print PACE(L)
  590. End If 
  591. Next 
  592. Next 
  593. Pen 1
  594. Print : Print "Enter Player to move(1-18)"
  595. Input "RETURN to play. ";P
  596. If P<1
  597.   Goto COMPILE_TEAM
  598.  End If 
  599. If P>18
  600.   Goto LINEUP
  601.  End If 
  602. ' check exists 
  603. FLAG=0
  604. For L=1 To 220
  605. If STATUS(L)=P
  606.   FLAG=1 : PLR_NUMBER=L
  607.  End If 
  608. Next L
  609. If FLAG=0
  610.   Print "No player exists there!"
  611.   Wait 100
  612.   Goto LINEUP
  613.  End If 
  614. '
  615. Input "Move to where ";P2
  616. If P2>18
  617.   Goto LINEUP
  618.  End If 
  619. '
  620. FLAG=0
  621. For L=1 To 220
  622. If STATUS(L)=P2
  623.   FLAG=1 : PLR_NUMBER2=L
  624.  End If 
  625. Next L
  626. If FLAG=0
  627.   STATUS(PLR_NUMBER)=P2
  628.  End If 
  629. If FLAG=1
  630.   STATUS(PLR_NUMBER)=P2
  631.   STATUS(PLR_NUMBER2)=P
  632. End If 
  633. Goto LINEUP
  634. '
  635. '  * * * Work out team performance levels * * *
  636. '
  637. COMPILE_TEAM:
  638. GK=0 : DEF=0 : MID=0 : AK=0
  639. 'goalkeeper
  640. For Z=1 To 220
  641. If STATUS(Z)=1
  642.    GK=GK+OVERALL(Z)
  643.  End If 
  644. Next Z
  645. ' defense
  646. For H=2 To FD+1
  647. For Z=1 To 220
  648. If STATUS(Z)=H
  649.     DEF=DEF+OVERALL(Z)
  650.  End If 
  651. Next Z
  652. Next H
  653. 'midfield
  654. For H=FD+2 To FD+FM+1
  655. For Z=1 To 220
  656. If STATUS(Z)=H
  657.     MID=MID+OVERALL(Z)
  658.  End If 
  659. Next 
  660. Next 
  661. 'attack
  662. For H=FD+FM+2 To 11
  663. For Z=1 To 220
  664. If STATUS(Z)=H
  665.     AK=AK+OVERALL(Z)
  666.  End If 
  667. Next 
  668. Next 
  669. ' divide up and sort 
  670. DEF=DEF+GK
  671. AK=AK+MID
  672. DEF=Int(DEF/(FD+1))
  673. AK=Int(AK/(FM+FA))
  674. '
  675. ACTION:
  676. Music Off 
  677. A=0 : B=0 : GOALS=0
  678. Cls : Paper 6
  679. Curs Off 
  680. Load Iff PATH$+"match_pitch"
  681. Paper 2 : Pen 1 : Locate 1,20 : Print Space$(16)
  682. Locate 23,20 : Print Space$(16)
  683. Gosub PRT_SCORE
  684. '
  685. GAME:
  686. For Z=1 To 3 : Rem  loops around three times for loadsagoals! 
  687. Wait 100
  688. GOALNUMBER=Rnd(9)+1
  689. CHANCE=Rnd(1)
  690. If AK>OPP_DEF(WEEK)
  691.    If CHANCE=1
  692.       TEAM=1
  693.       Gosub PRT_GOAL
  694.       Locate 1,26 : Pen 1 : Print GOAL$(GOALNUMBER)
  695.       GOALS=GOALS+1 : A=A+1 : Gosub PRT_SCORE
  696.       Gosub WIPE_GOAL
  697.    End If 
  698. End If 
  699. Wait 100
  700. GOALNUMBER=Rnd(9)+1
  701. CHANCE=Rnd(1)
  702. If OPP_ATTACK(WEEK)>AK
  703.    If CHANCE=1
  704.       TEAM=2
  705.       Gosub PRT_GOAL
  706.       Locate 1,26 : Pen 1 : Print GOAL$(GOALNUMBER)
  707.       GOALS=GOALS+1 : B=B+1 : Gosub PRT_SCORE
  708.       Gosub WIPE_GOAL
  709.    End If 
  710. End If 
  711. Wait 100
  712. GOALNUMBER=Rnd(9)+1
  713. CHANCE=Rnd(1)
  714. If MORAL>OPP_MORAL(WEEK)
  715.    If CHANCE=1
  716.       TEAM=1
  717.       Gosub PRT_GOAL
  718.       Locate 1,26 : Pen 1 : Print GOAL$(GOALNUMBER)
  719.       GOALS=GOALS+1 : A=A+1 : Gosub PRT_SCORE
  720.       Gosub WIPE_GOAL
  721.    End If 
  722. End If 
  723. Wait 100
  724. GOALNUMBER=Rnd(9)+1
  725. CHANCE=Rnd(1)
  726. If OPP_MORAL(WEEK)>MORAL
  727.    If CHANCE=1
  728.       TEAM=2
  729.       Gosub PRT_GOAL
  730.       Locate 1,26 : Pen 1 : Print GOAL$(GOALNUMBER)
  731.       GOALS=GOALS+1 : B=B+1 : Gosub PRT_SCORE
  732.       Gosub WIPE_GOAL
  733.    End If 
  734. End If 
  735. Wait 100
  736. Next Z
  737. Goto GAME_OVER
  738. '
  739. '
  740. PRT_SCORE:
  741. Paper 2 : Pen 1
  742. Locate 1,20 : Print C$
  743. Locate 23,20 : Print LEAGUE$(WEEK)
  744. Paper 6 : Pen 1
  745. Locate 17,20 : Print A
  746. Locate 20,20 : Print B
  747. Return 
  748. '
  749. PRT_GOAL:
  750. Sam Play 1
  751. Pen 1 : Locate 17,19 : Print "GOAL!!"
  752. Locate 1,26 : Paper 6 : Print Space$(39)
  753. ' goalscorers - player team..
  754. If TEAM=1
  755. FINDSCORER:
  756.  Repeat 
  757.  N=Int(Rnd(219)+1)
  758.  Until STATUS(N)<12
  759.   If STATUS(N)=1
  760.     Goto FINDSCORER
  761.   End If 
  762. 'This bit may not work 
  763.  If STATUS(N)<(11-FA)
  764.    If Rnd(100)<70
  765.       J=Int(Rnd(FA))
  766.       J=11-J
  767.       Repeat 
  768.       N=Int(Rnd(219)+1)
  769.       Until STATUS(N)=J
  770.    End If 
  771.  End If 
  772. '
  773.  Locate 1,21+A
  774.  Paper 6 : Pen 0
  775.  Print PN$(N)
  776. End If 
  777. '  computer scorer.. 
  778. If TEAM=2
  779.   N=Int(Rnd(219)+1)
  780.    If STATUS(N)<19
  781.      N=Int(Rnd(219)+1)
  782.    End If 
  783.   Locate 23,21+B : Paper 6 : Pen 0
  784.   Print PN$(N)
  785. End If 
  786. Return 
  787. '
  788. WIPE_GOAL:
  789. Wait 100 : Locate 17,19 : Print "      "
  790. Return 
  791. '
  792. '
  793. GAME_OVER:
  794. Locate 1,27 : Pen 0
  795. Print "End of match - press any key.."
  796. Clear Key 
  797. Wait Key 
  798. '
  799. If MUS=1
  800.   Music 1
  801. End If 
  802. Cls 
  803. Load Iff PATH$+"finalscore"
  804. Paper 2 : Pen 1
  805. Locate 7,9 : Print C$
  806. Locate 7,12 : Print LEAGUE$(WEEK)
  807. Locate 26,9 : Print A
  808. Locate 26,12 : Print B
  809. Clear Key 
  810. Wait Key 
  811. '
  812. Paper 0 : Cls 
  813. For Z=1 To 16
  814. TEMP(Z)=0
  815. If LEAGUE$(Z)=C$
  816.     TEMP(Z)=1 : P=Z
  817.  End If 
  818. Next 
  819. GF=GF+A : GA=GA+B
  820. If A>B Then WINS=WINS+1 : PTS=PTS+3 : OPP_POINTS(P)=OPP_POINTS(P)+3 : MORAL=MORAL+1 : MR=MR+5
  821. If A<B Then LOSES=LOSES+1 : OPP_POINTS(WEEK)=OPP_POINTS(WEEK)+3 : MORAL=MORAL-1 : MR=MR-6
  822. If A=B Then DR=DR+1 : PTS=PTS+1 : OPP_POINTS(P)=OPP_POINTS(P)+1 : OPP_POINTS(WEEK)=OPP_POINTS(WEEK)+1
  823. If MORAL<1 Then MORAL=1
  824. If MORAL>10 Then MORAL=10
  825. Pen 4 : Locate 3,2 : Print "How ";C$;" stands.."
  826. Pen 2 : 
  827. Locate 5,8 : Print "Played:       ";WEEK
  828. Locate 5,9 : Print "Won:          ";WINS
  829. Locate 5,10 : Print "Drawn:        ";DR
  830. Locate 5,11 : Print "Lost:         ";LOSES
  831. Locate 5,12 : Print "Goals For:    ";GF
  832. Locate 5,13 : Print "Goals Against:";GA
  833. Locate 5,14 : Print "Points:       ";PTS
  834. Pen 1 : Locate 1,20
  835. Centre "Press any key to continue"
  836. Wait Key 
  837. '
  838. ' Other results
  839. '
  840. Cls 
  841. Pen 6
  842. TEMP(WEEK)=1
  843. If DIV>0
  844.   Locate 0,0 : Print "OTHER RESULTS FROM DIVISION ";DIV
  845.  Else 
  846.   Locate 0,0 : Print "OTHER PREMIER LEAGUE RESULTS"
  847. End If 
  848. Pen 7
  849. R=2
  850. For E=1 To 7
  851. R=2*E
  852. FINDTEAM:
  853. J=Rnd(15)+1
  854. If TEMP(J)=1 Then Goto FINDTEAM
  855. TEMP(J)=1 : TEAMA=J
  856. FINDTEAM2:
  857. J=Rnd(15)+1
  858. If TEMP(J)=1 Then Goto FINDTEAM2
  859. TEMP(J)=1 : TEAMB=J
  860. TEAMASCORE=Int(OPP_MORAL(TEAMA)/2)
  861. TEAMBSCORE=Int(OPP_MORAL(TEAMB)/2)
  862. Locate 1,R : Print LEAGUE$(TEAMA)
  863. Locate 16,R : Print TEAMASCORE;" -";TEAMBSCORE
  864. Locate 24,R : Print LEAGUE$(TEAMB)
  865. If TEAMASCORE>TEAMBSCORE Then OPP_POINTS(TEAMA)=OPP_POINTS(TEAMA)+3
  866. If TEAMASCORE=TEAMBSCORE Then Inc OPP_POINTS(TEAMA) : Inc OPP_POINTS(TEAMB)
  867. If TEAMBSCORE>TEAMASCORE Then OPP_POINTS(TEAMB)=OPP_POINTS(TEAMB)+3
  868. Next E
  869. Print : Pen 1 : Centre "Press any key to continue"
  870. Wait Key 
  871. '
  872. '
  873. '
  874. '
  875. '
  876. '
  877. '
  878. Cls 
  879. Pen 4 : Locate 1,0 : Centre "How they Stand.."
  880. Locate 1,2 : Print "Team:"
  881. Locate 18,2 : Print "Pts"
  882. Pen 1
  883. N$="" : K=0
  884. For H=1 To 16
  885. TEMP(H)=OPP_POINTS(H)
  886. Next 
  887. For Y=1 To 16
  888. For E=1 To 16
  889. If TEMP(E)>K-1
  890.      K=TEMP(E) : N$=LEAGUE$(E) : J=E
  891.      If Y=1
  892.          PSN1=E
  893.       End If 
  894.      If Y=2
  895.          PSN2=E
  896.       End If 
  897.      If Y=15
  898.          PSN3=E
  899.       End If 
  900.      If Y=16
  901.          PSN4=E
  902.       End If 
  903.  End If 
  904. Next 
  905. If N$=C$ Then Pen 2 : PSN=Y Else Pen 1
  906. Locate 1,Y+3 : Print N$ : Locate 18,Y+3 : Print K
  907. K=0 : TEMP(J)=-2
  908. Next 
  909. Print : Pen 11
  910. Print "Current week: ";WEEK
  911. If DIV=0 Then Print "Bottom 2 will be relegated."
  912. If DIV=1 Then Print "Bottom 2 will be relegated." : Print "Top 2 will be promoted."
  913. If DIV=2 Then Print "Bottom 2 will be relegated." : Print "Top 2 will be promoted."
  914. If DIV=3 Then Print "Top 2 will be promoted."
  915. Pen 5 : Print : Centre "Press any key to continue"
  916.  Wait Key 
  917. '
  918. '
  919. '
  920. Cls 
  921. Pen 2 : Locate 1,0 : Centre "Finance"
  922. Pen 1 : Locate 1,2
  923. TICIN=Int(((6-DIV)*(30-PSN))*100+Int(Rnd(500)-300))*2
  924. If(TICIN/2)>CAP Then TICIN=CAP*2
  925. ELECEX=Int((Rnd(200)+600)*(5-DIV)) : TELEX=Int((Rnd(100)+300)*(5-DIV))
  926. PRIEX=Int(TICIN/1.1) : POLEX=Int(Rnd(50)+2500)*(5-DIV)
  927. WAGEX=Int(500*(6-DIV))*PLRS : OFFEX=Int(Rnd(100)+300)
  928. PROIN=Int(Rnd(500))+Int((5-DIV)*TICIN/2)
  929. LOTIN=Int(5-DIV)*Int(Rnd(100)+700) : ADSIN=Int(5-DIV)*Int(Rnd(1000)+5000) : CIN=Int(5-DIV)*Int(Rnd(500)+500)
  930. IN=Int(PROIN+TICIN+LOTIN+ADSIN+CIN)
  931. Pen 5 : Locate 5,3 : Print "INCOME" : Locate 30,3 : Print "�"
  932. Pen 1 : Locate 5,4 : Print "GATE MONEY" : Locate 30,4 : Print TICIN
  933. Locate 5,5 : Print "CLUB SHOP" : Locate 30,5 : Print CIN
  934. Locate 5,6 : Print "LOTTERY" : Locate 30,6 : Print LOTIN
  935. Locate 5,7 : Print "ADVERTISING" : Locate 30,7 : Print ADSIN
  936. Locate 5,8 : Print "PROGRAMME SALES" : Locate 30,8 : Print PROIN
  937. Pen 2 : Locate 5,9 : Print "TOTAL INCOME" : Locate 30,9 : Print IN
  938. Pen 5
  939. Locate 5,11 : Print "EXPENDITURE"
  940. Pen 1 : Locate 5,12 : Print "WAGES" : Locate 30,12 : Print WAGEX
  941. Locate 5,13 : Print "OFFICE EXPENSES" : Locate 30,13 : Print OFFEX
  942. Locate 5,14 : Print "PROGRAMME PRINTING" : Locate 30,14 : Print PRIEX
  943. Locate 5,15 : Print "TELEPHONE BILL" : Locate 30,15 : Print TELEX
  944. Locate 5,16 : Print "ELECTRICITY BILL" : Locate 30,16 : Print ELECEX
  945. Locate 5,17 : Print "POLICE BILL" : Locate 30,17 : Print POLEX
  946. EX=Int(WAGEX+OFFEX+PRIEX+TELEX+ELECEX+POLEX)
  947. Pen 2 : Locate 5,18 : Print "TOTAL EXPENSES" : Locate 30,18 : Print EX
  948. BAL=Int(IN-EX)
  949. Pen 4 : Locate 5,20 : Print "WEEKLY BALANCE" : Locate 30,20 : Print BAL
  950. M=M+BAL
  951. Clear Key 
  952. Pen 1 : Locate 1,22 : Centre "Press any key to continue"
  953. Wait Key 
  954. Goto IN_CIDENTS
  955. '
  956. DELAY:
  957. For D=1 To Int(Rnd(8000)+2500)
  958. Next 
  959. Return 
  960. '
  961. '  * * * Incidents.. * * * 
  962. '
  963. IN_CIDENTS:
  964. Cls 
  965. Curs Off 
  966. Load Iff PATH$+"incidents"
  967. Pen 11
  968. Locate 0,8
  969. Gosub DELAY : If Rnd(100)<19 Then Print "RESERVES EXPENSES COST ï¿½1,000" : M=M-1000
  970. Gosub DELAY : If Rnd(100)<12 Then Print "SUPPORTERS CLUB GIVE ï¿½10,000" : M=M+10000
  971. Gosub DELAY : If Rnd(100)<7 Then Print "VISITING FANS CAUSE ï¿½7,000 DAMAGE" : M=M-7000
  972. Gosub DELAY : If Rnd(100)<22 Then Print "HOTEL BILL FROM AWAY MATCH ï¿½1,500" : M=M-1500
  973. Gosub DELAY : If Rnd(100)<20 Then Print "INSURANCE Co WANTS ï¿½10,000" : M=M-10000
  974. Gosub DELAY : If Rnd(100)<13 Then Print "LOCAL TV COVERAGE GAINS ï¿½20,000" : M=M+20000
  975. Gosub DELAY : If Rnd(100)<20 Then Print "SCOUT'S EXPENSES COST ï¿½1,800" : M=M-1800
  976. Gosub DELAY : If Rnd(100)<20 Then Print "CHAIRMAN GIVES CLUB ï¿½25,000" : M=M+25000
  977. Gosub DELAY : If Rnd(100)<20 Then Print "GROUND HIRE BRINGS IN ï¿½4,000" : M=M+4000
  978. Gosub DELAY : If Rnd(100)<20 Then Print "GROUND REPAIRS COST ï¿½5,000" : M=M-5000
  979. Gosub DELAY : If Rnd(100)<20 Then Print "SPONSERS GIVE ï¿½2,000" : M=M+2000
  980. Gosub DELAY : If Rnd(100)<11 Then Print "CLUB ADVERTISING COSTS ï¿½2500" : M=M-2500
  981. Gosub DELAY : If Rnd(100)<15 Then Print "SPORTS EVENT HELD - GAIN ï¿½2,000" : M=M+2000
  982. Gosub DELAY : If Rnd(100)<(SKILL_LEVEL*10) Then Print "BAD PRESS PUBLICITY UPSETS TEAM MEMBERS" : MORAL=MORAL-3
  983. Gosub DELAY : If Rnd(100)<(SKILL_LEVEL*10) Then Print "PLAYERS ARGUEMENTS DEMORALIZE SQUAD" : MORAL=MORAL-4
  984. Gosub DELAY : If Rnd(100)<(SKILL_LEVEL*10) Then Print "PLAYERS DISAGREE WITH COACH STAFF" : MORAL=MORAL-2
  985. If MORAL<1 Then MORAL=1
  986. Gosub DELAY
  987. For C=1 To 220
  988. If STATUS(C)<19
  989.   If DIV>0
  990.     If OVERALL(C)>80
  991.        If Rnd(100)<(SKILL_LEVEL*5)
  992.            Print PN$(C);" requested a move"
  993.            Print "and has been transferred"
  994.            Print "to ";PD$(Rnd(16))
  995.            FEE=Int(OVERALL(C)*10000)
  996.            Print "Tribunal fee agreed: ";FEE
  997.            M=M+FEE : PLRS=PLRS-1
  998.            STATUS(C)=20
  999.        End If 
  1000.     End If 
  1001.   End If 
  1002. End If 
  1003. Next 
  1004. Clear Key 
  1005. Pen 2 : Locate 1,22 : Centre "Press any key to continue"
  1006. Wait Key 
  1007. '
  1008. '
  1009. GROUND:
  1010. Cls : Curs Off 
  1011. Load Iff PATH$+"Ground_Capacity"
  1012. Pen 11
  1013. Locate 6,20
  1014. Print "Number of Seats: ";CAP
  1015. Locate 6,22 : Print "Last Attendence: ";Int(TICIN/2)
  1016. Locate 6,24 : Input "Increase Capacity?  Y/N ";YN$
  1017. YN$=Upper$(YN$)
  1018. If YN$<>"Y" Then Goto BANKLOAN
  1019. Cls 
  1020. Locate 0,3 : Print "Enter extra amount of seats:"
  1021. Locate 0,6
  1022. Input I
  1023. If I<1 Then Goto GROUND
  1024. If I>5000
  1025.     Print 
  1026.     Print "You cannot increase by"
  1027.     Print "that much in one week!"
  1028.     Print "Press any key"
  1029.     Wait Key 
  1030.     Goto GROUND
  1031.  End If 
  1032. CAP=CAP+I
  1033. M=M-(I*50)
  1034. Locate 0,9
  1035. Print "You stadium now holds ";CAP
  1036. Pen 2
  1037. Locate 1,19 : Centre "Press any key to continue"
  1038. Wait Key 
  1039. '
  1040. BANKLOAN:
  1041. Cls : Curs Off 
  1042. Load Iff PATH$+"bank"
  1043. Paper 2 : Pen 1
  1044. Locate 0,7
  1045. If M<0
  1046.      Print "The bank would like to remind you"
  1047.      Print "that you are currently running in"
  1048.      Print "the red. Please spend wisely and"
  1049.      Print "make cuts where possible."
  1050.      Print 
  1051. End If 
  1052. If M<-2000000
  1053.      Print "Dear ";NAME$
  1054.      Print 
  1055.      Print "I regret to inform you that your club"
  1056.      Print "is over ï¿½2,000,000 in the RED, as I"
  1057.      Print "hope you are aware. As a result of"
  1058.      Print "this very serious situation, I am"
  1059.      Print "forced to terminate your club from"
  1060.      Print "active football."
  1061.      Print 
  1062.      Print "As I'm sure your board members will"
  1063.      Print "make clear, this means your job is"
  1064.      Print "no longer in existance."
  1065.      Print 
  1066.      Print "     Best wishes,"
  1067.      Print "           The Bank Man"
  1068.      Clear Key 
  1069.      Wait Key 
  1070.      Gosub LOST_JOB
  1071.  End If 
  1072. If BORROWED>0
  1073.      Print "Amount owed to bank: ";BORROWED
  1074.      Print 
  1075.      Print "You are paying ";Int(BORROWED/20)
  1076.      Print "in interest per week." : Print 
  1077.      Print "Enter amount to pay back:"
  1078.      Print "(RETURN for nothing)"
  1079.      Input X
  1080.      If X<0
  1081.         Goto BANKLOAN
  1082.       End If 
  1083.      If X>BORROWED
  1084.          Print : Print "You don't have to pay back"
  1085.          Print "that much!" : Print "Press any key"
  1086.          Wait Key 
  1087.          Goto BANKLOAN
  1088.       End If 
  1089.      M=M-X
  1090.      BORROWED=BORROWED-X
  1091.  End If 
  1092. Print : Print "Do you wish to borrow any"
  1093. Print "money from the bank?"
  1094. Print 
  1095. Print "Please enter amount to borrow:"
  1096. Print "(RETURN for nothing)"
  1097. X=0
  1098. Input X
  1099. If X<1 Then Goto APPROACH
  1100. If X+BORROWED>5000000
  1101.      Print 
  1102.      Print "Sorry, that is too much."
  1103.      Print "You will have to come next"
  1104.      Print "week to make another try."
  1105.      Print "Press any key"
  1106.      Wait Key 
  1107.      Goto APPROACH
  1108.  End If 
  1109. M=M+X
  1110. BORROWED=BORROWED+X
  1111. M=M-Int(BORROWED/20)
  1112. '
  1113. '
  1114. APPROACH:
  1115. If Rnd(100)<5
  1116.      Cls 
  1117.      Load Iff PATH$+"address"
  1118.      Curs Off 
  1119.      Paper 0 : Pen 2
  1120.      Locate 1,1 : Print "STRICTLY" : Locate 1,2 : Print "CONFIDENTIAL"
  1121.      Pen 1 : Locate 0,8 : Print "Dear ";NAME$
  1122.      Print : Print "I am writing to you concerning"
  1123.      Print "some amazing new steroids that"
  1124.      Print "have become available to my club."
  1125.      Print "They will dramatically improve the"
  1126.      Print "moral and confidence of your players."
  1127.      Print "Of course, this will come at a price,"
  1128.      Print "�100,000 to cover all your players."
  1129.      Print "Oh, and remember, keep this quiet,"
  1130.      Print "we don't want the FA finding out."
  1131.      Print : Print "       Yours,"
  1132.      Print "          A manager"
  1133.      Pen 6 : Locate 1,25 : Print "Press any key to continue"
  1134.      Clear Key 
  1135.      Wait Key 
  1136.      Cls : Pen 11
  1137.      Print "Do you.." : Print 
  1138.      Print "0 - Ignore the offer"
  1139.      Print : Print "1 - Take up the offer"
  1140.      Print : Print "2 - Report him to the FA"
  1141.      Print : Input I
  1142.      If I=2
  1143.         Print : Print "The FA is extremely grateful for"
  1144.         Print "your reporting of this incident."
  1145.         Print "'We have been trying to track down"
  1146.         Print "this manager for some time now'."
  1147.         Print : Print "The club board is also very pleased"
  1148.         Print "with your good sense of justice"
  1149.         Print "and the supporters' club applauds you."
  1150.         MR=MR+60 : MORAL=MORAL+1
  1151.         Clear Key 
  1152.         Wait Key 
  1153.       End If 
  1154.      If I=1
  1155.         Print : Print "The manager is happy you can"
  1156.         Print "agree terms and he says he will have"
  1157.         Print "the drugs available by the next match."
  1158.         MORAL=10 : M=M-100000
  1159.         Clear Key 
  1160.         Wait Key 
  1161.       End If 
  1162. End If 
  1163. '
  1164. '
  1165. '
  1166. RESETVARS:
  1167. If MORAL>10 Then MORAL=10
  1168. If MR>100 Then MR=100
  1169. If MR<1 Then MR=1
  1170. Inc WEEK
  1171. ' Make sure player doesn't play player in next week! 
  1172. If WEEK<17
  1173. If LEAGUE$(WEEK)=C$
  1174.        Inc WEEK
  1175.  End If 
  1176. End If 
  1177. ' Weekly alterations to opponent attributes
  1178. For Z=1 To 16
  1179. If LEAGUE$(Z)<>C$
  1180.      OPP_MORAL(Z)=OPP_MORAL(Z)+Int((Rnd(4)+2)-4)
  1181.      If OPP_MORAL(Z)>10
  1182.          OPP_MORAL(Z)=10
  1183.       End If 
  1184.      If OPP_MORAL(Z)<1
  1185.          OPP_MORAL(Z)=1
  1186.       End If 
  1187.  End If 
  1188. Next Z
  1189. ' End of the season? 
  1190. If WEEK=16
  1191.     If LEAGUE$(16)=C$
  1192.         Goto SEASON_END
  1193.     End If 
  1194. End If 
  1195. If WEEK=17 Then Goto SEASON_END
  1196. If MR<15
  1197.    If Rnd(100)<50
  1198.       Paper 0 : Cls : Pen 2
  1199.       Print : Print "After much thought, the board has"
  1200.       Print "decided to end your job after your"
  1201.       Print "disappointing results in recent weeks."
  1202.       Print "Not to worry though, the job will soon"
  1203.       Print "be filled.."
  1204.       Pen 6 : Print : Centre "Press any key to continue"
  1205.       Goto LOST_JOB
  1206.    End If 
  1207. End If 
  1208. ' take players on and off the transfer list
  1209. For Z=1 To 220
  1210. If STATUS(Z)=20
  1211.     If Rnd(100)<6
  1212.       STATUS(Z)=19
  1213.     End If 
  1214. End If 
  1215. If STATUS(Z)=19
  1216.     If Rnd(100)<20
  1217.       STATUS(Z)=20
  1218.     End If 
  1219. End If 
  1220. Next 
  1221. Goto MAIN_MENU
  1222. '
  1223. '
  1224. LOST_JOB:
  1225. Pen 6 : Paper 0 : Cls 
  1226. Locate 1,1
  1227. Centre "Hard luck, boss.."
  1228. Locate 3,4
  1229. Print "Better luck next time."
  1230. Locate 3,7
  1231. Print "Remaining money: ";M
  1232. Print "Full years in charge: ";YEAR
  1233. Print "Points this season: ";PTS
  1234. Print "Team moral: ";MORAL
  1235. Print "Managerial rating(%): ";MR
  1236. Pen 2
  1237. Clear Key 
  1238. Wait Key 
  1239. End 
  1240. '
  1241. '
  1242. SEASON_END:
  1243. Curs Off 
  1244. Cls 
  1245. Load Iff PATH$+"season_end"
  1246. Clear Key 
  1247. Wait Key 
  1248. Paper 0 : Cls 
  1249. Pen 1 : Locate 1,1 : Centre "End of Season"
  1250. Locate 1,4 : Under On 
  1251. Pen 7
  1252. Print "Final Position: ";PSN
  1253. Print "Managerial Rating: ";MR
  1254. Print 
  1255. '
  1256. Pen 2
  1257. Print "Board of Directors bonus"
  1258. Under Off : Pen 11 : Print 
  1259. Print "On the rating of your performance"
  1260. Print "this season, the board has"
  1261. Print "decided to award you" : Print "�";MR*1000
  1262. Print : M=M+(MR*1000)
  1263. '
  1264. Pen 2 : Under On : Print "League Position Bonus" : Under Off 
  1265. Pen 11 : Print "On merit of club position"
  1266. Print "and division, the board has"
  1267. SM=Int(16-PSN)*Int(4-DIV) : SM=Int(SM*10000)
  1268. Print "awarded you ï¿½";SM
  1269. M=M+SM : Print 
  1270. '
  1271. Pen 2 : Under On : Print "Skill Level Bonus" : Under Off 
  1272. Pen 11 : Print "Your skill level: ";SKILL_LEVEL
  1273. If SKILL_LEVEL=1 Then SL=0
  1274. If SKILL_LEVEL=2 Then SL=50000
  1275. If SKILL_LEVEL=3 Then SL=150000
  1276. Print "Bonus: ";SL
  1277. M=M+SL
  1278. '
  1279. Print : Print "Total Bonus ï¿½";(SL+(SM+(MR*1000)))
  1280. Locate 1,22 : Pen 6 : Centre "Press any key to continue"
  1281. Clear Key 
  1282. Wait Key 
  1283. '
  1284. ' promotions and relegations 
  1285. '
  1286. If DIV=3
  1287.     ' top go up
  1288.     X=Int(Rnd(15)+1)
  1289.     REL$=D2$(X)
  1290.     D2$(X)=D3$(PSN1)
  1291.     D3$(PSN1)=REL$
  1292.     X=Int(Rnd(15)+1)
  1293.     REL$=D2$(X)
  1294.     D2$(X)=D3$(PSN2)
  1295.     D3$(PSN2)=REL$
  1296.  End If 
  1297. If DIV=2
  1298.     ' bottom go down 
  1299.     X=Int(Rnd(15)+1)
  1300.     PROM$=D3$(X)
  1301.     D3$(X)=D2$(PSN3)
  1302.     D2$(PSN3)=PROM$
  1303.     X=Int(Rnd(15)+1)
  1304.     PROM$=D3$(X)
  1305.     D3$(X)=D2$(PSN4)
  1306.     D2$(PSN4)=PROM$
  1307.     ' ups
  1308.     X=Int(Rnd(15)+1)
  1309.     REL$=D1$(X)
  1310.     D1$(X)=D2$(PSN1)
  1311.     D2$(PSN1)=REL$
  1312.     X=Int(Rnd(15)+1)
  1313.     REL$=D1$(X)
  1314.     D1$(X)=D2$(PSN2)
  1315.     D2$(PSN2)=REL$
  1316.  End If 
  1317. If DIV=1
  1318.     ' bottom go down 
  1319.     X=Int(Rnd(15)+1)
  1320.     PROM$=D2$(X)
  1321.     D2$(X)=D1$(PSN3)
  1322.     D1$(PSN3)=PROM$
  1323.     X=Int(Rnd(15)+1)
  1324.     PROM$=D2$(X)
  1325.     D2$(X)=D1$(PSN4)
  1326.     D1$(PSN4)=PROM$
  1327.     ' ups
  1328.     X=Int(Rnd(15)+1)
  1329.     REL$=PD$(X)
  1330.     PD$(X)=D1$(PSN1)
  1331.     D1$(PSN1)=REL$
  1332.     X=Int(Rnd(15)+1)
  1333.     REL$=PD$(X)
  1334.     PD$(X)=D1$(PSN2)
  1335.     D1$(PSN2)=REL$
  1336.  End If 
  1337. If DIV=0
  1338.     ' bottom go down only
  1339.     X=Int(Rnd(15)+1)
  1340.     PROM$=D1$(X)
  1341.     D1$(X)=PD$(PSN3)
  1342.     PD$(PSN3)=PROM$
  1343.     X=Int(Rnd(15)+1)
  1344.     PROM$=D1$(X)
  1345.     D1$(X)=PD$(PSN4)
  1346.     PD$(PSN4)=PROM$
  1347.  End If 
  1348. If PSN=1
  1349.     If DIV=0
  1350.        Cls 
  1351.        Locate 1,10 : Pen 1
  1352.        Centre "You have won the league!"
  1353.        Wait Key 
  1354.     End If 
  1355. End If 
  1356. If PSN<3
  1357.     If DIV>0
  1358.        Cls 
  1359.        Locate 1,10 : Pen 1
  1360.        Centre "You have been promoted!"
  1361.        DIV=DIV-1
  1362.        Wait Key 
  1363.     End If 
  1364. End If 
  1365. If PSN=16
  1366.     If DIV=3
  1367.        Cls 
  1368.        Locate 1,10 : Pen 1
  1369.        Centre "You have finished bottom"
  1370.        Locate 1,12 : Centre "of the league!"
  1371.        Locate 1,14 : Centre "Try harder next season."
  1372.        Wait Key 
  1373.     End If 
  1374. End If 
  1375. If PSN>14
  1376.     If DIV<3
  1377.        Cls 
  1378.        Locate 1,10 : Pen 1
  1379.        Centre "You have been relegated.."
  1380.        Wait Key 
  1381.     End If 
  1382. End If 
  1383. '
  1384. 'Make new league 
  1385. '
  1386. For Z=1 To 16
  1387. If DIV=3 Then LEAGUE$(Z)=D3$(Z)
  1388. If DIV=2 Then LEAGUE$(Z)=D2$(Z)
  1389. If DIV=1 Then LEAGUE$(Z)=D1$(Z)
  1390. If DIV=0 Then LEAGUE$(Z)=PD$(Z)
  1391. OPP_ATTACK(Z)=Int(Rnd(99)+1)
  1392. OPP_DEF(Z)=Int(Rnd(99)+1)
  1393. OPP_POINTS(Z)=0
  1394. OPP_MORAL(Z)=Int(Rnd(9)+1)
  1395. TEMP(Z)=0
  1396. Next Z
  1397. '
  1398. PTS=0 : WINS=0 : DR=0
  1399. LOSES=0
  1400. WEEK=1 : MR=50 : MORAL=50
  1401. YEAR=YEAR+1
  1402. GF=0 : GA=0
  1403. MORAL=5
  1404. For Z=1 To 220
  1405. ' Reshuffle transferred players..
  1406. If STATUS(Z)>18
  1407.  K=Int(Rnd(100))
  1408.  STATUS(Z)=20
  1409.  If K<12
  1410.      STATUS(Z)=19
  1411.   End If 
  1412. End If 
  1413. ' make em older! 
  1414. AGE(Z)=AGE(Z)+1
  1415. ' make player improve with experience etc
  1416. If AGE(Z)<29
  1417.     PACE(Z)=PACE(Z)+Int(Rnd(10))
  1418.     STAMINA(Z)=STAMINA(Z)+Int(Rnd(10))
  1419.     SKILL(Z)=SKILL(Z)+Int(Rnd(5))
  1420.     If PACE(Z)>100
  1421.       PACE(Z)=100
  1422.      End If 
  1423.     If STAMINA(Z)>100
  1424.       STAMINA(Z)=100
  1425.      End If 
  1426.     If SKILL(Z)>100
  1427.       SKILL(Z)=100
  1428.      End If 
  1429.  End If 
  1430. ' make player attributes change when gets old  
  1431. If AGE(Z)>30
  1432.     PACE(Z)=PACE(Z)-Int(Rnd(15))
  1433.     STAMINA(Z)=STAMINA(Z)-Int(Rnd(15))
  1434.     If PACE(Z)<1
  1435.       PACE(Z)=1
  1436.      End If 
  1437.     If STAMINA(Z)<1
  1438.       STAMINA(Z)=1
  1439.      End If 
  1440.  End If 
  1441. ' remake player when too old!
  1442. If STATUS(Z)>18
  1443.   If AGE(Z)>36
  1444.     PACE(Z)=Int(Rnd(99)+1)
  1445.     STAMINA(Z)=Int(Rnd(99)+1)
  1446.     SKILL(Z)=Int(Rnd(99)+1)
  1447.     AGE(Z)=17
  1448.   End If 
  1449. End If 
  1450. OVERALL(Z)=Int((SKILL(Z)+STAMINA(Z)+PACE(Z))/3)
  1451. Next Z
  1452. Goto MAIN_MENU