mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-28 07:37:47 +00:00
3792 lines
85 KiB
QBasic
3792 lines
85 KiB
QBasic
|
CHDIR ".\programs\samples\pete\nlcm2006"
|
||
|
|
||
|
DECLARE SUB managerInfo ()
|
||
|
DECLARE SUB playerSalary ()
|
||
|
DECLARE SUB finance ()
|
||
|
DECLARE SUB endOfSeason ()
|
||
|
DECLARE SUB training ()
|
||
|
DECLARE SUB loadGame ()
|
||
|
DECLARE SUB saveGame ()
|
||
|
DECLARE SUB batOrder ()
|
||
|
DECLARE SUB statistics ()
|
||
|
DECLARE SUB groupTables ()
|
||
|
DECLARE SUB matchSimulator ()
|
||
|
DECLARE SUB manhattan ()
|
||
|
DECLARE SUB figures2 ()
|
||
|
DECLARE SUB scorecard2 ()
|
||
|
DECLARE SUB changeBowler ()
|
||
|
DECLARE SUB figures ()
|
||
|
DECLARE SUB scorecard ()
|
||
|
DECLARE FUNCTION rand! (c!)
|
||
|
DECLARE SUB matchDay ()
|
||
|
DECLARE SUB fixtures ()
|
||
|
DECLARE SUB getInfo ()
|
||
|
DECLARE SUB teamSheet ()
|
||
|
DIM SHARED overSeas1(19)
|
||
|
DIM SHARED overSeas2(19)
|
||
|
DIM SHARED points(19)
|
||
|
DIM SHARED ta(18)
|
||
|
DIM SHARED ti(18)
|
||
|
DIM SHARED f$(19)
|
||
|
DIM SHARED team$(19)
|
||
|
DIM SHARED rating(19)
|
||
|
DIM SHARED shirt1(19)
|
||
|
DIM SHARED shirt2(19)
|
||
|
DIM SHARED trousers1(19)
|
||
|
DIM SHARED trousers2(19)
|
||
|
DIM SHARED cs(19)
|
||
|
DIM SHARED wk(19)
|
||
|
DIM SHARED cp(19)
|
||
|
DIM SHARED ob1(19)
|
||
|
DIM SHARED ob2(19)
|
||
|
DIM SHARED player$(18, 19)
|
||
|
DIM SHARED gb(18, 19)
|
||
|
DIM SHARED rs(18, 19)
|
||
|
DIM SHARED wt(18, 19)
|
||
|
DIM SHARED eb(18, 19)
|
||
|
DIM SHARED ba(18, 19)
|
||
|
DIM SHARED fa(18, 19)
|
||
|
DIM SHARED bat(18, 19)
|
||
|
DIM SHARED bowl(18, 19)
|
||
|
DIM SHARED wicketKeeper(18, 19)
|
||
|
DIM SHARED peak(18, 19)
|
||
|
DIM SHARED international(18, 19)
|
||
|
DIM SHARED sm(18)
|
||
|
DIM SHARED salary(18, 19)
|
||
|
DIM SHARED sRuns(18)
|
||
|
DIM SHARED sBalls(18)
|
||
|
DIM SHARED sInnings(18)
|
||
|
DIM SHARED sOuts(18)
|
||
|
DIM SHARED hs(18)
|
||
|
DIM SHARED batAve(18)
|
||
|
DIM SHARED sOvers(18)
|
||
|
DIM SHARED sWickets(18)
|
||
|
DIM SHARED sConceded(18)
|
||
|
DIM SHARED strRte(18)
|
||
|
DIM SHARED ecnRte(18)
|
||
|
DIM SHARED bbw(18)
|
||
|
DIM SHARED bbr(18)
|
||
|
DIM SHARED bowlAve(18)
|
||
|
DIM SHARED bat$(2)
|
||
|
DIM SHARED bowl$(13)
|
||
|
DIM SHARED attribute$(6)
|
||
|
DIM SHARED tAttribute$(6)
|
||
|
DIM SHARED fixture(2, 9, 18)
|
||
|
DIM SHARED pitch$(5)
|
||
|
DIM SHARED pr(5)
|
||
|
DIM SHARED truns(19)
|
||
|
DIM SHARED tWickets(19)
|
||
|
DIM SHARED tovers(19)
|
||
|
DIM SHARED tBalls(19)
|
||
|
DIM SHARED runs(11, 19)
|
||
|
DIM SHARED balls(11, 19)
|
||
|
DIM SHARED o(11, 19)
|
||
|
DIM SHARED b(11, 19)
|
||
|
DIM SHARED m(11, 19)
|
||
|
DIM SHARED r(11, 19)
|
||
|
DIM SHARED w(11, 19)
|
||
|
DIM SHARED extras(19)
|
||
|
DIM SHARED wides(19)
|
||
|
DIM SHARED noBalls(19)
|
||
|
DIM SHARED byes(19)
|
||
|
DIM SHARED legByes(19)
|
||
|
DIM SHARED ball$(8)
|
||
|
DIM SHARED howOut1$(18, 19)
|
||
|
DIM SHARED howOut2$(18, 19)
|
||
|
DIM SHARED howOut3$(18, 19)
|
||
|
DIM SHARED howOut4$(18, 19)
|
||
|
DIM SHARED speed(8)
|
||
|
DIM SHARED bowlChange(12, 19)
|
||
|
DIM SHARED bowlers(19)
|
||
|
DIM SHARED fow(10, 19)
|
||
|
DIM SHARED cb(18, 19)
|
||
|
DIM SHARED fatigue(18, 19)
|
||
|
DIM SHARED in(18, 19)
|
||
|
DIM SHARED rpo(50, 2)
|
||
|
DIM SHARED groupTeam(10, 2)
|
||
|
DIM SHARED rank(19)
|
||
|
DIM SHARED position(19)
|
||
|
DIM SHARED played(19)
|
||
|
DIM SHARED wins(19)
|
||
|
DIM SHARED losses(19)
|
||
|
DIM SHARED ties(19)
|
||
|
DIM SHARED field$(3)
|
||
|
DIM SHARED career$(5)
|
||
|
DIM SHARED morale(18)
|
||
|
DIM SHARED iWeeks(18)
|
||
|
DIM SHARED duty(18)
|
||
|
COMMON SHARED directorsRating, fansRating, weekIn, weekOut, money, coinCheat, os, pr, battingSide, bowlingSide, lastSub, gt, bat1, bat2, team, name$, week, year, u$, d$, l$, r$, batSide, bowlSide, opponents, bowler, lbowler, momDone
|
||
|
CALL getInfo
|
||
|
fansRating = 40
|
||
|
directorsRating = 40
|
||
|
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 16, 20
|
||
|
PRINT "NATIONAL LEAGUE CRICKET MANAGER 2006"
|
||
|
LOCATE 19, 28
|
||
|
COLOR 3, 0
|
||
|
PRINT "By Alex Beighton"
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 16, 28
|
||
|
PRINT "KEY CONFIGURATION:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 20, 22
|
||
|
PRINT "Enter the "; CHR$(34); "up"; CHR$(34); " key on your keypad"
|
||
|
DO
|
||
|
u$ = INKEY$
|
||
|
LOOP UNTIL u$ <> ""
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 16, 28
|
||
|
PRINT "KEY CONFIGURATION:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 20, 22
|
||
|
PRINT "Enter the "; CHR$(34); "down"; CHR$(34); " key on your keypad"
|
||
|
DO
|
||
|
d$ = INKEY$
|
||
|
LOOP UNTIL d$ <> ""
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 16, 28
|
||
|
PRINT "KEY CONFIGURATION:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 20, 22
|
||
|
PRINT "Enter the "; CHR$(34); "left"; CHR$(34); " key on your keypad"
|
||
|
DO
|
||
|
l$ = INKEY$
|
||
|
LOOP UNTIL l$ <> ""
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 16, 28
|
||
|
PRINT "KEY CONFIGURATION:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 20, 22
|
||
|
PRINT "Enter the "; CHR$(34); "right"; CHR$(34); " key on your keypad"
|
||
|
DO
|
||
|
r$ = INKEY$
|
||
|
LOOP UNTIL r$ <> ""
|
||
|
|
||
|
gc = 1
|
||
|
910 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 16, 20
|
||
|
PRINT "NATIONAL LEAGUE CRICKET MANAGER 2006"
|
||
|
LOCATE 19, 28
|
||
|
COLOR 3, 0
|
||
|
PRINT "By Alex Beighton"
|
||
|
|
||
|
IF gc = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE 25, 30
|
||
|
PRINT "NEW GAME"
|
||
|
IF gc = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE 27, 30
|
||
|
PRINT "LOAD GAME"
|
||
|
IF gc = 3 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE 29, 30
|
||
|
PRINT "QUIT GAME"
|
||
|
|
||
|
900 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
gc = gc - 1
|
||
|
IF gc < 1 THEN gc = 3
|
||
|
GOTO 910
|
||
|
CASE IS = d$
|
||
|
gc = gc + 1
|
||
|
IF gc > 3 THEN gc = 1
|
||
|
GOTO 910
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 900
|
||
|
END SELECT
|
||
|
|
||
|
SELECT CASE gc
|
||
|
CASE IS = 2
|
||
|
CALL loadGame
|
||
|
os = 1
|
||
|
GOTO 970
|
||
|
CASE IS = 3
|
||
|
END
|
||
|
END SELECT
|
||
|
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 16, 26
|
||
|
PRINT "ENTER YOUR NAME"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 20, 26
|
||
|
PRINT "My name is"
|
||
|
DO
|
||
|
LOCATE 20, 36
|
||
|
INPUT name$
|
||
|
LOOP UNTIL name$ <> ""
|
||
|
|
||
|
COLOR 3, 0
|
||
|
CLS
|
||
|
ct = 1
|
||
|
20 COLOR 11, 0
|
||
|
LOCATE 3, 5
|
||
|
PRINT "SELECT YOUR TEAM..."
|
||
|
COLOR 3, 0
|
||
|
FOR i = 1 TO 19
|
||
|
IF ct = i THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE 6 + (i * 2), 5
|
||
|
PRINT team$(i)
|
||
|
NEXT i
|
||
|
|
||
|
COLOR shirt1(ct), 0
|
||
|
FOR i = 18 TO 27
|
||
|
FOR j = 38 TO 46
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
COLOR shirt2(ct), 0
|
||
|
LOCATE 22, 40
|
||
|
PRINT CHR$(219); CHR$(219); CHR$(219); CHR$(219); CHR$(219)
|
||
|
LOCATE 18, 42
|
||
|
PRINT CHR$(219)
|
||
|
FOR i = 18 TO 24
|
||
|
FOR j = 36 TO 37
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
FOR j = 47 TO 48
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
COLOR trousers1(ct), 0
|
||
|
FOR i = 28 TO 38
|
||
|
FOR j = 38 TO 46
|
||
|
IF i > 30 AND j > 41 AND j < 43 THEN GOTO 440
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
440 NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
SELECT CASE cs(ct)
|
||
|
CASE IS = 1
|
||
|
COLOR trousers2(ct), trousers1(ct)
|
||
|
FOR i = 28 TO 38
|
||
|
LOCATE i, 38
|
||
|
PRINT CHR$(221)
|
||
|
LOCATE i, 46
|
||
|
PRINT CHR$(222)
|
||
|
NEXT i
|
||
|
CASE IS = 2
|
||
|
COLOR trousers1(ct), trousers2(ct)
|
||
|
FOR i = 28 TO 38
|
||
|
LOCATE i, 38
|
||
|
PRINT CHR$(222)
|
||
|
LOCATE i, 46
|
||
|
PRINT CHR$(221)
|
||
|
NEXT i
|
||
|
END SELECT
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 8, 36
|
||
|
PRINT "TEAM :"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 8, 47
|
||
|
PRINT team$(ct)
|
||
|
COLOR 11, 0
|
||
|
LOCATE 10, 36
|
||
|
PRINT "CAPTAIN :"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 10, 47
|
||
|
PRINT player$(cp(ct), ct)
|
||
|
COLOR 11, 0
|
||
|
LOCATE 12, 36
|
||
|
PRINT "GROUP :"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 12, 47
|
||
|
IF groupTeam(1, 1) = ct OR groupTeam(2, 1) = ct OR groupTeam(3, 1) = ct OR groupTeam(4, 1) = ct OR groupTeam(5, 1) = ct OR groupTeam(6, 1) = ct OR groupTeam(7, 1) = ct OR groupTeam(8, 1) = ct OR groupTeam(9, 1) = ct THEN PRINT "DIVISION 1" ELSE PRINT "DIVISION 2"
|
||
|
|
||
|
10 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
CLS
|
||
|
ct = ct - 1
|
||
|
IF ct < 1 THEN ct = 19
|
||
|
GOTO 20
|
||
|
CASE IS = d$
|
||
|
CLS
|
||
|
ct = ct + 1
|
||
|
IF ct > 19 THEN ct = 1
|
||
|
GOTO 20
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 10
|
||
|
END SELECT
|
||
|
team = ct
|
||
|
|
||
|
week = 1
|
||
|
year = 2006
|
||
|
os = 1
|
||
|
FOR i = 1 TO 18
|
||
|
morale(i) = rand(10) + 65
|
||
|
NEXT i
|
||
|
970 DO
|
||
|
FOR i = 1 TO 18
|
||
|
IF morale(i) < 25 THEN morale(i) = 25
|
||
|
IF morale(i) > 95 THEN morale(i) = 95
|
||
|
NEXT i
|
||
|
SELECT CASE os
|
||
|
CASE IS = 9
|
||
|
FOR i = 1 TO 18
|
||
|
IF iWeeks(i) > 0 THEN iWeeks(i) = iWeeks(i) - 1
|
||
|
NEXT i
|
||
|
FOR i = 1 TO 18
|
||
|
IF i > 11 THEN morale(i) = morale(i) + (rand(4) - 3) ELSE morale(i) = morale(i) + rand(4)
|
||
|
IF morale(i) < 25 THEN morale(i) = 25
|
||
|
IF morale(i) > 95 THEN morale(i) = 95
|
||
|
NEXT i
|
||
|
weekOut = 0
|
||
|
weekIn = 0
|
||
|
FOR i = 1 TO 18
|
||
|
money = money - salary(i, team)
|
||
|
weekOut = weekOut + salary(i, team)
|
||
|
NEXT i
|
||
|
weekIn = rand(12000) + 40000
|
||
|
money = money + weekIn
|
||
|
week = week + 1
|
||
|
os = 1
|
||
|
FOR i = 1 TO 18
|
||
|
IF peak(i, team) = 1 THEN ir = 4
|
||
|
IF peak(i, team) = 2 THEN ir = 8
|
||
|
IF peak(i, team) = 3 THEN ir = 12
|
||
|
IF peak(i, team) = 4 THEN ir = 16
|
||
|
IF peak(i, team) = 5 THEN ir = 20
|
||
|
IF ti(i) < 3 THEN ir = ir + 1
|
||
|
IF ti(i) > 3 THEN ir = ir - 1
|
||
|
cogb = rand(ir)
|
||
|
SELECT CASE ir
|
||
|
CASE IS = 1
|
||
|
IF ta(i) = 1 THEN gb(i, team) = gb(i, team) + 1
|
||
|
IF ta(i) = 2 THEN rs(i, team) = rs(i, team) + 1
|
||
|
IF ta(i) = 3 THEN wt(i, team) = wt(i, team) + 1
|
||
|
IF ta(i) = 4 THEN eb(i, team) = eb(i, team) + 1
|
||
|
IF ta(i) = 5 THEN fa(i, team) = fa(i, team) + 1
|
||
|
IF ta(i) = 6 THEN fa(i, team) = fa(i, team) + 1
|
||
|
END SELECT
|
||
|
NEXT i
|
||
|
|
||
|
injuryChance = rand(6)
|
||
|
SELECT CASE injuryChance
|
||
|
CASE IS = 1
|
||
|
injuries = 0
|
||
|
FOR j = 1 TO 18
|
||
|
IF iWeeks(j) > 0 THEN injuries = injuries + 1
|
||
|
NEXT j
|
||
|
IF injuries >= 3 THEN GOTO 3000
|
||
|
DO
|
||
|
injuredPlayer = rand(18)
|
||
|
LOOP UNTIL iWeeks(injuredPlayer) = 0
|
||
|
iWeeks(injuredPlayer) = rand(5)
|
||
|
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 8, 5
|
||
|
PRINT "FOR YOUR INFORMATION:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 10, 5
|
||
|
PRINT player$(injuredPlayer, team); " has picked up an injury and will be out for "; iWeeks(injuredPlayer); " weeks."
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
3000 END SELECT
|
||
|
|
||
|
internationals = 0
|
||
|
FOR i = 1 TO 18
|
||
|
IF international(i, team) = 1 THEN internationals = 1
|
||
|
NEXT i
|
||
|
IF internationals = 0 THEN GOTO 3300
|
||
|
SELECT CASE week
|
||
|
CASE IS = 5
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 8, 5
|
||
|
PRINT "FOR YOUR INFORMATION:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 12, 5
|
||
|
PRINT "The following player(s) are from now on international duty and are"
|
||
|
LOCATE 13, 5
|
||
|
PRINT "unavailable for selection:"
|
||
|
internationalTotal = 0
|
||
|
FOR i = 1 TO 18
|
||
|
IF international(i, team) = 1 THEN internationalTotal = internationalTotal + 1
|
||
|
LOCATE 14 + internationalTotal, 5
|
||
|
IF international(i, team) = 1 THEN PRINT player$(i, team)
|
||
|
IF international(i, team) = 1 THEN duty(i) = 1
|
||
|
NEXT i
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
|
||
|
CASE IS = 12
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 8, 5
|
||
|
PRINT "FOR YOUR INFORMATION:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 12, 5
|
||
|
PRINT "The following player(s) have returned from international duty and are"
|
||
|
LOCATE 13, 5
|
||
|
PRINT "now available for selection:"
|
||
|
internationalTotal = 0
|
||
|
FOR i = 1 TO 18
|
||
|
IF international(i, team) = 1 THEN internationalTotal = internationalTotal + 1
|
||
|
LOCATE 14 + internationalTotal, 5
|
||
|
IF international(i, team) = 1 THEN PRINT player$(i, team)
|
||
|
IF international(i, team) = 1 THEN duty(i) = 0
|
||
|
NEXT i
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SELECT
|
||
|
3300 END SELECT
|
||
|
|
||
|
IF week = 53 THEN year = year + 1
|
||
|
IF week = 53 THEN week = 1
|
||
|
|
||
|
totalMorale = 0
|
||
|
FOR i = 1 TO 18
|
||
|
totalMorale = totalMorale + morale(i)
|
||
|
NEXT i
|
||
|
directorsRating = (fansRating / 2)
|
||
|
SELECT CASE totalMorale
|
||
|
CASE IS >= 1250
|
||
|
directorsRating = directorsRating + 25
|
||
|
CASE 1200 TO 1249
|
||
|
directorsRating = directorsRating + 15
|
||
|
CASE 1150 TO 1199
|
||
|
directorsRating = directorsRating + 5
|
||
|
END SELECT
|
||
|
|
||
|
SELECT CASE money
|
||
|
CASE IS >= 18000
|
||
|
directorsRating = directorsRating + 25
|
||
|
CASE 16000 TO 17999
|
||
|
directorsRating = directorsRating + 20
|
||
|
CASE 14000 TO 15999
|
||
|
directorsRating = directorsRating + 15
|
||
|
CASE 12000 TO 13999
|
||
|
directorsRating = directorsRating + 10
|
||
|
CASE 10000 TO 11999
|
||
|
directorsRating = directorsRating + 5
|
||
|
END SELECT
|
||
|
|
||
|
|
||
|
IF fansRating > 100 THEN fansRating = 100
|
||
|
IF directorsRating > 100 THEN directorsRating = 100
|
||
|
IF fansRating < 5 THEN fansRating = 5
|
||
|
IF directorsRating < 5 THEN directorsRating = 5
|
||
|
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
|
||
|
COLOR shirt1(team), 0
|
||
|
FOR i = 8 TO 17
|
||
|
FOR j = 44 TO 52
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
COLOR shirt2(team), 0
|
||
|
LOCATE 12, 46
|
||
|
PRINT CHR$(219); CHR$(219); CHR$(219); CHR$(219); CHR$(219)
|
||
|
LOCATE 8, 48
|
||
|
PRINT CHR$(219)
|
||
|
FOR i = 8 TO 14
|
||
|
FOR j = 42 TO 43
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
FOR j = 53 TO 54
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
COLOR trousers1(team), 0
|
||
|
FOR i = 18 TO 28
|
||
|
FOR j = 44 TO 52
|
||
|
IF i > 20 AND j > 47 AND j < 49 THEN GOTO 70
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
70 NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
SELECT CASE cs(team)
|
||
|
CASE IS = 1
|
||
|
COLOR trousers2(team), trousers1(team)
|
||
|
FOR i = 18 TO 28
|
||
|
LOCATE i, 44
|
||
|
PRINT CHR$(221)
|
||
|
LOCATE i, 52
|
||
|
PRINT CHR$(222)
|
||
|
NEXT i
|
||
|
CASE IS = 2
|
||
|
COLOR trousers1(team), trousers2(team)
|
||
|
FOR i = 18 TO 28
|
||
|
LOCATE i, 44
|
||
|
PRINT CHR$(222)
|
||
|
LOCATE i, 52
|
||
|
PRINT CHR$(221)
|
||
|
NEXT i
|
||
|
END SELECT
|
||
|
|
||
|
40 LOCATE 8, 5
|
||
|
IF os = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Team Sheet"
|
||
|
LOCATE 10, 5
|
||
|
IF os = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Training"
|
||
|
LOCATE 12, 5
|
||
|
IF os = 3 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Finance"
|
||
|
LOCATE 14, 5
|
||
|
IF os = 4 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Fixtures"
|
||
|
LOCATE 16, 5
|
||
|
IF os = 5 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "League Tables"
|
||
|
LOCATE 18, 5
|
||
|
IF os = 6 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Statistics"
|
||
|
LOCATE 20, 5
|
||
|
IF os = 7 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Manager Info"
|
||
|
LOCATE 22, 5
|
||
|
IF os = 8 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Save Game"
|
||
|
LOCATE 24, 5
|
||
|
IF os = 9 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "GO TO MATCHDAY"
|
||
|
|
||
|
30 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
os = os - 1
|
||
|
IF os < 1 THEN os = 9
|
||
|
GOTO 40
|
||
|
CASE IS = d$
|
||
|
os = os + 1
|
||
|
IF os > 9 THEN os = 1
|
||
|
GOTO 40
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 30
|
||
|
END SELECT
|
||
|
|
||
|
SELECT CASE os
|
||
|
CASE IS = 1
|
||
|
CALL teamSheet
|
||
|
CASE IS = 2
|
||
|
CALL training
|
||
|
CASE IS = 3
|
||
|
CALL finance
|
||
|
CASE IS = 4
|
||
|
CALL fixtures
|
||
|
CASE IS = 5
|
||
|
CALL groupTables
|
||
|
CASE IS = 6
|
||
|
CALL statistics
|
||
|
CASE IS = 7
|
||
|
CALL managerInfo
|
||
|
CASE IS = 8
|
||
|
CALL saveGame
|
||
|
CASE IS = 9
|
||
|
injuryTeam = 0
|
||
|
FOR i = 1 TO 11
|
||
|
IF iWeeks(i) > 0 THEN injuryTeam = 1
|
||
|
IF duty(i) > 0 THEN injuryTeam = 1
|
||
|
NEXT i
|
||
|
SELECT CASE injuryTeam
|
||
|
CASE IS = 0
|
||
|
CALL matchDay
|
||
|
CASE IS = 1
|
||
|
COLOR 3, 0
|
||
|
LOCATE 40, 5
|
||
|
PRINT "You cannot play a match, as you do not have 11 valid players in your team."
|
||
|
GOTO 30
|
||
|
END SELECT
|
||
|
CASE ELSE
|
||
|
END SELECT
|
||
|
LOOP
|
||
|
|
||
|
SUB batOrder
|
||
|
ps = tWickets(batSide) + 3
|
||
|
22 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT team$(batSide); " - CHANGE BATTING ORDER"
|
||
|
|
||
|
FOR i = 1 TO 11
|
||
|
LOCATE i * 2 + 6, 5
|
||
|
IF in(i, batSide) = 1 THEN COLOR 11, 0 ELSE COLOR 3, 0
|
||
|
PRINT player$(i, batSide)
|
||
|
LOCATE i * 2 + 6, 3
|
||
|
IF i = ps THEN PRINT CHR$(16) ELSE PRINT " "
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 40, 5
|
||
|
PRINT "Move the cursor to the player you want to swap, then press RETURN."
|
||
|
|
||
|
21 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
ps = ps - 1
|
||
|
IF ps - tWickets(batSide) < 3 THEN ps = 11
|
||
|
GOTO 22
|
||
|
CASE IS = d$
|
||
|
ps = ps + 1
|
||
|
IF ps > 11 THEN ps = tWickets(batSide) + 3
|
||
|
GOTO 22
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 21
|
||
|
END SELECT
|
||
|
|
||
|
ps2 = tWickets(batSide) + 3
|
||
|
24 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT team$(batSide); " - CHANGE BATTING ORDER"
|
||
|
|
||
|
FOR i = 1 TO 11
|
||
|
LOCATE i * 2 + 6, 5
|
||
|
IF in(i, batSide) = 1 THEN COLOR 11, 0 ELSE COLOR 3, 0
|
||
|
PRINT player$(i, batSide)
|
||
|
COLOR 3, 0
|
||
|
LOCATE i * 2 + 6, 3
|
||
|
IF i = ps THEN PRINT CHR$(16)
|
||
|
COLOR 9, 0
|
||
|
LOCATE i * 2 + 6, 3
|
||
|
IF i = ps2 THEN PRINT CHR$(16)
|
||
|
LOCATE i * 2 + 6, 3
|
||
|
IF i <> ps AND i <> ps2 THEN PRINT " "
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 40, 5
|
||
|
PRINT "Move the cursor to the player you want to swap, then press RETURN."
|
||
|
|
||
|
23 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
ps2 = ps2 - 1
|
||
|
IF ps2 - tWickets(batSide) < 3 THEN ps2 = 11
|
||
|
GOTO 24
|
||
|
CASE IS = d$
|
||
|
ps2 = ps2 + 1
|
||
|
IF ps2 > 11 THEN ps2 = tWickets(batSide) + 3
|
||
|
GOTO 24
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 23
|
||
|
END SELECT
|
||
|
|
||
|
player2$ = player$(ps2, team)
|
||
|
gb2 = gb(ps2, team)
|
||
|
rs2 = rs(ps2, team)
|
||
|
eb2 = eb(ps2, team)
|
||
|
wt2 = wt(ps2, team)
|
||
|
ba2 = ba(ps2, team)
|
||
|
fa2 = fa(ps2, team)
|
||
|
bats2 = bat(ps2, team)
|
||
|
bowl2 = bowl(ps2, team)
|
||
|
wicketKeeper2 = wicketKeeper(ps2, team)
|
||
|
international2 = international(ps2, team)
|
||
|
salary2 = salary(ps2, team)
|
||
|
peak2 = peak(ps2, team)
|
||
|
sm2 = sm(ps2)
|
||
|
sInnings2 = sInnings(ps2)
|
||
|
sRuns2 = sRuns(ps2)
|
||
|
sOuts2 = sOuts(ps2)
|
||
|
hs2 = hs(ps2)
|
||
|
sBalls2 = sBalls(ps2)
|
||
|
sWickets2 = sWickets(ps2)
|
||
|
bbw2 = bbw(ps2)
|
||
|
bbr2 = bbr(ps2)
|
||
|
sOvers2 = sOvers(ps2)
|
||
|
sConceded2 = sConceded(ps2)
|
||
|
morale2 = morale(ps2)
|
||
|
iWeeks2 = iWeeks(ps2)
|
||
|
duty2 = duty(ps2)
|
||
|
o2 = o(ps2, team)
|
||
|
b2 = b(ps2, team)
|
||
|
m2 = m(ps2, team)
|
||
|
r2 = r(ps2, team)
|
||
|
w2 = w(ps2, team)
|
||
|
|
||
|
player$(ps2, team) = player$(ps, team)
|
||
|
player$(ps2, team) = player$(ps, team)
|
||
|
gb(ps2, team) = gb(ps, team)
|
||
|
rs(ps2, team) = rs(ps, team)
|
||
|
eb(ps2, team) = eb(ps, team)
|
||
|
wt(ps2, team) = wt(ps, team)
|
||
|
ba(ps2, team) = ba(ps, team)
|
||
|
fa(ps2, team) = fa(ps, team)
|
||
|
bat(ps2, team) = bat(ps, team)
|
||
|
bowl(ps2, team) = bowl(ps, team)
|
||
|
wicketKeeper(ps2, team) = wicketKeeper(ps, team)
|
||
|
international(ps2, team) = international(ps, team)
|
||
|
salary(ps2, team) = salary(ps, team)
|
||
|
peak(ps2, team) = peak(ps, team)
|
||
|
sm(ps2) = sm(ps)
|
||
|
sInnings(ps2) = sInnings(ps)
|
||
|
sRuns(ps2) = sRuns(ps)
|
||
|
sOuts(ps2) = sOuts(ps)
|
||
|
hs(ps2) = hs(ps)
|
||
|
sBalls(ps2) = sBalls(ps)
|
||
|
sWickets(ps2) = sWickets(ps)
|
||
|
bbw(ps2) = bbw(ps)
|
||
|
bbr(ps2) = bbr(ps)
|
||
|
sOvers(ps2) = sOvers(ps)
|
||
|
sConceded(ps2) = sConceded(ps)
|
||
|
morale(ps2) = morale(ps)
|
||
|
iWeeks(ps2) = iWeeks(ps)
|
||
|
duty(ps2) = duty(ps)
|
||
|
o(ps2, team) = o(ps, team)
|
||
|
b(ps2, team) = b(ps, team)
|
||
|
m(ps2, team) = m(ps, team)
|
||
|
r(ps2, team) = r(ps, team)
|
||
|
w(ps2, team) = w(ps, team)
|
||
|
|
||
|
player$(ps, team) = player2$
|
||
|
gb(ps, team) = gb2
|
||
|
rs(ps, team) = rs2
|
||
|
eb(ps, team) = eb2
|
||
|
wt(ps, team) = wt2
|
||
|
ba(ps, team) = ba2
|
||
|
fa(ps, team) = fa2
|
||
|
bat(ps, team) = bats2
|
||
|
bowl(ps, team) = bowl2
|
||
|
wicketKeeper(ps, team) = wicketKeeper2
|
||
|
international(ps, team) = international2
|
||
|
salary(ps, team) = salary2
|
||
|
peak(ps, team) = peak2
|
||
|
sm(ps) = sm2
|
||
|
sInnings(ps) = sInnings2
|
||
|
sRuns(ps) = sRuns2
|
||
|
sOuts(ps) = sOuts2
|
||
|
hs(ps) = hs2
|
||
|
sBalls(ps) = sBalls2
|
||
|
sWickets(ps) = sWickets2
|
||
|
bbw(ps) = bbw2
|
||
|
bbr(ps) = bbr2
|
||
|
sOvers(ps) = sOvers2
|
||
|
sConceded(ps) = sConceded2
|
||
|
morale(ps) = morale2
|
||
|
iWeeks(ps) = iWeeks2
|
||
|
duty(ps) = duty2
|
||
|
o(ps, team) = o2
|
||
|
b(ps, team) = b2
|
||
|
m(ps, team) = m2
|
||
|
r(ps, team) = r2
|
||
|
w(ps, team) = w2
|
||
|
|
||
|
SELECT CASE wk(team)
|
||
|
CASE IS = ps
|
||
|
IF ps2 < 12 THEN wk(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
IF ps < 12 THEN wk(team) = ps
|
||
|
END SELECT
|
||
|
SELECT CASE cp(team)
|
||
|
CASE IS = ps
|
||
|
IF ps2 < 12 THEN cp(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
IF ps < 12 THEN cp(team) = ps
|
||
|
END SELECT
|
||
|
SELECT CASE ob1(team)
|
||
|
CASE IS = ps
|
||
|
IF ps2 < 12 THEN ob1(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
IF ps < 12 THEN ob1(team) = ps
|
||
|
END SELECT
|
||
|
SELECT CASE ob2(team)
|
||
|
CASE IS = ps
|
||
|
IF ps2 < 12 THEN ob2(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
IF ps < 12 THEN ob2(team) = ps
|
||
|
END SELECT
|
||
|
FOR i = 1 TO 10
|
||
|
SELECT CASE bowlChange(i, team)
|
||
|
CASE IS = ps
|
||
|
bowlChange(i, team) = ps2
|
||
|
CASE IS = ps2
|
||
|
bowlChange(i, team) = ps
|
||
|
END SELECT
|
||
|
NEXT i
|
||
|
25 COLOR 3, 0
|
||
|
CLS
|
||
|
END SUB
|
||
|
|
||
|
SUB changeBowler
|
||
|
choose = 1
|
||
|
260 COLOR 11, 0
|
||
|
CLS
|
||
|
DO
|
||
|
LOCATE 2, 5
|
||
|
PRINT team$(bowlSide); " - CHANGE BOWLER"
|
||
|
LOCATE 6, 5
|
||
|
PRINT "PLAYER"
|
||
|
LOCATE 6, 26
|
||
|
PRINT "BOWL"
|
||
|
LOCATE 6, 33
|
||
|
PRINT "O"
|
||
|
LOCATE 6, 36
|
||
|
PRINT "M"
|
||
|
LOCATE 6, 39
|
||
|
PRINT "R"
|
||
|
LOCATE 6, 43
|
||
|
PRINT "W"
|
||
|
LOCATE 6, 50
|
||
|
PRINT "FATIGUE"
|
||
|
|
||
|
FOR i = 1 TO 11
|
||
|
IF i = 1 OR i = 3 OR i = 5 OR i = 7 OR i = 9 OR i = 11 THEN COLOR 3, 0 ELSE COLOR 11, 0
|
||
|
LOCATE 6 + (i * 2), 5
|
||
|
PRINT player$(i, bowlSide)
|
||
|
LOCATE 6 + (i * 2), 26
|
||
|
PRINT bowl$(bowl(i, bowlSide))
|
||
|
LOCATE 6 + (i * 2), 32
|
||
|
PRINT o(i, bowlSide)
|
||
|
LOCATE 6 + (i * 2), 35
|
||
|
PRINT m(i, bowlSide)
|
||
|
LOCATE 6 + (i * 2), 38
|
||
|
PRINT r(i, bowlSide)
|
||
|
LOCATE 6 + (i * 2), 42
|
||
|
PRINT w(i, bowlSide)
|
||
|
FOR j = 1 TO 10
|
||
|
LOCATE 6 + (i * 2), 49 + j
|
||
|
IF fatigue(i, bowlSide) > j THEN PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 6 + (choose * 2), 3
|
||
|
PRINT CHR$(16)
|
||
|
|
||
|
250 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
choose = choose - 1
|
||
|
IF choose < 1 THEN choose = 11
|
||
|
GOTO 260
|
||
|
CASE IS = d$
|
||
|
choose = choose + 1
|
||
|
IF choose > 11 THEN choose = 1
|
||
|
GOTO 260
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 250
|
||
|
END SELECT
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 38, 5
|
||
|
IF bowl(choose, bowlSide) = 13 THEN PRINT player$(choose, bowlSide); " does not bowl."
|
||
|
LOCATE 40, 5
|
||
|
IF o(choose, bowlSide) >= 10 THEN PRINT player$(choose, bowlSide); " has bowled his maximum 10 overs."
|
||
|
LOCATE 42, 5
|
||
|
IF choose = lbowler THEN PRINT player$(choose, bowlSide); " bowled the last over."
|
||
|
LOOP UNTIL o(choose, bowlSide) < 9 AND bowl(choose, bowlSide) < 13 AND choose <> lbowler
|
||
|
bowler = choose
|
||
|
COLOR 3, 0
|
||
|
CLS
|
||
|
pr = r(bowler, bowlSide)
|
||
|
END SUB
|
||
|
|
||
|
SUB endOfSeason
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
|
||
|
FOR i = 1 TO 19
|
||
|
rank(i) = (15 - i) / 100
|
||
|
NEXT i
|
||
|
FOR k = 1 TO 2
|
||
|
IF k = 1 THEN t = 9 ELSE t = 10
|
||
|
FOR i = 1 TO t
|
||
|
position(groupTeam(i, k)) = 11
|
||
|
FOR j = 1 TO t
|
||
|
IF points(groupTeam(i, k)) + rank(groupTeam(i, k)) >= points(groupTeam(j, k)) + rank(groupTeam(j, k)) THEN position(groupTeam(i, k)) = position(groupTeam(i, k)) - 1
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
NEXT k
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 3
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 3
|
||
|
PRINT "END OF SEASON - NATIONAL LEAGUE TABLES"
|
||
|
LOCATE 9, 3
|
||
|
PRINT "DIVISION 1"
|
||
|
LOCATE 11, 3
|
||
|
PRINT "TEAM"
|
||
|
LOCATE 11, 21
|
||
|
PRINT "P"
|
||
|
LOCATE 11, 25
|
||
|
PRINT "W"
|
||
|
LOCATE 11, 29
|
||
|
PRINT "L"
|
||
|
LOCATE 11, 33
|
||
|
PRINT "T"
|
||
|
LOCATE 11, 38
|
||
|
PRINT "PTS"
|
||
|
|
||
|
FOR i = 1 TO 9
|
||
|
IF position(groupTeam(i, 1)) > 7 THEN COLOR 1, 0 ELSE COLOR 3, 0
|
||
|
IF groupTeam(i, 1) = team THEN COLOR 11, 0
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 3
|
||
|
PRINT team$(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 20
|
||
|
PRINT played(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 24
|
||
|
PRINT wins(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 28
|
||
|
PRINT losses(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 32
|
||
|
PRINT ties(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 37
|
||
|
PRINT points(groupTeam(i, 1))
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 29, 3
|
||
|
PRINT "DIVISION 2"
|
||
|
LOCATE 31, 3
|
||
|
PRINT "TEAM"
|
||
|
LOCATE 31, 21
|
||
|
PRINT "P"
|
||
|
LOCATE 31, 25
|
||
|
PRINT "W"
|
||
|
LOCATE 31, 29
|
||
|
PRINT "L"
|
||
|
LOCATE 31, 33
|
||
|
PRINT "T"
|
||
|
LOCATE 31, 38
|
||
|
PRINT "PTS"
|
||
|
|
||
|
FOR i = 1 TO 10
|
||
|
IF position(groupTeam(i, 2)) > 3 THEN COLOR 1, 0 ELSE COLOR 3, 0
|
||
|
IF groupTeam(i, 2) = team THEN COLOR 11, 0
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 3
|
||
|
PRINT team$(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 20
|
||
|
PRINT played(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 24
|
||
|
PRINT wins(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 28
|
||
|
PRINT losses(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 32
|
||
|
PRINT ties(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 37
|
||
|
PRINT points(groupTeam(i, 2))
|
||
|
NEXT i
|
||
|
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END
|
||
|
END SUB
|
||
|
|
||
|
SUB figures
|
||
|
o((bowlChange(i, bowlSide)), bowlSide) = 10
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 4
|
||
|
PRINT team$(bowlSide)
|
||
|
LOCATE 5, 27
|
||
|
PRINT "O"
|
||
|
LOCATE 5, 35
|
||
|
PRINT "M"
|
||
|
LOCATE 5, 43
|
||
|
PRINT "R"
|
||
|
LOCATE 5, 51
|
||
|
PRINT "W"
|
||
|
|
||
|
COLOR 3, 0
|
||
|
FOR i = 1 TO bowlers(bowlSide)
|
||
|
LOCATE 5 + (i * 2), 4
|
||
|
PRINT player$((bowlChange(i, bowlSide)), bowlSide)
|
||
|
IF o((bowlChange(i, bowlSide)), bowlSide) >= 10 THEN LOCATE 5 + (i * 2), 23 ELSE LOCATE 5 + (i * 2), 24
|
||
|
PRINT o((bowlChange(i, bowlSide)), bowlSide); "."; b((bowlChange(i, bowlSide)), bowlSide)
|
||
|
LOCATE 5 + (i * 2), 34
|
||
|
PRINT m((bowlChange(i, bowlSide)), bowlSide)
|
||
|
LOCATE 5 + (i * 2), 42
|
||
|
PRINT r((bowlChange(i, bowlSide)), bowlSide)
|
||
|
LOCATE 5 + (i * 2), 50
|
||
|
PRINT w((bowlChange(i, bowlSide)), bowlSide)
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 16 + (i * 2), 4
|
||
|
PRINT "FOW:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 16 + (i * 2), 10
|
||
|
IF tWickets(batSide) = 0 THEN PRINT "-"
|
||
|
FOR j = 1 TO 5
|
||
|
LOCATE 16 + (i * 2), (12 * j)
|
||
|
IF tWickets(batSide) >= j THEN PRINT j; " - "; fow(j, batSide)
|
||
|
NEXT j
|
||
|
FOR j = 1 TO 5
|
||
|
LOCATE 17 + (i * 2), (12 * j)
|
||
|
IF tWickets(batSide) >= (j + 5) THEN PRINT j + 5; " - "; fow(j + 5, batSide)
|
||
|
NEXT j
|
||
|
|
||
|
LOCATE 48, 27
|
||
|
COLOR 3, 0
|
||
|
PRINT " MAIN MENU "
|
||
|
LOCATE 48, 4
|
||
|
COLOR 3, 0
|
||
|
PRINT " BATTING SCORECARD "
|
||
|
LOCATE 48, 50
|
||
|
COLOR 0, 3
|
||
|
PRINT " BOWLING FIGURES "
|
||
|
LOCATE 46, 37
|
||
|
PRINT CHR$(17); " "; CHR$(16)
|
||
|
|
||
|
220 SELECT CASE INKEY$
|
||
|
CASE IS = l$
|
||
|
CASE ELSE
|
||
|
GOTO 220
|
||
|
END SELECT
|
||
|
END SUB
|
||
|
|
||
|
SUB figures2
|
||
|
o((bowlChange(i, bowlingSide)), bowlingSide) = 10
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 4
|
||
|
PRINT team$(bowlingSide)
|
||
|
LOCATE 5, 27
|
||
|
PRINT "O"
|
||
|
LOCATE 5, 35
|
||
|
PRINT "M"
|
||
|
LOCATE 5, 43
|
||
|
PRINT "R"
|
||
|
LOCATE 5, 51
|
||
|
PRINT "W"
|
||
|
|
||
|
COLOR 3, 0
|
||
|
FOR i = 1 TO bowlers(bowlingSide)
|
||
|
LOCATE 5 + (i * 2), 4
|
||
|
PRINT player$((bowlChange(i, bowlingSide)), bowlingSide)
|
||
|
IF o((bowlChange(i, bowlingSide)), bowlingSide) >= 10 THEN LOCATE 5 + (i * 2), 23 ELSE LOCATE 5 + (i * 2), 24
|
||
|
PRINT o((bowlChange(i, bowlingSide)), bowlingSide); "."; b((bowlChange(i, bowlingSide)), bowlingSide)
|
||
|
LOCATE 5 + (i * 2), 34
|
||
|
PRINT m((bowlChange(i, bowlingSide)), bowlingSide)
|
||
|
LOCATE 5 + (i * 2), 42
|
||
|
PRINT r((bowlChange(i, bowlingSide)), bowlingSide)
|
||
|
LOCATE 5 + (i * 2), 50
|
||
|
PRINT w((bowlChange(i, bowlingSide)), bowlingSide)
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 16 + (i * 2), 4
|
||
|
PRINT "FOW:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 16 + (i * 2), 10
|
||
|
IF tWickets(battingSide) = 0 THEN PRINT "-"
|
||
|
FOR j = 1 TO 5
|
||
|
LOCATE 16 + (i * 2), (12 * j)
|
||
|
IF tWickets(battingSide) >= j THEN PRINT j; " - "; fow(j, battingSide)
|
||
|
NEXT j
|
||
|
FOR j = 1 TO 5
|
||
|
LOCATE 17 + (i * 2), (12 * j)
|
||
|
IF tWickets(battingSide) >= (j + 5) THEN PRINT j + 5; " - "; fow(j + 5, battingSide)
|
||
|
NEXT j
|
||
|
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SUB
|
||
|
|
||
|
SUB finance
|
||
|
2110 cfo = 1
|
||
|
2100 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 5
|
||
|
PRINT "FINANCE"
|
||
|
LOCATE 8, 5
|
||
|
IF cfo = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Finance Information"
|
||
|
LOCATE 10, 5
|
||
|
IF cfo = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Player Salaries"
|
||
|
LOCATE 12, 5
|
||
|
IF cfo = 3 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Back to the Main Menu"
|
||
|
|
||
|
2000 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
cfo = cfo - 1
|
||
|
IF cfo < 1 THEN cfo = 3
|
||
|
GOTO 2100
|
||
|
CASE IS = d$
|
||
|
cfo = cfo + 1
|
||
|
IF cfo > 3 THEN cfo = 1
|
||
|
GOTO 2100
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 2000
|
||
|
END SELECT
|
||
|
|
||
|
SELECT CASE cfo
|
||
|
CASE IS = 2
|
||
|
CALL playerSalary
|
||
|
GOTO 2110
|
||
|
CASE IS = 3
|
||
|
GOTO 2200
|
||
|
END SELECT
|
||
|
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 5
|
||
|
PRINT "FINANCE INFORMATION"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 12, 5
|
||
|
PRINT "WEEKLY INCOME : "; weekIn; "pounds"
|
||
|
COLOR 9, 0
|
||
|
LOCATE 14, 5
|
||
|
PRINT "WEEKLY OUTGOINGS : "; weekOut; "pounds"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 16, 5
|
||
|
PRINT "________________________________________________________"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 18, 5
|
||
|
PRINT "TOTAL FINANCE AT START OF SEASON : 20000 pounds"
|
||
|
COLOR 9, 0
|
||
|
LOCATE 20, 5
|
||
|
PRINT "TOTAL CURRENT FINANCE : "; money; "pounds"
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
GOTO 2110
|
||
|
2200 END SUB
|
||
|
|
||
|
SUB fixtures
|
||
|
IF week = 19 THEN GOTO 18
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 5
|
||
|
PRINT "THIS WEEK'S NATIONAL LEAGUE FIXTURES:"
|
||
|
LOCATE 10, 5
|
||
|
PRINT "DIVISION 1:"
|
||
|
FOR i = 6 TO 9
|
||
|
COLOR 3, 0
|
||
|
LOCATE (i * 2), 5
|
||
|
PRINT team$(fixture(1, i, week))
|
||
|
LOCATE (i * 2), 23
|
||
|
PRINT "V"
|
||
|
LOCATE (i * 2), 27
|
||
|
PRINT team$(fixture(2, i, week))
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 22, 5
|
||
|
PRINT "DIVISION 2:"
|
||
|
FOR i = 1 TO 5
|
||
|
COLOR 3, 0
|
||
|
LOCATE (i * 2) + 22, 5
|
||
|
PRINT team$(fixture(1, i, week))
|
||
|
LOCATE (i * 2) + 22, 23
|
||
|
PRINT "V"
|
||
|
LOCATE (i * 2) + 22, 27
|
||
|
PRINT team$(fixture(2, i, week))
|
||
|
NEXT i
|
||
|
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
18 END SUB
|
||
|
|
||
|
SUB getInfo
|
||
|
f$(1) = "der.txt"
|
||
|
f$(2) = "dur.txt"
|
||
|
f$(3) = "ess.txt"
|
||
|
f$(4) = "gla.txt"
|
||
|
f$(5) = "glo.txt"
|
||
|
f$(6) = "ham.txt"
|
||
|
f$(7) = "kent.txt"
|
||
|
f$(8) = "lan.txt"
|
||
|
f$(9) = "lei.txt"
|
||
|
f$(10) = "mid.txt"
|
||
|
f$(11) = "nor.txt"
|
||
|
f$(12) = "not.txt"
|
||
|
f$(13) = "sco.txt"
|
||
|
f$(14) = "som.txt"
|
||
|
f$(15) = "sur.txt"
|
||
|
f$(16) = "sus.txt"
|
||
|
f$(17) = "war.txt"
|
||
|
f$(18) = "wor.txt"
|
||
|
f$(19) = "yor.txt"
|
||
|
|
||
|
FOR i = 1 TO 19
|
||
|
OPEN f$(i) FOR INPUT AS #1
|
||
|
INPUT #1, team$(i)
|
||
|
INPUT #1, rating(i)
|
||
|
INPUT #1, shirt1(i)
|
||
|
INPUT #1, shirt2(i)
|
||
|
INPUT #1, trousers1(i)
|
||
|
INPUT #1, trousers2(i)
|
||
|
INPUT #1, cs(i)
|
||
|
INPUT #1, wk(i)
|
||
|
INPUT #1, cp(i)
|
||
|
INPUT #1, ob1(i)
|
||
|
INPUT #1, ob2(i)
|
||
|
INPUT #1, overSeas1(i)
|
||
|
INPUT #1, overSeas2(i)
|
||
|
FOR j = 1 TO 18
|
||
|
INPUT #1, player$(j, i)
|
||
|
INPUT #1, gb(j, i)
|
||
|
INPUT #1, rs(j, i)
|
||
|
INPUT #1, wt(j, i)
|
||
|
INPUT #1, eb(j, i)
|
||
|
INPUT #1, ba(j, i)
|
||
|
INPUT #1, fa(j, i)
|
||
|
INPUT #1, bat(j, i)
|
||
|
INPUT #1, bowl(j, i)
|
||
|
INPUT #1, wicketKeeper(j, i)
|
||
|
INPUT #1, peak(j, i)
|
||
|
INPUT #1, international(j, i)
|
||
|
INPUT #1, salary(j, i)
|
||
|
NEXT j
|
||
|
CLOSE
|
||
|
NEXT i
|
||
|
|
||
|
OPEN "fix.txt" FOR INPUT AS #1
|
||
|
FOR i = 1 TO 18
|
||
|
FOR j = 1 TO 9
|
||
|
INPUT #1, fixture(1, j, i)
|
||
|
INPUT #1, fixture(2, j, i)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
bat$(1) = "RHB"
|
||
|
bat$(2) = "LHB"
|
||
|
bowl$(1) = "OS"
|
||
|
bowl$(2) = "LS"
|
||
|
bowl$(3) = "RM"
|
||
|
bowl$(4) = "RMF"
|
||
|
bowl$(5) = "RFM"
|
||
|
bowl$(6) = "RF"
|
||
|
bowl$(7) = "LO"
|
||
|
bowl$(8) = "LC"
|
||
|
bowl$(9) = "LM"
|
||
|
bowl$(10) = "LMF"
|
||
|
bowl$(11) = "LFM"
|
||
|
bowl$(12) = "LF"
|
||
|
bowl$(13) = "-"
|
||
|
attribute$(1) = "General Batting "
|
||
|
attribute$(2) = "Run Scoring "
|
||
|
attribute$(3) = "Wicket Taking "
|
||
|
attribute$(4) = "Economic Bowling"
|
||
|
attribute$(5) = "Fielding "
|
||
|
attribute$(6) = "Morale "
|
||
|
tAttribute$(1) = "General Batting "
|
||
|
tAttribute$(2) = "Run Scoring "
|
||
|
tAttribute$(3) = "Wicket Taking "
|
||
|
tAttribute$(4) = "Economic Bowling"
|
||
|
tAttribute$(5) = "Fielding "
|
||
|
tAttribute$(6) = "Fitness "
|
||
|
|
||
|
pitch$(1) = "HARD"
|
||
|
pitch$(2) = "NORMAL"
|
||
|
pitch$(3) = "DUSTY"
|
||
|
pitch$(4) = "GREEN"
|
||
|
pitch$(5) = "DAMP"
|
||
|
pr(1) = 1
|
||
|
pr(2) = 0
|
||
|
pr(3) = -1
|
||
|
pr(4) = -1
|
||
|
pr(5) = 0
|
||
|
|
||
|
OPEN "groups.txt" FOR INPUT AS #2
|
||
|
FOR i = 1 TO 9
|
||
|
INPUT #2, groupTeam(i, 1)
|
||
|
NEXT i
|
||
|
FOR i = 1 TO 10
|
||
|
INPUT #2, groupTeam(i, 2)
|
||
|
NEXT i
|
||
|
CLOSE
|
||
|
|
||
|
field$(1) = "Set Attacking Field"
|
||
|
field$(2) = "Set Open Field"
|
||
|
field$(3) = "Set Defensive Field"
|
||
|
|
||
|
career$(1) = "Beginning of Career"
|
||
|
career$(2) = "Nearly at Peak"
|
||
|
career$(3) = "Currently at Peak"
|
||
|
career$(4) = "Just After Peak"
|
||
|
career$(5) = "Toward End of Career"
|
||
|
|
||
|
FOR i = 1 TO 18
|
||
|
ta(i) = 6
|
||
|
ti(i) = 3
|
||
|
NEXT i
|
||
|
money = 20000
|
||
|
END SUB
|
||
|
|
||
|
SUB groupTables
|
||
|
FOR i = 1 TO 19
|
||
|
rank(i) = (15 - i) / 100
|
||
|
NEXT i
|
||
|
|
||
|
FOR k = 1 TO 2
|
||
|
IF k = 1 THEN t = 9 ELSE t = 10
|
||
|
FOR i = 1 TO t
|
||
|
position(groupTeam(i, k)) = 11
|
||
|
FOR j = 1 TO t
|
||
|
IF points(groupTeam(i, k)) + rank(groupTeam(i, k)) >= points(groupTeam(j, k)) + rank(groupTeam(j, k)) THEN position(groupTeam(i, k)) = position(groupTeam(i, k)) - 1
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
NEXT k
|
||
|
|
||
|
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 3
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 3
|
||
|
PRINT "NATIONAL LEAGUE TABLES"
|
||
|
LOCATE 9, 3
|
||
|
PRINT "DIVISION 1"
|
||
|
LOCATE 11, 3
|
||
|
PRINT "TEAM"
|
||
|
LOCATE 11, 21
|
||
|
PRINT "P"
|
||
|
LOCATE 11, 25
|
||
|
PRINT "W"
|
||
|
LOCATE 11, 29
|
||
|
PRINT "L"
|
||
|
LOCATE 11, 33
|
||
|
PRINT "T"
|
||
|
LOCATE 11, 38
|
||
|
PRINT "PTS"
|
||
|
|
||
|
FOR i = 1 TO 9
|
||
|
IF position(groupTeam(i, 1)) > 7 THEN COLOR 1, 0 ELSE COLOR 3, 0
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 3
|
||
|
PRINT team$(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 20
|
||
|
PRINT played(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 24
|
||
|
PRINT wins(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 28
|
||
|
PRINT losses(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 32
|
||
|
PRINT ties(groupTeam(i, 1))
|
||
|
LOCATE position(groupTeam(i, 1)) + 11, 37
|
||
|
PRINT points(groupTeam(i, 1))
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 29, 3
|
||
|
PRINT "DIVISION 2"
|
||
|
LOCATE 31, 3
|
||
|
PRINT "TEAM"
|
||
|
LOCATE 31, 21
|
||
|
PRINT "P"
|
||
|
LOCATE 31, 25
|
||
|
PRINT "W"
|
||
|
LOCATE 31, 29
|
||
|
PRINT "L"
|
||
|
LOCATE 31, 33
|
||
|
PRINT "T"
|
||
|
LOCATE 31, 38
|
||
|
PRINT "PTS"
|
||
|
|
||
|
FOR i = 1 TO 10
|
||
|
IF position(groupTeam(i, 2)) > 3 THEN COLOR 1, 0 ELSE COLOR 3, 0
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 3
|
||
|
PRINT team$(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 20
|
||
|
PRINT played(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 24
|
||
|
PRINT wins(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 28
|
||
|
PRINT losses(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 32
|
||
|
PRINT ties(groupTeam(i, 2))
|
||
|
LOCATE position(groupTeam(i, 2)) + 31, 37
|
||
|
PRINT points(groupTeam(i, 2))
|
||
|
NEXT i
|
||
|
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SUB
|
||
|
|
||
|
SUB loadGame
|
||
|
12 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT "LOAD GAME"
|
||
|
oss = 1
|
||
|
|
||
|
1060 FOR i = 1 TO 5
|
||
|
IF oss = i THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE (i * 2 + 6), 5
|
||
|
PRINT "LOAD GAME FROM FILE "; i
|
||
|
NEXT i
|
||
|
|
||
|
1050 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
oss = oss - 1
|
||
|
IF oss < 1 THEN oss = 5
|
||
|
GOTO 1060
|
||
|
CASE IS = d$
|
||
|
oss = oss + 1
|
||
|
IF oss > 5 THEN oss = 1
|
||
|
GOTO 1060
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 1050
|
||
|
END SELECT
|
||
|
|
||
|
SELECT CASE oss
|
||
|
CASE IS = 6
|
||
|
CASE ELSE
|
||
|
IF oss = 1 THEN fi$ = "file1.txt"
|
||
|
IF oss = 2 THEN fi$ = "file2.txt"
|
||
|
IF oss = 3 THEN fi$ = "file3.txt"
|
||
|
IF oss = 4 THEN fi$ = "file4.txt"
|
||
|
IF oss = 5 THEN fi$ = "file5.txt"
|
||
|
|
||
|
gls = 0
|
||
|
OPEN fi$ FOR INPUT AS #1
|
||
|
INPUT #1, team
|
||
|
IF team = 20 THEN GOTO 11
|
||
|
INPUT #1, name$
|
||
|
INPUT #1, week
|
||
|
INPUT #1, year
|
||
|
INPUT #1, fansRating
|
||
|
INPUT #1, directorsRating
|
||
|
FOR i = 1 TO 18
|
||
|
INPUT #1, sm(i)
|
||
|
INPUT #1, sInnings(i)
|
||
|
INPUT #1, sRuns(i)
|
||
|
INPUT #1, sOuts(i)
|
||
|
INPUT #1, hs(i)
|
||
|
INPUT #1, sBalls(i)
|
||
|
INPUT #1, sOvers(i)
|
||
|
INPUT #1, sWickets(i)
|
||
|
INPUT #1, sConceded(i)
|
||
|
INPUT #1, bbw(i)
|
||
|
INPUT #1, bbr(i)
|
||
|
INPUT #1, iWeeks(i)
|
||
|
INPUT #1, duty(i)
|
||
|
INPUT #1, morale(i)
|
||
|
NEXT i
|
||
|
FOR i = 1 TO 19
|
||
|
INPUT #1, team$(i)
|
||
|
INPUT #1, rating(i)
|
||
|
INPUT #1, shirt1(i)
|
||
|
INPUT #1, shirt2(i)
|
||
|
INPUT #1, trousers1(i)
|
||
|
INPUT #1, trousers2(i)
|
||
|
INPUT #1, cs(i)
|
||
|
INPUT #1, wk(i)
|
||
|
INPUT #1, cp(i)
|
||
|
INPUT #1, ob1(i)
|
||
|
INPUT #1, ob2(i)
|
||
|
INPUT #1, overSeas1(i)
|
||
|
INPUT #1, overSeas2(i)
|
||
|
FOR j = 1 TO 18
|
||
|
INPUT #1, player$(j, i)
|
||
|
INPUT #1, gb(j, i)
|
||
|
INPUT #1, rs(j, i)
|
||
|
INPUT #1, wt(j, i)
|
||
|
INPUT #1, eb(j, i)
|
||
|
INPUT #1, ba(j, i)
|
||
|
INPUT #1, fa(j, i)
|
||
|
INPUT #1, bat(j, i)
|
||
|
INPUT #1, bowl(j, i)
|
||
|
INPUT #1, wicketKeeper(j, i)
|
||
|
INPUT #1, peak(j, i)
|
||
|
INPUT #1, international(j, i)
|
||
|
INPUT #1, salary(j, i)
|
||
|
NEXT j
|
||
|
INPUT #1, points(i)
|
||
|
INPUT #1, wins(i)
|
||
|
INPUT #1, ties(i)
|
||
|
INPUT #1, losses(i)
|
||
|
INPUT #1, played(i)
|
||
|
NEXT i
|
||
|
CLOSE
|
||
|
gls = 1
|
||
|
11 SELECT CASE gls
|
||
|
CASE IS = 1
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 20, 20
|
||
|
PRINT "GAME LOADED SUCCESFULLY FROM FILE "; oss
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
CASE ELSE
|
||
|
CLOSE
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 20, 20
|
||
|
PRINT "NO SAVED GAME IN FILE "; oss
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
GOTO 12
|
||
|
END SELECT
|
||
|
END SELECT
|
||
|
END SUB
|
||
|
|
||
|
SUB managerInfo
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
|
||
|
COLOR 3, 0
|
||
|
LOCATE 8, 5
|
||
|
PRINT "MANAGER'S NAME : "; name$
|
||
|
LOCATE 10, 5
|
||
|
PRINT "CLUB MANAGED : "; team$(team)
|
||
|
LOCATE 12, 5
|
||
|
PRINT "WEEK'S AT CLUB : "; week
|
||
|
LOCATE 16, 5
|
||
|
PRINT "DIRECTOR'S RATING :"
|
||
|
LOCATE 18, 5
|
||
|
PRINT "FANS RATING :"
|
||
|
|
||
|
FOR i = 1 TO 50
|
||
|
SELECT CASE directorsRating
|
||
|
CASE IS > (i * 2 - 1)
|
||
|
COLOR 1, 0
|
||
|
LOCATE 16, i + 25
|
||
|
PRINT CHR$(219)
|
||
|
CASE IS = (i * 2 - 1)
|
||
|
COLOR 1, 0
|
||
|
LOCATE 16, i + 25
|
||
|
PRINT CHR$(221)
|
||
|
CASE ELSE
|
||
|
COLOR 3, 0
|
||
|
LOCATE 16, i + 25
|
||
|
PRINT CHR$(196)
|
||
|
END SELECT
|
||
|
NEXT i
|
||
|
|
||
|
FOR i = 1 TO 50
|
||
|
SELECT CASE fansRating
|
||
|
CASE IS > (i * 2 - 1)
|
||
|
COLOR 1, 0
|
||
|
LOCATE 18, i + 25
|
||
|
PRINT CHR$(219)
|
||
|
CASE IS = (i * 2 - 1)
|
||
|
COLOR 1, 0
|
||
|
LOCATE 18, i + 25
|
||
|
PRINT CHR$(219)
|
||
|
CASE ELSE
|
||
|
COLOR 3, 0
|
||
|
LOCATE 18, i + 25
|
||
|
PRINT CHR$(196)
|
||
|
END SELECT
|
||
|
NEXT i
|
||
|
|
||
|
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SUB
|
||
|
|
||
|
SUB manhattan
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 3
|
||
|
PRINT team$(battingSide); " INNINGS MANHATTAN GRAPH"
|
||
|
FOR i = 1 TO 50
|
||
|
mgcc = mgcc + 1
|
||
|
IF mgcc = 3 THEN mgcc = 1
|
||
|
FOR j = 1 TO 30
|
||
|
COLOR 11, 0
|
||
|
LOCATE (41 - j), 3
|
||
|
IF j = 2 OR j = 4 OR j = 6 OR j = 8 OR j = 10 OR j = 12 OR j = 14 OR j = 16 OR j = 18 OR j = 20 THEN PRINT j
|
||
|
IF mgcc = 1 THEN COLOR 11, 0 ELSE COLOR 3, 0
|
||
|
LOCATE (41 - j), i + 6
|
||
|
IF rpo(i, battingSide) >= j THEN PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SUB
|
||
|
|
||
|
SUB matchDay
|
||
|
IF week = 19 THEN CALL endOfSeason
|
||
|
SELECT CASE gt
|
||
|
CASE IS = 1
|
||
|
gt = 0
|
||
|
GOTO 170
|
||
|
END SELECT
|
||
|
|
||
|
FOR i = 1 TO 9
|
||
|
IF fixture(1, i, week) = team OR fixture(2, i, week) = team THEN match = i
|
||
|
NEXT i
|
||
|
|
||
|
IF match > 0 THEN GOTO 410
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 1, 3
|
||
|
PRINT "MATCHDAY:"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 16, 3
|
||
|
PRINT team$(team); " DO NOT HAVE A FIXTURE FOR TODAY..."
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
GOTO 420
|
||
|
|
||
|
410 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 1, 22
|
||
|
PRINT "MATCHDAY:"
|
||
|
|
||
|
COLOR shirt1(fixture(1, match, week)), 0
|
||
|
FOR i = 8 TO 17
|
||
|
FOR j = 24 TO 32
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
COLOR shirt2(fixture(1, match, week)), 6
|
||
|
LOCATE 12, 26
|
||
|
PRINT CHR$(219); CHR$(219); CHR$(219); CHR$(219); CHR$(219)
|
||
|
LOCATE 8, 28
|
||
|
PRINT CHR$(219)
|
||
|
FOR i = 8 TO 14
|
||
|
FOR j = 22 TO 23
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
FOR j = 33 TO 34
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
COLOR trousers1(fixture(1, match, week)), 0
|
||
|
FOR i = 18 TO 28
|
||
|
FOR j = 24 TO 32
|
||
|
IF i > 20 AND j > 27 AND j < 29 THEN GOTO 80
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
80 NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
SELECT CASE cs(fixture(1, match, week))
|
||
|
CASE IS = 1
|
||
|
COLOR trousers2(fixture(1, match, week)), trousers1(fixture(1, match, week))
|
||
|
FOR i = 18 TO 28
|
||
|
LOCATE i, 24
|
||
|
PRINT CHR$(221)
|
||
|
LOCATE i, 32
|
||
|
PRINT CHR$(222)
|
||
|
NEXT i
|
||
|
CASE IS = 2
|
||
|
COLOR trousers1(fixture(1, match, week)), trousers2(fixture(1, match, week))
|
||
|
FOR i = 18 TO 28
|
||
|
LOCATE i, 24
|
||
|
PRINT CHR$(222)
|
||
|
LOCATE i, 32
|
||
|
PRINT CHR$(221)
|
||
|
NEXT i
|
||
|
END SELECT
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 14, 38
|
||
|
PRINT "V"
|
||
|
|
||
|
COLOR shirt1(fixture(2, match, week)), 0
|
||
|
FOR i = 8 TO 17
|
||
|
FOR j = 44 TO 52
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
COLOR shirt2(fixture(2, match, week)), 0
|
||
|
LOCATE 12, 46
|
||
|
PRINT CHR$(219); CHR$(219); CHR$(219); CHR$(219); CHR$(219)
|
||
|
LOCATE 8, 48
|
||
|
PRINT CHR$(219)
|
||
|
FOR i = 8 TO 14
|
||
|
FOR j = 42 TO 43
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
FOR j = 53 TO 54
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
COLOR trousers1(fixture(2, match, week)), 0
|
||
|
FOR i = 18 TO 28
|
||
|
FOR j = 44 TO 52
|
||
|
IF i > 20 AND j > 47 AND j < 49 THEN GOTO 90
|
||
|
LOCATE i, j
|
||
|
PRINT CHR$(219)
|
||
|
90 NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
SELECT CASE cs(fixture(2, match, week))
|
||
|
CASE IS = 1
|
||
|
COLOR trousers2(fixture(2, match, week)), trousers1(fixture(2, match, week))
|
||
|
FOR i = 18 TO 28
|
||
|
LOCATE i, 44
|
||
|
PRINT CHR$(221)
|
||
|
LOCATE i, 52
|
||
|
PRINT CHR$(222)
|
||
|
NEXT i
|
||
|
CASE IS = 2
|
||
|
COLOR trousers1(fixture(2, match, week)), trousers2(fixture(2, match, week))
|
||
|
FOR i = 18 TO 28
|
||
|
LOCATE i, 44
|
||
|
PRINT CHR$(222)
|
||
|
LOCATE i, 52
|
||
|
PRINT CHR$(221)
|
||
|
NEXT i
|
||
|
END SELECT
|
||
|
|
||
|
pitch = rand(5)
|
||
|
COLOR 3, 0
|
||
|
LOCATE 36, 22
|
||
|
PRINT team$(fixture(1, match, week)); " V "; team$(fixture(2, match, week))
|
||
|
LOCATE 38, 22
|
||
|
PRINT "PITCH TYPE: "; pitch$(pitch)
|
||
|
LOCATE 40, 22
|
||
|
PRINT "Press RETURN to go to the match..."
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 3, 22
|
||
|
PRINT "MATCHDAY:"
|
||
|
LOCATE 12, 22
|
||
|
PRINT "COIN TOSS: "; team$(team); " TO CALL"
|
||
|
tc = 1
|
||
|
|
||
|
110 LOCATE 14, 22
|
||
|
IF tc = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "HEADS"
|
||
|
LOCATE 16, 22
|
||
|
IF tc = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "TAILS"
|
||
|
|
||
|
100 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
tc = tc - 1
|
||
|
IF tc < 1 THEN tc = 2
|
||
|
GOTO 110
|
||
|
CASE IS = d$
|
||
|
tc = tc + 1
|
||
|
IF tc > 2 THEN tc = 1
|
||
|
GOTO 110
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 100
|
||
|
END SELECT
|
||
|
|
||
|
IF coinCheat = 1 THEN result = 2 ELSE result = rand(2)
|
||
|
SELECT CASE result
|
||
|
CASE IS = 1
|
||
|
SELECT CASE pitch
|
||
|
CASE IS = 1
|
||
|
cc = 2
|
||
|
CASE IS = 2
|
||
|
cc = rand(2)
|
||
|
CASE IS = 3
|
||
|
cc = 1
|
||
|
CASE IS = 4
|
||
|
cc = 1
|
||
|
CASE IS = 5
|
||
|
cc = rand(2)
|
||
|
END SELECT
|
||
|
COLOR 11, 0
|
||
|
LOCATE 20, 22
|
||
|
IF cc = 1 THEN PRINT "YOU HAVE LOST THE COIN TOSS - YOU WILL BAT FIRST"
|
||
|
IF cc = 2 THEN PRINT "YOU HAVE LOST THE COIN TOSS - YOU WILL FIELD FIRST"
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
CASE ELSE
|
||
|
|
||
|
LOCATE 22, 22
|
||
|
COLOR 11, 0
|
||
|
PRINT "YOU HAVE WON THE TOSS"
|
||
|
COLOR 3, 0
|
||
|
tc = 1
|
||
|
|
||
|
130 LOCATE 24, 22
|
||
|
IF tc = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "BAT FIRST"
|
||
|
LOCATE 26, 22
|
||
|
IF tc = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "FIELD FIRST"
|
||
|
|
||
|
120 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
tc = tc - 1
|
||
|
IF tc < 1 THEN tc = 2
|
||
|
GOTO 130
|
||
|
CASE IS = d$
|
||
|
tc = tc + 1
|
||
|
IF tc > 2 THEN tc = 1
|
||
|
GOTO 130
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 120
|
||
|
END SELECT
|
||
|
cc = tc
|
||
|
END SELECT
|
||
|
|
||
|
IF fixture(1, match, week) = team THEN opponents = fixture(2, match, week)
|
||
|
IF fixture(2, match, week) = team THEN opponents = fixture(1, match, week)
|
||
|
|
||
|
FOR i = 1 TO 50
|
||
|
rpo(i, 1) = 0
|
||
|
rpo(i, 2) = 0
|
||
|
NEXT i
|
||
|
|
||
|
ft = 1
|
||
|
truns(team) = 0
|
||
|
tWickets(team) = 0
|
||
|
tovers(team) = 0
|
||
|
tBalls(team) = 0
|
||
|
bowlers(team) = 0
|
||
|
FOR i = 1 TO 10
|
||
|
bowlChange(i, team) = 0
|
||
|
NEXT i
|
||
|
FOR j = 1 TO 11
|
||
|
IF j = 1 OR j = 2 THEN in(j, team) = 1 ELSE in(j, team) = 2
|
||
|
runs(j, team) = 0
|
||
|
balls(j, team) = 0
|
||
|
howOut1$(j, team) = ""
|
||
|
howOut2$(j, team) = ""
|
||
|
howOut3$(j, team) = ""
|
||
|
howOut4$(j, team) = ""
|
||
|
o(j, team) = 0
|
||
|
b(j, team) = 0
|
||
|
m(j, team) = 0
|
||
|
w(j, team) = 0
|
||
|
r(j, team) = 0
|
||
|
fatigue(j, team) = 10
|
||
|
NEXT j
|
||
|
extras(team) = 0
|
||
|
wides(team) = 0
|
||
|
noBalls(team) = 0
|
||
|
legByes(team) = 0
|
||
|
byes(team) = 0
|
||
|
|
||
|
truns(opponents) = 0
|
||
|
tWickets(opponents) = 0
|
||
|
tovers(opponents) = 0
|
||
|
tBalls(opponents) = 0
|
||
|
bowlers(opponents) = 0
|
||
|
FOR i = 1 TO 10
|
||
|
bowlChange(i, opponents) = 0
|
||
|
NEXT i
|
||
|
FOR j = 1 TO 11
|
||
|
IF j = 1 OR j = 2 THEN in(j, opponents) = 1 ELSE in(j, opponents) = 2
|
||
|
runs(j, opponents) = 0
|
||
|
balls(j, opponents) = 0
|
||
|
howOut1$(j, opponents) = ""
|
||
|
howOut2$(j, opponents) = ""
|
||
|
howOut3$(j, opponents) = ""
|
||
|
howOut4$(j, opponents) = ""
|
||
|
o(j, opponents) = 0
|
||
|
m(j, opponents) = 0
|
||
|
w(j, opponents) = 0
|
||
|
r(j, opponents) = 0
|
||
|
fatigue(j, opponents) = 10
|
||
|
NEXT j
|
||
|
extras(opponents) = 0
|
||
|
wides(opponents) = 0
|
||
|
noBalls(opponents) = 0
|
||
|
legByes(opponents) = 0
|
||
|
byes(opponents) = 0
|
||
|
|
||
|
FOR innings = 1 TO 2
|
||
|
retain = 3
|
||
|
mindset = 2
|
||
|
SELECT CASE innings
|
||
|
CASE IS = 1
|
||
|
IF cc = 1 THEN batSide = team ELSE batSide = opponents
|
||
|
IF cc = 1 THEN bowlSide = opponents ELSE bowlSide = team
|
||
|
CASE IS = 2
|
||
|
neitherSide = batSide
|
||
|
batSide = bowlSide
|
||
|
bowlSide = neitherSide
|
||
|
END SELECT
|
||
|
|
||
|
finish = 0
|
||
|
bat1 = 1
|
||
|
bat2 = 2
|
||
|
bowler = ob1(bowlSide)
|
||
|
lbowler = ob2(bowlSide)
|
||
|
strike = 1
|
||
|
menu = 1
|
||
|
|
||
|
overBalls = 0
|
||
|
IF innings = 1 THEN hours = 11 ELSE hours = 14
|
||
|
IF innings = 1 THEN minutes = 0 ELSE minutes = 20
|
||
|
FOR j = 1 TO 11
|
||
|
NEXT j
|
||
|
FOR j = 1 TO 8
|
||
|
ball$(j) = ""
|
||
|
NEXT j
|
||
|
|
||
|
DO
|
||
|
170 COLOR 11, 0
|
||
|
CLS
|
||
|
SELECT CASE tBalls(batSide)
|
||
|
CASE IS = 6
|
||
|
IF innings = 1 THEN rpo(tovers(batSide), 1) = truns(batSide) - rbo
|
||
|
IF innings = 2 THEN rpo(tovers(batSide), 2) = truns(batSide) - rbo
|
||
|
rbo = truns(batSide)
|
||
|
fatigue(bowler, bowlSide) = fatigue(bowler, bowlSide) - 2
|
||
|
fatigue(lbowler, bowlSide) = fatigue(lbowler, bowlSide) - 1
|
||
|
FOR E = 1 TO 11
|
||
|
fatigue(E, bowlSide) = fatigue(E, bowlSide) + 1
|
||
|
IF fatigue(E, bowlSide) < 2 THEN fatigue(E, bowlSide) = 2
|
||
|
IF fatigue(E, bowlSide) > 10 THEN fatigue(E, bowlSide) = 10
|
||
|
NEXT E
|
||
|
overBouncers = 0
|
||
|
tovers(batSide) = tovers(batSide) + 1
|
||
|
tBalls(batSide) = 0
|
||
|
strike = strike + 1
|
||
|
IF strike = 3 THEN strike = 1
|
||
|
overExtras = 0
|
||
|
IF r(bowler, bowlSide) = pr THEN m(bowler, bowlSide) = m(bowler, bowlSide) + 1
|
||
|
o(bowler, bowlSide) = o(bowler, bowlSide) + 1
|
||
|
b(bowler, bowlSide) = 0
|
||
|
|
||
|
SELECT CASE bowlSide
|
||
|
CASE IS = team
|
||
|
cbowler = bowler
|
||
|
bowler = lbowler
|
||
|
lbowler = cbowler
|
||
|
|
||
|
|
||
|
CASE IS = opponents
|
||
|
change = 0
|
||
|
IF rand(4) = 1 THEN change = 1
|
||
|
IF tovers(batSide) < 9 THEN change = 0
|
||
|
IF o(lbowler, bowlSide) >= 9 THEN change = 1
|
||
|
IF fatigue(lbowler, bowlSide) < 4 THEN change = 1
|
||
|
|
||
|
SELECT CASE change
|
||
|
CASE IS = 0
|
||
|
cbowler = bowler
|
||
|
bowler = lbowler
|
||
|
lbowler = cbowler
|
||
|
|
||
|
CASE ELSE
|
||
|
cb(1, bowlSide) = ba(1, bowlSide)
|
||
|
cb(2, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide)
|
||
|
cb(3, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide)
|
||
|
cb(4, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide) + ba(4, bowlSide)
|
||
|
cb(5, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide) + ba(4, bowlSide) + ba(5, bowlSide)
|
||
|
cb(6, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide) + ba(4, bowlSide) + ba(5, bowlSide) + ba(6, bowlSide)
|
||
|
cb(7, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide) + ba(4, bowlSide) + ba(5, bowlSide) + ba(6, bowlSide) + ba(7, bowlSide)
|
||
|
cb(8, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide) + ba(4, bowlSide) + ba(5, bowlSide) + ba(6, bowlSide) + ba(7, bowlSide) + ba(8, bowlSide)
|
||
|
cb(9, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide) + ba(4, bowlSide) + ba(5, bowlSide) + ba(6, bowlSide) + ba(7, bowlSide) + ba(8, bowlSide) + ba(9, bowlSide)
|
||
|
cb(10, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide) + ba(4, bowlSide) + ba(5, bowlSide) + ba(6, bowlSide) + ba(7, bowlSide) + ba(8, bowlSide) + ba(9, bowlSide) + ba(10, bowlSide)
|
||
|
cb(11, bowlSide) = ba(1, bowlSide) + ba(2, bowlSide) + ba(3, bowlSide) + ba(4, bowlSide) + ba(5, bowlSide) + ba(6, bowlSide) + ba(7, bowlSide) + ba(8, bowlSide) + ba(9, bowlSide) + ba(10, bowlSide) + ba(11, bowlSide)
|
||
|
|
||
|
tcb = 0
|
||
|
FOR k = 1 TO 11
|
||
|
tcb = tcb + ba(k, bowlSide)
|
||
|
NEXT k
|
||
|
|
||
|
lbowler = bowler
|
||
|
240 rtcb = rand(tcb)
|
||
|
|
||
|
SELECT CASE rtcb
|
||
|
CASE 0 TO cb(1, bowlSide)
|
||
|
bowler = 1
|
||
|
CASE cb(1, bowlSide) TO cb(2, bowlSide)
|
||
|
bowler = 2
|
||
|
CASE cb(2, bowlSide) TO cb(3, bowlSide)
|
||
|
bowler = 3
|
||
|
CASE cb(3, bowlSide) TO cb(4, bowlSide)
|
||
|
bowler = 4
|
||
|
CASE cb(4, bowlSide) TO cb(5, bowlSide)
|
||
|
bowler = 5
|
||
|
CASE cb(5, bowlSide) TO cb(6, bowlSide)
|
||
|
bowler = 6
|
||
|
CASE cb(6, bowlSide) TO cb(7, bowlSide)
|
||
|
bowler = 7
|
||
|
CASE cb(7, bowlSide) TO cb(8, bowlSide)
|
||
|
bowler = 8
|
||
|
CASE cb(8, bowlSide) TO cb(9, bowlSide)
|
||
|
bowler = 9
|
||
|
CASE cb(9, bowlSide) TO cb(10, bowlSide)
|
||
|
bowler = 10
|
||
|
CASE cb(10, bowlSide) TO cb(11, bowlSide)
|
||
|
bowler = 11
|
||
|
END SELECT
|
||
|
IF o(bowler, bowlSide) >= 9 THEN GOTO 240
|
||
|
IF bowler = lbowler THEN GOTO 240
|
||
|
END SELECT
|
||
|
END SELECT
|
||
|
|
||
|
pr = r(bowler, bowlSide)
|
||
|
END SELECT
|
||
|
|
||
|
270 COLOR 11, 0
|
||
|
LOCATE 2, 4
|
||
|
PRINT team$(batSide)
|
||
|
LOCATE 3, 3
|
||
|
PRINT truns(batSide); "-"; tWickets(batSide); " ("; tovers(batSide); "."; tBalls(batSide); ")"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 5, 4
|
||
|
PRINT player$(bat1, batSide)
|
||
|
LOCATE 5, 20
|
||
|
PRINT runs(bat1, batSide)
|
||
|
LOCATE 5, 25
|
||
|
PRINT "("; balls(bat1, batSide); ")"
|
||
|
LOCATE 7, 4
|
||
|
PRINT player$(bat2, batSide)
|
||
|
LOCATE 7, 20
|
||
|
PRINT runs(bat2, batSide)
|
||
|
LOCATE 7, 25
|
||
|
PRINT "("; balls(bat2, batSide); ")"
|
||
|
IF strike = 1 THEN LOCATE 5, 2 ELSE LOCATE 7, 2
|
||
|
PRINT "*"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 10, 4
|
||
|
PRINT "Extras: "; extras(batSide); " (w"; wides(batSide); ", nb"; noBalls(batSide); ", b"; byes(batSide); ", lb"; legByes(batSide); ")"
|
||
|
LOCATE 10, 55
|
||
|
PRINT "Last Delivery:"
|
||
|
COLOR 0, 3
|
||
|
LOCATE 10, 70
|
||
|
IF overBalls = 0 AND tovers(batSide) = 0 THEN PRINT " mph" ELSE PRINT speed(overBalls); "mph"
|
||
|
|
||
|
COLOR 3, 0
|
||
|
FOR j = 1 TO 9
|
||
|
LOCATE j, 39
|
||
|
PRINT CHR$(179)
|
||
|
NEXT j
|
||
|
FOR j = 12 TO 28
|
||
|
LOCATE j, 26
|
||
|
PRINT CHR$(179)
|
||
|
NEXT j
|
||
|
|
||
|
FOR j = 1 TO 80
|
||
|
LOCATE 9, j
|
||
|
PRINT CHR$(196)
|
||
|
LOCATE 11, j
|
||
|
PRINT CHR$(196)
|
||
|
LOCATE 29, j
|
||
|
PRINT CHR$(196)
|
||
|
LOCATE 44, j
|
||
|
PRINT CHR$(196)
|
||
|
NEXT j
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 2, 43
|
||
|
PRINT team$(bowlSide)
|
||
|
COLOR 3, 0
|
||
|
LOCATE 5, 41
|
||
|
PRINT "*"
|
||
|
LOCATE 5, 43
|
||
|
PRINT player$(bowler, bowlSide)
|
||
|
LOCATE 5, 59
|
||
|
PRINT o(bowler, bowlSide); "."; b(bowler, bowlSide); "-"; m(bowler, bowlSide); "-"; r(bowler, bowlSide); "-"; w(bowler, bowlSide)
|
||
|
LOCATE 7, 43
|
||
|
PRINT player$(lbowler, bowlSide)
|
||
|
LOCATE 7, 59
|
||
|
PRINT o(lbowler, bowlSide); "."; b(lbowler, bowlSide); "-"; m(lbowler, bowlSide); "-"; r(lbowler, bowlSide); "-"; w(lbowler, bowlSide)
|
||
|
|
||
|
FOR i = 1 TO 8
|
||
|
IF overBalls < i THEN GOTO 140
|
||
|
LOCATE 11 + (i * 2), 4
|
||
|
COLOR 7, 4
|
||
|
PRINT i
|
||
|
LOCATE 11 + (i * 2), 10
|
||
|
COLOR 3, 0
|
||
|
PRINT ball$(i)
|
||
|
140 NEXT i
|
||
|
|
||
|
tb = (tovers(batSide) * 6) + tBalls(batSide)
|
||
|
IF truns(batSide) = 0 OR tb = 0 THEN GOTO 230
|
||
|
runRate = truns(batSide) / tb
|
||
|
runRate = runRate * 6
|
||
|
runRate = INT(runRate * 100)
|
||
|
runRate = runRate / 100
|
||
|
|
||
|
230 LOCATE 14, 29
|
||
|
PRINT team$(fixture(1, match, week)); " V "; team$(fixture(2, match, week))
|
||
|
LOCATE 16, 29
|
||
|
PRINT "PITCH TYPE: "; pitch$(pitch)
|
||
|
LOCATE 18, 29
|
||
|
SELECT CASE innings
|
||
|
CASE IS = 1
|
||
|
PRINT team$(batSide); " LEAD BY "; truns(batSide); " RUNS"
|
||
|
CASE ELSE
|
||
|
PRINT team$(batSide); " REQUIRE "; (truns(bowlSide) + 1) - truns(batSide); " MORE RUNS TO WIN"
|
||
|
END SELECT
|
||
|
|
||
|
LOCATE 20, 29
|
||
|
PRINT "CURRENT RUN RATE: "; runRate
|
||
|
LOCATE 23, 29
|
||
|
SELECT CASE strike
|
||
|
CASE IS = 1
|
||
|
PRINT player$(bowler, bowlSide); " ("; bowl$(bowl(bowler, bowlSide)); ") "; CHR$(16); " "; player$(bat1, batSide); " ("; bat$(bat(bat1, batSide)); ")"
|
||
|
CASE IS = 2
|
||
|
PRINT player$(bowler, bowlSide); " ("; bowl$(bowl(bowler, bowlSide)); ") "; CHR$(16); " "; player$(bat2, batSide); " ("; bat$(bat(bat2, batSide)); ")"
|
||
|
END SELECT
|
||
|
LOCATE 25, 29
|
||
|
SELECT CASE minutes
|
||
|
CASE IS = 0
|
||
|
PRINT "TIME: "; hours; ": 00"
|
||
|
CASE IS = 1
|
||
|
PRINT "TIME: "; hours; ": 01"
|
||
|
CASE IS = 2
|
||
|
PRINT "TIME: "; hours; ": 02"
|
||
|
CASE IS = 3
|
||
|
PRINT "TIME: "; hours; ": 03"
|
||
|
CASE IS = 4
|
||
|
PRINT "TIME: "; hours; ": 04"
|
||
|
CASE IS = 5
|
||
|
PRINT "TIME: "; hours; ": 05"
|
||
|
CASE IS = 6
|
||
|
PRINT "TIME: "; hours; ": 06"
|
||
|
CASE IS = 7
|
||
|
PRINT "TIME: "; hours; ": 07"
|
||
|
CASE IS = 8
|
||
|
PRINT "TIME: "; hours; ": 08"
|
||
|
CASE IS = 9
|
||
|
PRINT "TIME: "; hours; ": 09"
|
||
|
CASE ELSE
|
||
|
PRINT "TIME: "; hours; ":"; minutes
|
||
|
END SELECT
|
||
|
|
||
|
330 SELECT CASE team
|
||
|
CASE IS = bowlSide
|
||
|
COLOR 11, 0
|
||
|
LOCATE 31, 5
|
||
|
PRINT "Bowler: "; player$(bowler, bowlSide); " ("; bowl$(bowl(bowler, bowlSide)); ")"
|
||
|
LOCATE 31, 50
|
||
|
COLOR 3, 0
|
||
|
PRINT "Fatigue:"
|
||
|
FOR i = 1 TO 10
|
||
|
LOCATE 31, 58 + i
|
||
|
IF fatigue(bowler, bowlSide) >= i THEN PRINT CHR$(219)
|
||
|
NEXT i
|
||
|
COLOR 11, 0
|
||
|
LOCATE 42, 5
|
||
|
PRINT "Press "; CHR$(34); "C"; CHR$(34); " at the end of any over to change bowler."
|
||
|
|
||
|
FOR i = 1 TO 3
|
||
|
IF i = 3 AND tovers(batSide) < 15 THEN COLOR 8, 0 ELSE COLOR 3, 0
|
||
|
LOCATE (i * 2 + 32), 5
|
||
|
PRINT field$(i)
|
||
|
LOCATE (i * 2 + 32), 3
|
||
|
IF ft = i THEN PRINT CHR$(16) ELSE PRINT " "
|
||
|
NEXT i
|
||
|
|
||
|
SELECT CASE tovers(batSide)
|
||
|
CASE 0 TO 5
|
||
|
IF tWickets(batSide) = 0 THEN mindset = 2 ELSE mindset = 1
|
||
|
CASE 6 TO 10
|
||
|
IF tWickets(batSide) < 2 THEN mindset = 3
|
||
|
IF tWickets(batSide) = 2 THEN mindset = 2
|
||
|
IF tWickets(batSide) > 2 THEN mindset = 1
|
||
|
CASE 11 TO 16
|
||
|
IF tWickets(batSide) < 4 THEN mindset = 3 ELSE mindset = 2
|
||
|
CASE 17 TO 25
|
||
|
IF tWickets(batSide) < 6 THEN mindset = 3 ELSE mindset = 2
|
||
|
IF tWickets(batSide) < 3 THEN mindset = 4
|
||
|
IF tWickets(batSide) < 2 THEN mindset = 5
|
||
|
CASE 26 TO 30
|
||
|
IF tWickets(batSide) < 7 THEN mindset = 3 ELSE mindset = 2
|
||
|
IF tWickets(batSide) < 4 THEN mindset = 4
|
||
|
IF tWickets(batSide) < 3 THEN mindset = 5
|
||
|
CASE 31 TO 37
|
||
|
IF tWickets(batSide) < 6 THEN mindset = 5 ELSE mindset = 4
|
||
|
CASE 38 TO 45
|
||
|
mindset = 5
|
||
|
END SELECT
|
||
|
|
||
|
CASE ELSE
|
||
|
COLOR 11, 0
|
||
|
LOCATE 31, 5
|
||
|
PRINT "Batsmen: "; player$(bat1, batSide); " ("; bat$(bat(bat1, batSide)); ") & "; player$(bat2, batSide); " ("; bat$(bat(bat2, batSide)); ")"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 34, 5
|
||
|
PRINT "Very Defensive"
|
||
|
LOCATE 36, 5
|
||
|
PRINT "Defensive"
|
||
|
LOCATE 38, 5
|
||
|
PRINT "Moderate"
|
||
|
LOCATE 40, 5
|
||
|
PRINT "Aggressive"
|
||
|
LOCATE 42, 5
|
||
|
PRINT "Very Aggressive"
|
||
|
FOR i = 1 TO 5
|
||
|
LOCATE 32 + (i * 2), 3
|
||
|
IF mindset <> i THEN PRINT " " ELSE PRINT CHR$(16)
|
||
|
NEXT i
|
||
|
LOCATE 42, 30
|
||
|
COLOR 11, 0
|
||
|
PRINT "Press "; CHR$(34); "C"; CHR$(34); " at any time to change batting order."
|
||
|
END SELECT
|
||
|
|
||
|
LOCATE 48, 27
|
||
|
COLOR 0, 3
|
||
|
PRINT " MAIN MENU "
|
||
|
LOCATE 48, 4
|
||
|
COLOR 3, 0
|
||
|
PRINT " BATTING SCORECARD "
|
||
|
LOCATE 48, 50
|
||
|
COLOR 3, 0
|
||
|
PRINT " BOWLING FIGURES "
|
||
|
COLOR 0, 3
|
||
|
LOCATE 46, 37
|
||
|
PRINT CHR$(17); " "; CHR$(16)
|
||
|
|
||
|
IF tovers(batSide) = 45 THEN finish = 1
|
||
|
IF tWickets(batSide) = 10 THEN finish = 2
|
||
|
IF truns(batSide) > truns(bowlSide) AND innings = 2 THEN finish = 3
|
||
|
IF finish = 0 THEN GOTO 310
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 50, 2
|
||
|
SELECT CASE innings
|
||
|
CASE IS = 1
|
||
|
PRINT team$(bowlSide); " REQUIRE "; truns(batSide) + 1; " RUNS TO WIN. PRESS SPACE TO GO THE NEXT INNINGS."
|
||
|
CASE IS = 2
|
||
|
IF truns(batSide) > truns(bowlSide) THEN PRINT team$(batSide); " BEAT "; team$(bowlSide); " BY "; 10 - tWickets(batSide); " WICKETS. PRESS SPACE TO CONTINUE."
|
||
|
IF truns(batSide) < truns(bowlSide) THEN PRINT team$(bowlSide); " BEAT "; team$(batSide); " BY "; truns(bowlSide) - truns(batSide); " RUNS. PRESS SPACE TO CONTINUE."
|
||
|
IF truns(batSide) = truns(bowlSide) THEN PRINT team$(batSide); " TIED WITH "; team$(bowlSide); ". PRESS SPACE TO CONTINUE."
|
||
|
END SELECT
|
||
|
|
||
|
310 lastSub = 1
|
||
|
160 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
IF finish > 0 THEN GOTO 310
|
||
|
IF batSide = team THEN mindset = mindset - 1 ELSE ft = ft - 1
|
||
|
IF tovers(batSide) < 15 AND ft < 1 THEN ft = 2
|
||
|
IF tovers(batSide) >= 15 AND ft < 1 THEN ft = 3
|
||
|
IF mindset < 1 THEN mindset = 5
|
||
|
GOTO 330
|
||
|
CASE IS = d$
|
||
|
IF finish > 0 THEN GOTO 310
|
||
|
IF batSide = team THEN mindset = mindset + 1 ELSE ft = ft + 1
|
||
|
IF ft = 3 AND tovers(batSide) < 15 THEN ft = 1
|
||
|
IF ft > 3 THEN ft = 1
|
||
|
IF mindset > 5 THEN mindset = 1
|
||
|
GOTO 330
|
||
|
CASE IS = l$
|
||
|
CALL scorecard
|
||
|
GOTO 170
|
||
|
CASE IS = r$
|
||
|
CALL figures
|
||
|
GOTO 170
|
||
|
CASE IS = "C"
|
||
|
IF finish > 0 THEN GOTO 160
|
||
|
IF bowlSide = team AND tBalls(batSide) = 0 AND overBalls <> 1 AND overBalls <> 2 THEN CALL changeBowler
|
||
|
IF batSide = team THEN CALL batOrder
|
||
|
GOTO 270
|
||
|
CASE IS = "c"
|
||
|
IF finish > 0 THEN GOTO 160
|
||
|
IF bowlSide = team AND tBalls(batSide) = 0 AND overBalls <> 1 AND overBalls <> 2 THEN CALL changeBowler
|
||
|
IF batSide = team THEN CALL batOrder
|
||
|
GOTO 270
|
||
|
CASE IS = CHR$(13)
|
||
|
IF finish > 0 THEN GOTO 160
|
||
|
IF tovers(batSide) >= 50 THEN GOTO 290
|
||
|
IF team = bowlSide AND o(bowler, bowlSide) >= 9 THEN GOTO 160
|
||
|
290
|
||
|
CASE IS = CHR$(32)
|
||
|
IF finish = 0 THEN GOTO 160
|
||
|
CASE ELSE
|
||
|
GOTO 160
|
||
|
END SELECT
|
||
|
|
||
|
IF finish > 0 THEN GOTO 300
|
||
|
REM _________________________________________________________________________
|
||
|
|
||
|
IF tBalls(batSide) <> 0 THEN GOTO 200
|
||
|
IF overBalls <= 5 THEN GOTO 200
|
||
|
overBalls = 0
|
||
|
FOR j = 1 TO 8
|
||
|
ball$(j) = ""
|
||
|
NEXT j
|
||
|
FOR j = 1 TO 8
|
||
|
speed(j) = 0
|
||
|
NEXT j
|
||
|
|
||
|
200 totals = 0
|
||
|
total1 = 100 - eb(bowler, bowlSide)
|
||
|
IF strike = 1 THEN total2 = rs(bat1, batSide)
|
||
|
IF strike = 2 THEN total2 = rs(bat2, batSide)
|
||
|
totals = total1 + total2
|
||
|
totals = INT(totals / 10)
|
||
|
|
||
|
IF strike = 1 THEN wtotal1 = 100 - (gb(bat1, batSide))
|
||
|
IF strike = 2 THEN wtotal1 = 100 - (gb(bat2, batSide))
|
||
|
wtotal2 = wt(bowler, bowlSide)
|
||
|
wtotals = wtotal1 + wtotal2
|
||
|
chance = INT(83 - (wtotals / 2.5))
|
||
|
IF bowl(bowler, bowlSide) = 1 OR bowl(bowler, bowlSide) = 2 OR bowl(bowler, bowlSide) = 7 OR bowl(bowler, bowlSide) = 8 THEN spinner = 1
|
||
|
|
||
|
IF tovers(batSide) < 10 AND spinner = 1 THEN chance = chance + 2
|
||
|
SELECT CASE mindset
|
||
|
CASE IS = 1
|
||
|
chance = INT(chance * 1.3)
|
||
|
totals = totals - 3
|
||
|
CASE IS = 2
|
||
|
chance = INT(chance * 1.15)
|
||
|
totals = totals - 1
|
||
|
CASE IS = 4
|
||
|
chance = INT(chance * .85)
|
||
|
totals = totals + 1
|
||
|
CASE IS = 5
|
||
|
chance = INT(chance * .7)
|
||
|
totals = totals + 3
|
||
|
END SELECT
|
||
|
|
||
|
IF fatigue(bowler, bowlSide) < 5 THEN chance = chance + (7 - fatigue(bowler, bowlSide))
|
||
|
aa = 5
|
||
|
bb = 6
|
||
|
cc = 7
|
||
|
dd = 20 + totals
|
||
|
ee = 22 + totals + totals
|
||
|
tt = rand(100)
|
||
|
|
||
|
SELECT CASE rand(chance)
|
||
|
CASE IS = 1
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
tWickets(batSide) = tWickets(batSide) + 1
|
||
|
fow(tWickets(batSide), batSide) = truns(batSide)
|
||
|
|
||
|
IF bowl(bowler, bowlSide) = 1 OR bowl(bowler, bowlSide) = 2 OR bowl(bowler, bowlSide) = 7 OR bowl(bowler, bowlSide) = 8 THEN howOut = rand(22) ELSE howOut = rand(20)
|
||
|
SELECT CASE howOut
|
||
|
CASE IS <= 11
|
||
|
IF strike = 1 THEN howOut1$(bat1, batSide) = "c" ELSE howOut1$(bat2, batSide) = "c"
|
||
|
catch = rand(11)
|
||
|
IF catch = bowler THEN catch = wk(bowlSide)
|
||
|
IF strike = 1 THEN howOut2$(bat1, batSide) = player$(catch, bowlSide) ELSE howOut2$(bat2, batSide) = player$(catch, bowlSide)
|
||
|
IF strike = 1 THEN howOut3$(bat1, batSide) = "b" ELSE howOut3$(bat2, batSide) = "b"
|
||
|
IF strike = 1 THEN howOut4$(bat1, batSide) = player$(bowler, bowlSide) ELSE howOut4$(bat2, batSide) = player$(bowler, bowlSide)
|
||
|
ball$(overBalls + 1) = "WICKET - CAUGHT"
|
||
|
w(bowler, bowlSide) = w(bowler, bowlSide) + 1
|
||
|
CASE 12 TO 16
|
||
|
IF strike = 1 THEN howOut3$(bat1, batSide) = "b" ELSE howOut3$(bat2, batSide) = "b"
|
||
|
IF strike = 1 THEN howOut4$(bat1, batSide) = player$(bowler, bowlSide) ELSE howOut4$(bat2, batSide) = player$(bowler, bowlSide)
|
||
|
ball$(overBalls + 1) = "WICKET - BOWLED"
|
||
|
w(bowler, bowlSide) = w(bowler, bowlSide) + 1
|
||
|
CASE 17 TO 19
|
||
|
IF strike = 1 THEN howOut1$(bat1, batSide) = "lbw" ELSE howOut1$(bat2, batSide) = "lbw"
|
||
|
IF strike = 1 THEN howOut3$(bat1, batSide) = "b" ELSE howOut3$(bat2, batSide) = "b"
|
||
|
IF strike = 1 THEN howOut4$(bat1, batSide) = player$(bowler, bowlSide) ELSE howOut4$(bat2, batSide) = player$(bowler, bowlSide)
|
||
|
ball$(overBalls + 1) = "WICKET - LBW"
|
||
|
w(bowler, bowlSide) = w(bowler, bowlSide) + 1
|
||
|
CASE IS = 20
|
||
|
IF strike = 1 THEN howOut1$(bat1, batSide) = "run out" ELSE howOut1$(bat2, batSide) = "run out"
|
||
|
ball$(overBalls + 1) = "WICKET - RUN OUT"
|
||
|
CASE ELSE
|
||
|
IF strike = 1 THEN howOut1$(bat1, batSide) = "st" ELSE howOut1$(bat2, batSide) = "st"
|
||
|
IF strike = 1 THEN howOut2$(bat1, batSide) = player$(wk(bowlSide), bowlSide) ELSE howOut2$(bat2, batSide) = player$(wk(bowlSide), bowlSide)
|
||
|
IF strike = 1 THEN howOut3$(bat1, batSide) = "b" ELSE howOut3$(bat2, batSide) = "b"
|
||
|
IF strike = 1 THEN howOut4$(bat1, batSide) = player$(bowler, bowlSide) ELSE howOut4$(bat2, batSide) = player$(bowler, bowlSide)
|
||
|
ball$(overBalls + 1) = "WICKET - STUMPED"
|
||
|
w(bowler, bowlSide) = w(bowler, bowlSide) + 1
|
||
|
END SELECT
|
||
|
IF strike = 1 THEN in(bat1, batSide) = 0
|
||
|
IF strike = 2 THEN in(bat2, batSide) = 0
|
||
|
IF tWickets(batSide) = 10 THEN GOTO 320
|
||
|
IF strike = 1 THEN bat1 = tWickets(batSide) + 2 ELSE bat2 = tWickets(batSide) + 2
|
||
|
IF strike = 1 AND tWickets(batSide) < 10 THEN in(bat1, batSide) = 1
|
||
|
IF strike = 2 AND tWickets(batSide) < 10 THEN in(bat2, batSide) = 1
|
||
|
320 GOTO 150
|
||
|
END SELECT
|
||
|
|
||
|
IF overExtras = 2 THEN GOTO 190
|
||
|
extraChance = rand(130)
|
||
|
SELECT CASE extraChance
|
||
|
CASE IS = 1
|
||
|
truns(batSide) = truns(batSide) + 1
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 1
|
||
|
ball$(overBalls + 1) = "ONE LEG-BYE"
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
IF strike = 1 THEN strike = 2 ELSE strike = 1
|
||
|
extras(batSide) = extras(batSide) + 1
|
||
|
legByes(batSide) = legByes(batSide) + 1
|
||
|
CASE IS = 2
|
||
|
truns(batSide) = truns(batSide) + 1
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
ball$(overBalls + 1) = "ONE BYE"
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
IF strike = 1 THEN strike = 2 ELSE strike = 1
|
||
|
extras(batSide) = extras(batSide) + 1
|
||
|
byes(batSide) = byes(batSide) + 1
|
||
|
CASE IS = 3
|
||
|
truns(batSide) = truns(batSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 1
|
||
|
ball$(overBalls + 1) = "ONE NO-BALL"
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
extras(batSide) = extras(batSide) + 1
|
||
|
noBalls(batSide) = noBalls(batSide) + 1
|
||
|
CASE IS = 4
|
||
|
truns(batSide) = truns(batSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 1
|
||
|
ball$(overBalls + 1) = "ONE WIDE"
|
||
|
extras(batSide) = extras(batSide) + 1
|
||
|
wides(batSide) = wides(batSide) + 1
|
||
|
CASE IS = 5
|
||
|
truns(batSide) = truns(batSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 1
|
||
|
ball$(overBalls + 1) = "ONE WIDE"
|
||
|
extras(batSide) = extras(batSide) + 1
|
||
|
wides(batSide) = wides(batSide) + 1
|
||
|
CASE IS = 6
|
||
|
truns(batSide) = truns(batSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 1
|
||
|
ball$(overBalls + 1) = "ONE WIDE"
|
||
|
extras(batSide) = extras(batSide) + 1
|
||
|
wides(batSide) = wides(batSide) + 1
|
||
|
END SELECT
|
||
|
IF extraChance < 7 THEN overExtras = overExtras + 1
|
||
|
IF extraChance < 7 THEN GOTO 150
|
||
|
|
||
|
190 SELECT CASE tt
|
||
|
CASE IS <= aa
|
||
|
truns(batSide) = truns(batSide) + 2
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 2
|
||
|
ball$(overBalls + 1) = "TWO RUNS"
|
||
|
IF strike = 1 THEN runs(bat1, batSide) = runs(bat1, batSide) + 2 ELSE runs(bat2, batSide) = runs(bat2, batSide) + 2
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
|
||
|
CASE IS = bb
|
||
|
truns(batSide) = truns(batSide) + 3
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 3
|
||
|
ball$(overBalls + 1) = "THREE RUNS"
|
||
|
IF strike = 1 THEN runs(bat1, batSide) = runs(bat1, batSide) + 3 ELSE runs(bat2, batSide) = runs(bat2, batSide) + 3
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
IF strike = 1 THEN strike = 2 ELSE strike = 1
|
||
|
|
||
|
CASE IS = cc
|
||
|
truns(batSide) = truns(batSide) + 6
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 6
|
||
|
ball$(overBalls + 1) = "SIX RUNS"
|
||
|
IF strike = 1 THEN runs(bat1, batSide) = runs(bat1, batSide) + 6 ELSE runs(bat2, batSide) = runs(bat2, batSide) + 6
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
|
||
|
CASE cc + 1 TO dd
|
||
|
truns(batSide) = truns(batSide) + 1
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 1
|
||
|
ball$(overBalls + 1) = "ONE RUN"
|
||
|
IF strike = 1 THEN runs(bat1, batSide) = runs(bat1, batSide) + 1 ELSE runs(bat2, batSide) = runs(bat2, batSide) + 1
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
IF strike = 1 THEN strike = 2 ELSE strike = 1
|
||
|
|
||
|
CASE dd + 1 TO ee
|
||
|
truns(batSide) = truns(batSide) + 4
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
r(bowler, bowlSide) = r(bowler, bowlSide) + 4
|
||
|
ball$(overBalls + 1) = "FOUR RUNS"
|
||
|
IF strike = 1 THEN runs(bat1, batSide) = runs(bat1, batSide) + 4 ELSE runs(bat2, batSide) = runs(bat2, batSide) + 4
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
|
||
|
CASE ELSE
|
||
|
tBalls(batSide) = tBalls(batSide) + 1
|
||
|
b(bowler, bowlSide) = b(bowler, bowlSide) + 1
|
||
|
ball$(overBalls + 1) = "NO RUN"
|
||
|
IF strike = 1 THEN balls(bat1, batSide) = balls(bat1, batSide) + 1 ELSE balls(bat2, batSide) = balls(bat2, batSide) + 1
|
||
|
END SELECT
|
||
|
|
||
|
150 SELECT CASE bowl(bowler, bowlSide)
|
||
|
CASE IS = 1
|
||
|
speed(overBalls + 1) = (rand(61) + 479) / 10
|
||
|
CASE IS = 2
|
||
|
speed(overBalls + 1) = (rand(61) + 479) / 10
|
||
|
CASE IS = 7
|
||
|
speed(overBalls + 1) = (rand(61) + 479) / 10
|
||
|
CASE IS = 8
|
||
|
speed(overBalls + 1) = (rand(61) + 479) / 10
|
||
|
CASE IS = 3
|
||
|
speed(overBalls + 1) = (rand(61) + 719) / 10
|
||
|
CASE IS = 9
|
||
|
speed(overBalls + 1) = (rand(61) + 719) / 10
|
||
|
CASE IS = 4
|
||
|
speed(overBalls + 1) = (rand(61) + 769) / 10
|
||
|
CASE IS = 10
|
||
|
speed(overBalls + 1) = (rand(61) + 769) / 10
|
||
|
CASE IS = 5
|
||
|
speed(overBalls + 1) = (rand(61) + 819) / 10
|
||
|
CASE IS = 11
|
||
|
speed(overBalls + 1) = (rand(61) + 819) / 10
|
||
|
CASE IS = 6
|
||
|
speed(overBalls + 1) = (rand(61) + 869) / 10
|
||
|
CASE IS = 12
|
||
|
speed(overBalls + 1) = (rand(61) + 869) / 10
|
||
|
END SELECT
|
||
|
|
||
|
IF o(bowler, bowlSide) = 0 AND overBalls = 0 THEN bowlers(bowlSide) = bowlers(bowlSide) + 1
|
||
|
IF o(bowler, bowlSide) = 0 AND overBalls = 0 THEN bowlChange(bowlers(bowlSide), bowlSide) = bowler
|
||
|
overBalls = overBalls + 1
|
||
|
delivery = 1
|
||
|
seconds = seconds + (rand(3) + 32)
|
||
|
SELECT CASE seconds
|
||
|
CASE IS >= 60
|
||
|
minutes = minutes + 1
|
||
|
seconds = seconds - 60
|
||
|
END SELECT
|
||
|
SELECT CASE minutes
|
||
|
CASE IS = 60
|
||
|
minutes = 0
|
||
|
hours = hours + 1
|
||
|
END SELECT
|
||
|
300 LOOP UNTIL finish > 0
|
||
|
NEXT innings
|
||
|
|
||
|
momDone = 0
|
||
|
eomc = 1
|
||
|
390 COLOR 11, 0
|
||
|
CLS
|
||
|
IF momDone = 1 THEN GOTO 370
|
||
|
FOR i = 1 TO 11
|
||
|
rc = 0
|
||
|
FOR j = 1 TO 11
|
||
|
IF runs(i, bowlSide) >= runs(j, bowlSide) THEN rc = rc + 1
|
||
|
NEXT j
|
||
|
IF rc = 11 THEN hrs = i
|
||
|
NEXT i
|
||
|
IF in(hrs, bowlSide) = 1 THEN asterisk$ = "*"
|
||
|
|
||
|
FOR i = 1 TO 11
|
||
|
rc = 0
|
||
|
FOR j = 1 TO 11
|
||
|
IF runs(i, batSide) >= runs(j, batSide) THEN rc = rc + 1
|
||
|
NEXT j
|
||
|
IF rc = 11 THEN hrs2 = i
|
||
|
NEXT i
|
||
|
IF in(hrs2, batSide) = 1 THEN asterisk2$ = "*"
|
||
|
|
||
|
IF tWickets(bowlSide) = 0 THEN GOTO 360
|
||
|
FOR i = 1 TO 11
|
||
|
wc = 0
|
||
|
FOR j = 1 TO 11
|
||
|
SELECT CASE w(i, batSide)
|
||
|
CASE IS > w(j, batSide)
|
||
|
wc = wc + 1
|
||
|
CASE IS = w(j, batSide)
|
||
|
IF r(i, batSide) <= r(j, batSide) THEN wc = wc + 1
|
||
|
END SELECT
|
||
|
NEXT j
|
||
|
IF wc = 11 THEN bbf = i
|
||
|
NEXT i
|
||
|
|
||
|
|
||
|
360 IF tWickets(batSide) = 0 THEN GOTO 370
|
||
|
FOR i = 1 TO 11
|
||
|
wc = 0
|
||
|
FOR j = 1 TO 11
|
||
|
SELECT CASE w(i, bowlSide)
|
||
|
CASE IS > w(j, bowlSide)
|
||
|
wc = wc + 1
|
||
|
CASE IS = w(j, bowlSide)
|
||
|
IF r(i, bowlSide) <= r(j, bowlSide) THEN wc = wc + 1
|
||
|
END SELECT
|
||
|
NEXT j
|
||
|
IF wc = 11 THEN bbf2 = i
|
||
|
NEXT i
|
||
|
370 momDone = 1
|
||
|
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 5, 3
|
||
|
PRINT team$(bowlSide)
|
||
|
LOCATE 5, 17
|
||
|
PRINT " "
|
||
|
LOCATE 5, 18
|
||
|
IF tWickets(bowlSide) = 10 THEN PRINT truns(bowlSide) ELSE PRINT truns(bowlSide); "-"; tWickets(bowlSide)
|
||
|
COLOR 3, 0
|
||
|
LOCATE 5, 36
|
||
|
PRINT player$(hrs, bowlSide); runs(hrs, bowlSide); asterisk$
|
||
|
LOCATE 5, 58
|
||
|
IF bbf = 0 THEN PRINT "" ELSE PRINT player$(bbf, batSide); w(bbf, batSide); "-"; r(bbf, batSide)
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 7, 3
|
||
|
PRINT team$(batSide)
|
||
|
LOCATE 7, 17
|
||
|
PRINT " "
|
||
|
LOCATE 7, 18
|
||
|
IF tWickets(batSide) = 10 THEN PRINT truns(batSide) ELSE PRINT truns(batSide); "-"; tWickets(batSide)
|
||
|
COLOR 3, 0
|
||
|
LOCATE 7, 36
|
||
|
PRINT player$(hrs2, batSide); runs(hrs2, batSide); asterisk2$
|
||
|
LOCATE 7, 58
|
||
|
IF bbf2 = 0 THEN PRINT "" ELSE PRINT player$(bbf2, bowlSide); w(bbf2, bowlSide); "-"; r(bbf2, bowlSide)
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 10, 3
|
||
|
SELECT CASE truns(batSide)
|
||
|
CASE IS > truns(bowlSide)
|
||
|
IF tWickets(batSide) = 9 THEN PRINT team$(batSide); " BEAT "; team$(bowlSide); " BY 1 WICKET" ELSE PRINT team$(batSide); " BEAT "; team$(bowlSide); " BY "; 10 - tWickets(batSide); " WICKETS"
|
||
|
winners = 1
|
||
|
CASE IS = truns(bowlSide)
|
||
|
PRINT team$(batSide); " TIED WITH "; team$(bowlSide)
|
||
|
winners = 1
|
||
|
CASE IS < truns(bowlSide)
|
||
|
PRINT team$(bowlSide); " BEAT "; team$(batSide); " BY "; truns(bowlSide) - truns(batSide); " RUNS"
|
||
|
winners = 2
|
||
|
END SELECT
|
||
|
|
||
|
LOCATE 26, 3
|
||
|
IF eomc = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "VIEW "; team$(bowlSide); " BATTING SCORECARD"
|
||
|
LOCATE 28, 3
|
||
|
IF eomc = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "VIEW "; team$(batSide); " BOWLING FIGURES"
|
||
|
LOCATE 30, 3
|
||
|
IF eomc = 3 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "VIEW "; team$(bowlSide); " MANHATTAN GRAPH"
|
||
|
LOCATE 34, 3
|
||
|
IF eomc = 4 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "VIEW "; team$(batSide); " BATTING SCORECARD"
|
||
|
LOCATE 36, 3
|
||
|
IF eomc = 5 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "VIEW "; team$(bowlSide); " BOWLING FIGURES"
|
||
|
LOCATE 38, 3
|
||
|
IF eomc = 6 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "VIEW "; team$(batSide); " MANHATTAN GRAPH"
|
||
|
LOCATE 42, 3
|
||
|
IF eomc = 7 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "VIEW ALL NATIONAL LEAGUE RESULTS"
|
||
|
|
||
|
380 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
eomc = eomc - 1
|
||
|
IF eomc < 1 THEN eomc = 7
|
||
|
GOTO 390
|
||
|
CASE IS = d$
|
||
|
eomc = eomc + 1
|
||
|
IF eomc > 7 THEN eomc = 1
|
||
|
GOTO 390
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 380
|
||
|
END SELECT
|
||
|
SELECT CASE eomc
|
||
|
CASE IS = 1
|
||
|
battingSide = bowlSide
|
||
|
CALL scorecard2
|
||
|
GOTO 390
|
||
|
CASE IS = 2
|
||
|
bowlingSide = batSide
|
||
|
battingSide = bowlSide
|
||
|
CALL figures2
|
||
|
GOTO 390
|
||
|
CASE IS = 3
|
||
|
battingSide = 1
|
||
|
CALL manhattan
|
||
|
GOTO 390
|
||
|
CASE IS = 4
|
||
|
battingSide = batSide
|
||
|
CALL scorecard2
|
||
|
GOTO 390
|
||
|
CASE IS = 5
|
||
|
bowlingSide = bowlSide
|
||
|
battingSide = batSide
|
||
|
CALL figures2
|
||
|
GOTO 390
|
||
|
CASE IS = 6
|
||
|
battingSide = 2
|
||
|
CALL manhattan
|
||
|
GOTO 390
|
||
|
CASE ELSE
|
||
|
END SELECT
|
||
|
|
||
|
FOR i = 1 TO 11
|
||
|
sm(i) = sm(i) + 1
|
||
|
sRuns(i) = sRuns(i) + runs(i, team)
|
||
|
IF in(i, team) < 2 THEN sInnings(i) = sInnings(i) + 1
|
||
|
IF in(i, team) = 0 THEN sOuts(i) = sOuts(i) + 1
|
||
|
IF runs(i, team) > hs(i) THEN hs(i) = runs(i, team)
|
||
|
sBalls(i) = sBalls(i) + balls(i, team)
|
||
|
|
||
|
IF b(i, team) = 0 THEN sOvers(i) = sOvers(i) + o(i, team) ELSE sOvers(i) = sOvers(i) + (o(i, team) + 1)
|
||
|
sWickets(i) = sWickets(i) + w(i, team)
|
||
|
sConceded(i) = sConceded(i) + r(i, team)
|
||
|
SELECT CASE w(i, team)
|
||
|
CASE IS > bbw(i)
|
||
|
bbw(i) = w(i, team)
|
||
|
bbr(i) = r(i, team)
|
||
|
CASE IS = bbw(i)
|
||
|
IF runs(i, team) < bbr(i) THEN bbw(i) = w(i, team)
|
||
|
IF runs(i, team) < bbr(i) THEN bbr(i) = r(i, team)
|
||
|
END SELECT
|
||
|
NEXT i
|
||
|
|
||
|
SELECT CASE truns(team)
|
||
|
CASE IS > truns(opponents)
|
||
|
fansRating = fansRating + 8
|
||
|
directorsRating = directorsRating + 4
|
||
|
CASE IS = truns(opponents)
|
||
|
fansRating = fansRating + 5
|
||
|
directorsRating = directorsRating + 1
|
||
|
CASE ELSE
|
||
|
fansRating = fansRating - 8
|
||
|
directorsRating = directorsRating - 4
|
||
|
END SELECT
|
||
|
|
||
|
420 CALL matchSimulator
|
||
|
END SUB
|
||
|
|
||
|
SUB matchSimulator
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 3
|
||
|
PRINT "WEEK "; week; " NATIONAL LEAGUE RESULTS"
|
||
|
FOR mn = 1 TO 9
|
||
|
COLOR 3, 0
|
||
|
myTeam = 0
|
||
|
IF fixture(1, mn, week) = team OR fixture(2, mn, week) = team THEN myTeam = 1
|
||
|
SELECT CASE myTeam
|
||
|
CASE IS = 1
|
||
|
COLOR 11, 0
|
||
|
LOCATE (mn * 2 + 8), 3
|
||
|
IF truns(batSide) > truns(bowlSide) THEN PRINT team$(batSide); " BEAT "; team$(bowlSide); " BY "; 10 - tWickets(batSide); " WICKETS"
|
||
|
IF truns(batSide) = truns(bowlSide) THEN PRINT team$(batSide); " TIED WITH "; team$(bowlSide)
|
||
|
IF truns(bowlSide) > truns(batSide) THEN PRINT team$(bowlSide); " BEAT "; team$(batSide); " BY "; truns(bowlSide) - truns(batSide); " RUNS"
|
||
|
|
||
|
played(batSide) = played(batSide) + 1
|
||
|
played(bowlSide) = played(bowlSide) + 1
|
||
|
SELECT CASE truns(batSide)
|
||
|
CASE IS > truns(bowlSide)
|
||
|
points(batSide) = points(batSide) + 4
|
||
|
wins(batSide) = wins(batSide) + 1
|
||
|
losses(bowlSide) = losses(bowlSide) + 1
|
||
|
CASE IS = truns(bowlSide)
|
||
|
points(batSide) = points(batSide) + 2
|
||
|
points(bowlSide) = points(bowlSide) + 2
|
||
|
ties(batSide) = ties(batSide) + 1
|
||
|
ties(bowlSide) = ties(bowlSide) + 1
|
||
|
CASE ELSE
|
||
|
points(bowlSide) = points(bowlSide) + 4
|
||
|
wins(bowlSide) = wins(bowlSide) + 1
|
||
|
losses(batSide) = losses(batSide) + 1
|
||
|
END SELECT
|
||
|
GOTO 430
|
||
|
END SELECT
|
||
|
|
||
|
team2 = fixture(1, mn, week)
|
||
|
opponents2 = fixture(2, mn, week)
|
||
|
|
||
|
totalRating = rating(team2) + rating(opponents2)
|
||
|
rtr = rand(totalRating)
|
||
|
SELECT CASE rtr
|
||
|
CASE IS <= rating(team2)
|
||
|
winners = team2
|
||
|
losers = opponents2
|
||
|
CASE ELSE
|
||
|
winners = opponents2
|
||
|
losers = team2
|
||
|
END SELECT
|
||
|
|
||
|
fb = rand(2)
|
||
|
SELECT CASE fb
|
||
|
CASE IS = 1
|
||
|
margain = rand(10)
|
||
|
LOCATE (mn * 2 + 8), 3
|
||
|
IF margain = 1 THEN PRINT team$(winners); " BEAT "; team$(losers); " BY 1 WICKET" ELSE PRINT team$(winners); " BEAT "; team$(losers); " BY "; margain; " WICKETS"
|
||
|
CASE IS = 2
|
||
|
margain = rand(100) + 1
|
||
|
LOCATE (mn * 2 + 8), 3
|
||
|
PRINT team$(winners); " BEAT "; team$(losers); " BY "; margain; " RUNS"
|
||
|
END SELECT
|
||
|
|
||
|
wins(winners) = wins(winners) + 1
|
||
|
losses(losers) = losses(losers) + 1
|
||
|
played(winners) = played(winners) + 1
|
||
|
played(losers) = played(losers) + 1
|
||
|
points(winners) = points(winners) + 4
|
||
|
430 NEXT mn
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SUB
|
||
|
|
||
|
SUB playerSalary
|
||
|
2900 pco = 1
|
||
|
2400 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 5
|
||
|
PRINT "FINANCE - PLAYER SALARIES"
|
||
|
|
||
|
FOR i = 1 TO 18
|
||
|
IF pco = i THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE (i * 2 + 8), 5
|
||
|
PRINT player$(i, team)
|
||
|
NEXT i
|
||
|
IF pco = 19 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE 46, 5
|
||
|
PRINT "Go Back to Finance Menu"
|
||
|
|
||
|
2300 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
pco = pco - 1
|
||
|
IF pco < 1 THEN pco = 19
|
||
|
GOTO 2400
|
||
|
CASE IS = d$
|
||
|
pco = pco + 1
|
||
|
IF pco > 19 THEN pco = 1
|
||
|
GOTO 2400
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 2300
|
||
|
END SELECT
|
||
|
IF pco = 19 THEN GOTO 2500
|
||
|
|
||
|
2700 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 5
|
||
|
PRINT "FINANCE - PLAYER SALARIES"
|
||
|
LOCATE 10, 5
|
||
|
PRINT player$(pco, team)
|
||
|
LOCATE 12, 5
|
||
|
PRINT "Weekly wage: "; salary(pco, team); " pounds "; CHR$(17); " "; CHR$(16)
|
||
|
LOCATE 20, 5
|
||
|
PRINT "Press RETURN to go back to the Player Salaries Menu"
|
||
|
|
||
|
2600 SELECT CASE INKEY$
|
||
|
CASE IS = r$
|
||
|
salary(pco, team) = salary(pco, team) + 100
|
||
|
IF salary(pco, team) <= 6000 THEN morale(pco) = morale(pco) + rand(2)
|
||
|
IF salary(pco, team) > 6000 THEN salary(pco, team) = 6000
|
||
|
GOTO 2700
|
||
|
CASE IS = l$
|
||
|
salary(pco, team) = salary(pco, team) - 100
|
||
|
IF salary(pco, team) >= 1000 THEN morale(pco) = morale(pco) - rand(2)
|
||
|
IF salary(pco, team) < 1000 THEN salary(pco, team) = 1000
|
||
|
GOTO 2700
|
||
|
CASE IS = CHR$(13)
|
||
|
GOTO 2800
|
||
|
CASE ELSE
|
||
|
GOTO 2600
|
||
|
END SELECT
|
||
|
2800 GOTO 2900
|
||
|
2500 END SUB
|
||
|
|
||
|
FUNCTION rand (c)
|
||
|
RANDOMIZE TIMER
|
||
|
rand = INT(c * RND(1)) + 1
|
||
|
END FUNCTION
|
||
|
|
||
|
SUB saveGame
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
oss = 1
|
||
|
|
||
|
960 FOR i = 1 TO 5
|
||
|
IF oss = i THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE (i * 2 + 6), 5
|
||
|
PRINT "SAVE GAME TO FILE "; i
|
||
|
NEXT i
|
||
|
IF oss = 6 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
LOCATE 18, 5
|
||
|
PRINT "GO BACK TO OPTIONS"
|
||
|
|
||
|
950 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
oss = oss - 1
|
||
|
IF oss < 1 THEN oss = 6
|
||
|
GOTO 960
|
||
|
CASE IS = d$
|
||
|
oss = oss + 1
|
||
|
IF oss > 6 THEN oss = 1
|
||
|
GOTO 960
|
||
|
CASE IS = CHR$(13)
|
||
|
CASE ELSE
|
||
|
GOTO 950
|
||
|
END SELECT
|
||
|
|
||
|
SELECT CASE oss
|
||
|
CASE IS = 6
|
||
|
CASE ELSE
|
||
|
IF oss = 1 THEN fi$ = "file1.txt"
|
||
|
IF oss = 2 THEN fi$ = "file2.txt"
|
||
|
IF oss = 3 THEN fi$ = "file3.txt"
|
||
|
IF oss = 4 THEN fi$ = "file4.txt"
|
||
|
IF oss = 5 THEN fi$ = "file5.txt"
|
||
|
|
||
|
OPEN fi$ FOR OUTPUT AS #1
|
||
|
PRINT #1, team
|
||
|
PRINT #1, name$
|
||
|
PRINT #1, week
|
||
|
PRINT #1, year
|
||
|
PRINT #1, fansRating
|
||
|
PRINT #1, directorsRating
|
||
|
FOR i = 1 TO 18
|
||
|
PRINT #1, sm(i)
|
||
|
PRINT #1, sInnings(i)
|
||
|
PRINT #1, sRuns(i)
|
||
|
PRINT #1, sOuts(i)
|
||
|
PRINT #1, hs(i)
|
||
|
PRINT #1, sBalls(i)
|
||
|
PRINT #1, sOvers(i)
|
||
|
PRINT #1, sWickets(i)
|
||
|
PRINT #1, sConceded(i)
|
||
|
PRINT #1, bbw(i)
|
||
|
PRINT #1, bbr(i)
|
||
|
PRINT #1, iWeeks(i)
|
||
|
PRINT #1, duty(i)
|
||
|
PRINT #1, morale(i)
|
||
|
NEXT i
|
||
|
FOR i = 1 TO 19
|
||
|
PRINT #1, team$(i)
|
||
|
PRINT #1, rating(i)
|
||
|
PRINT #1, shirt1(i)
|
||
|
PRINT #1, shirt2(i)
|
||
|
PRINT #1, trousers1(i)
|
||
|
PRINT #1, trousers2(i)
|
||
|
PRINT #1, cs(i)
|
||
|
PRINT #1, wk(i)
|
||
|
PRINT #1, cp(i)
|
||
|
PRINT #1, ob1(i)
|
||
|
PRINT #1, ob2(i)
|
||
|
PRINT #1, overSeas1(i)
|
||
|
PRINT #1, overSeas2(i)
|
||
|
FOR j = 1 TO 18
|
||
|
PRINT #1, player$(j, i)
|
||
|
PRINT #1, gb(j, i)
|
||
|
PRINT #1, rs(j, i)
|
||
|
PRINT #1, wt(j, i)
|
||
|
PRINT #1, eb(j, i)
|
||
|
PRINT #1, ba(j, i)
|
||
|
PRINT #1, fa(j, i)
|
||
|
PRINT #1, bat(j, i)
|
||
|
PRINT #1, bowl(j, i)
|
||
|
PRINT #1, wicketKeeper(j, i)
|
||
|
PRINT #1, peak(j, i)
|
||
|
PRINT #1, international(j, i)
|
||
|
PRINT #1, salary(j, i)
|
||
|
NEXT j
|
||
|
PRINT #1, points(i)
|
||
|
PRINT #1, wins(i)
|
||
|
PRINT #1, ties(i)
|
||
|
PRINT #1, losses(i)
|
||
|
PRINT #1, played(i)
|
||
|
NEXT i
|
||
|
CLOSE
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 20, 20
|
||
|
PRINT "GAME SAVED SUCCESFULLY TO FILE "; oss
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SELECT
|
||
|
END SUB
|
||
|
|
||
|
SUB scorecard
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 4
|
||
|
PRINT team$(batSide)
|
||
|
|
||
|
FOR i = 1 TO 11
|
||
|
SELECT CASE in(i, batSide)
|
||
|
CASE IS = 1
|
||
|
howOut1$(i, batSide) = "not out"
|
||
|
COLOR 11, 0
|
||
|
CASE ELSE
|
||
|
IF howOut1$(i, batSide) = "not out" THEN howOut1$(i, batSide) = ""
|
||
|
COLOR 3, 0
|
||
|
END SELECT
|
||
|
|
||
|
LOCATE 2 + (i * 2), 4
|
||
|
PRINT player$(i, batSide)
|
||
|
LOCATE 2 + (i * 2), 23
|
||
|
PRINT howOut1$(i, batSide)
|
||
|
LOCATE 2 + (i * 2), 26
|
||
|
PRINT howOut2$(i, batSide)
|
||
|
LOCATE 2 + (i * 2), 44
|
||
|
PRINT howOut3$(i, batSide)
|
||
|
LOCATE 2 + (i * 2), 47
|
||
|
PRINT howOut4$(i, batSide)
|
||
|
LOCATE 2 + (i * 2), 67
|
||
|
PRINT runs(i, batSide)
|
||
|
LOCATE 2 + (i * 2), 72
|
||
|
PRINT "("; balls(i, batSide); ")"
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 27, 4
|
||
|
PRINT "Extras: "; extras(batSide); " (w"; wides(batSide); ", nb"; noBalls(batSide); ", b"; byes(batSide); ", lb"; legByes(batSide); ")"
|
||
|
LOCATE 30, 4
|
||
|
PRINT "Total, after "; tovers(batSide); "."; tBalls(batSide); " overs,"
|
||
|
LOCATE 30, 67
|
||
|
PRINT truns(batSide); "-"; tWickets(batSide)
|
||
|
|
||
|
LOCATE 48, 27
|
||
|
COLOR 3, 0
|
||
|
PRINT " MAIN MENU "
|
||
|
LOCATE 48, 4
|
||
|
COLOR 0, 3
|
||
|
PRINT " BATTING SCORECARD "
|
||
|
LOCATE 48, 50
|
||
|
COLOR 3, 0
|
||
|
PRINT " BOWLING FIGURES "
|
||
|
COLOR 0, 3
|
||
|
LOCATE 46, 37
|
||
|
PRINT CHR$(17); " "; CHR$(16)
|
||
|
|
||
|
180 SELECT CASE INKEY$
|
||
|
CASE IS = r$
|
||
|
CASE ELSE
|
||
|
GOTO 180
|
||
|
END SELECT
|
||
|
END SUB
|
||
|
|
||
|
SUB scorecard2
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 4
|
||
|
PRINT team$(battingSide)
|
||
|
|
||
|
FOR i = 1 TO 11
|
||
|
SELECT CASE in(i, battingSide)
|
||
|
CASE IS = 1
|
||
|
howOut1$(i, battingSide) = "not out"
|
||
|
COLOR 11, 0
|
||
|
CASE ELSE
|
||
|
IF howOut1$(i, battingSide) = "not out" THEN howOut1$(i, battingSide) = ""
|
||
|
COLOR 3, 0
|
||
|
END SELECT
|
||
|
|
||
|
LOCATE 2 + (i * 2), 4
|
||
|
PRINT player$(i, battingSide)
|
||
|
LOCATE 2 + (i * 2), 23
|
||
|
PRINT howOut1$(i, battingSide)
|
||
|
LOCATE 2 + (i * 2), 26
|
||
|
PRINT howOut2$(i, battingSide)
|
||
|
LOCATE 2 + (i * 2), 44
|
||
|
PRINT howOut3$(i, battingSide)
|
||
|
LOCATE 2 + (i * 2), 47
|
||
|
PRINT howOut4$(i, battingSide)
|
||
|
LOCATE 2 + (i * 2), 67
|
||
|
PRINT runs(i, battingSide)
|
||
|
LOCATE 2 + (i * 2), 72
|
||
|
PRINT "("; balls(i, battingSide); ")"
|
||
|
NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 27, 4
|
||
|
PRINT "Extras: "; extras(battingSide); " (w"; wides(battingSide); ", nb"; noBalls(battingSide); ", b"; byes(battingSide); ", lb"; legByes(battingSide); ")"
|
||
|
LOCATE 30, 4
|
||
|
PRINT "Total, after "; tovers(battingSide); "."; tBalls(battingSide); " overs,"
|
||
|
LOCATE 30, 67
|
||
|
PRINT truns(battingSide); "-"; tWickets(battingSide)
|
||
|
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SUB
|
||
|
|
||
|
SUB statistics
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
|
||
|
FOR i = 1 TO 18
|
||
|
batAve(i) = 0
|
||
|
bowlAve(i) = 0
|
||
|
strRte(i) = 0
|
||
|
ecnRte(i) = 0
|
||
|
IF sRuns(i) = 0 OR sOuts(i) = 0 THEN GOTO 700
|
||
|
batAve(i) = INT(sRuns(i) / sOuts(i) * 10) / 10
|
||
|
700 IF sConceded(i) = 0 OR sWickets(i) = 0 THEN GOTO 710
|
||
|
bowlAve(i) = INT(sConceded(i) / sWickets(i) * 10) / 10
|
||
|
710 IF sRuns(i) = 0 OR sBalls(i) = 0 THEN GOTO 720
|
||
|
strRte(i) = INT(sRuns(i) / sBalls(i) * 1000) / 10
|
||
|
720 IF sConceded(i) = 0 OR sOvers(i) = 0 THEN GOTO 730
|
||
|
ecnRte(i) = INT(sConceded(i) / sOvers(i) * 10) / 10
|
||
|
730 NEXT i
|
||
|
|
||
|
COLOR 11, 0
|
||
|
LOCATE 8, 5
|
||
|
PRINT "Name"
|
||
|
LOCATE 8, 23
|
||
|
PRINT " Mtc"
|
||
|
LOCATE 8, 28
|
||
|
PRINT "Inn"
|
||
|
LOCATE 8, 32
|
||
|
PRINT "Run"
|
||
|
LOCATE 8, 36
|
||
|
PRINT "HSc"
|
||
|
LOCATE 8, 40
|
||
|
PRINT "StrRt"
|
||
|
LOCATE 8, 47
|
||
|
PRINT "BatAv"
|
||
|
LOCATE 8, 54
|
||
|
PRINT "Wkt"
|
||
|
LOCATE 8, 58
|
||
|
PRINT "BBF"
|
||
|
LOCATE 8, 66
|
||
|
PRINT "EcnRt"
|
||
|
LOCATE 8, 73
|
||
|
PRINT "BwlAv"
|
||
|
|
||
|
FOR i = 1 TO 18
|
||
|
IF i = 1 OR i = 3 OR i = 5 OR i = 7 OR i = 9 OR i = 11 OR i = 13 OR i = 15 OR i = 17 THEN COLOR 3, 0 ELSE COLOR 9, 0
|
||
|
LOCATE (i * 2 + 8), 5
|
||
|
PRINT player$(i, team)
|
||
|
LOCATE (i * 2 + 8), 23
|
||
|
PRINT sm(i)
|
||
|
LOCATE (i * 2 + 8), 27
|
||
|
PRINT sInnings(i)
|
||
|
LOCATE (i * 2 + 8), 31
|
||
|
PRINT sRuns(i)
|
||
|
LOCATE (i * 2 + 8), 35
|
||
|
PRINT hs(i)
|
||
|
LOCATE (i * 2 + 8), 39
|
||
|
PRINT strRte(i)
|
||
|
LOCATE (i * 2 + 8), 46
|
||
|
PRINT batAve(i)
|
||
|
LOCATE (i * 2 + 8), 53
|
||
|
PRINT sWickets(i)
|
||
|
LOCATE (i * 2 + 8), 57
|
||
|
PRINT bbw(i)
|
||
|
LOCATE (i * 2 + 8), 60
|
||
|
PRINT "-"
|
||
|
LOCATE (i * 2 + 8), 61
|
||
|
PRINT bbr(i)
|
||
|
LOCATE (i * 2 + 8), 65
|
||
|
PRINT ecnRte(i)
|
||
|
LOCATE (i * 2 + 8), 72
|
||
|
PRINT bowlAve(i)
|
||
|
NEXT i
|
||
|
|
||
|
DO
|
||
|
LOOP UNTIL INKEY$ = CHR$(13)
|
||
|
END SUB
|
||
|
|
||
|
SUB teamSheet
|
||
|
480 dd = 0
|
||
|
ps = 1
|
||
|
ac = 1
|
||
|
so = 1
|
||
|
|
||
|
tos = 1
|
||
|
50 COLOR 11, 0
|
||
|
CLS
|
||
|
350 COLOR 11, 0
|
||
|
IF dd = 0 THEN GOTO 10000
|
||
|
FOR i = 1 TO 18
|
||
|
LOCATE i + 12, 1
|
||
|
IF i <> ps THEN PRINT " " ELSE PRINT CHR$(16)
|
||
|
NEXT i
|
||
|
|
||
|
10000 LOCATE 2, 3
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
COLOR 11, 0
|
||
|
LOCATE 10, 3
|
||
|
PRINT "NO"
|
||
|
LOCATE 10, 6
|
||
|
PRINT "NAME"
|
||
|
LOCATE 10, 22
|
||
|
PRINT "RLE"
|
||
|
LOCATE 10, 27
|
||
|
PRINT "BAT"
|
||
|
LOCATE 10, 32
|
||
|
PRINT "BWL"
|
||
|
LOCATE 10, 36
|
||
|
PRINT "ABILITY"
|
||
|
LOCATE 7, 3
|
||
|
PRINT CHR$(29); " ABILITY ATTRIBUTE: "; attribute$(ac); " "; CHR$(17); " "; CHR$(16)
|
||
|
|
||
|
FOR i = 1 TO 18
|
||
|
SELECT CASE ac
|
||
|
CASE IS = 1
|
||
|
attribute = gb(i, team)
|
||
|
CASE IS = 2
|
||
|
attribute = rs(i, team)
|
||
|
CASE IS = 3
|
||
|
attribute = wt(i, team)
|
||
|
CASE IS = 4
|
||
|
attribute = eb(i, team)
|
||
|
CASE IS = 5
|
||
|
attribute = fa(i, team)
|
||
|
CASE IS = 6
|
||
|
attribute = morale(i)
|
||
|
END SELECT
|
||
|
|
||
|
COLOR 7, 4
|
||
|
LOCATE i + 12, 3
|
||
|
IF duty(i) > 0 THEN PRINT "I"
|
||
|
IF duty(i) > 0 THEN GOTO 5000
|
||
|
COLOR 4, 7
|
||
|
LOCATE i + 12, 3
|
||
|
IF iWeeks(i) > 0 THEN PRINT "+"
|
||
|
5000 IF i = 1 OR i = 3 OR i = 5 OR i = 7 OR i = 9 OR i = 11 THEN COLOR 3, 0
|
||
|
IF i = 2 OR i = 4 OR i = 6 OR i = 8 OR i = 10 THEN COLOR 9, 0
|
||
|
IF i = 12 OR i = 14 OR i = 16 OR i = 18 THEN COLOR 10, 0
|
||
|
IF i = 13 OR i = 15 OR i = 17 THEN COLOR 2, 0
|
||
|
IF iWeeks(i) > 0 THEN GOTO 3100
|
||
|
IF duty(i) > 0 THEN GOTO 3100
|
||
|
LOCATE i + 12, 2
|
||
|
IF i < 12 THEN PRINT i
|
||
|
LOCATE i + 12, 3
|
||
|
IF i > 11 THEN PRINT "R"
|
||
|
3100 LOCATE i + 12, 6
|
||
|
PRINT player$(i, team)
|
||
|
IF ob1(team) = i OR ob2(team) = i OR wk(team) = i THEN LOCATE i + 12, 24 ELSE LOCATE i + 12, 23
|
||
|
COLOR 7, 1
|
||
|
IF cp(team) = i THEN PRINT "C"
|
||
|
LOCATE i + 12, 23
|
||
|
COLOR 7, 4
|
||
|
IF ob1(team) = i THEN PRINT "1"
|
||
|
IF ob2(team) = i THEN PRINT "2"
|
||
|
COLOR 7, 6
|
||
|
IF wk(team) = i THEN PRINT "W"
|
||
|
IF i = 1 OR i = 3 OR i = 5 OR i = 7 OR i = 9 OR i = 11 THEN COLOR 3, 0
|
||
|
IF i = 2 OR i = 4 OR i = 6 OR i = 8 OR i = 10 THEN COLOR 9, 0
|
||
|
IF i = 12 OR i = 14 OR i = 16 OR i = 18 THEN COLOR 10, 0
|
||
|
IF i = 13 OR i = 15 OR i = 17 THEN COLOR 2, 0
|
||
|
LOCATE i + 12, 27
|
||
|
PRINT bat$(bat(i, team))
|
||
|
LOCATE i + 12, 32
|
||
|
PRINT bowl$(bowl(i, team))
|
||
|
|
||
|
LOCATE i + 12, 36
|
||
|
PRINT CHR$(219)
|
||
|
l = 36
|
||
|
u = 0
|
||
|
FOR j = 10 TO 95
|
||
|
u = u + 1
|
||
|
IF u = 3 THEN u = 1
|
||
|
IF u = 1 THEN l = l + 1
|
||
|
LOCATE i + 12, l
|
||
|
SELECT CASE u
|
||
|
CASE IS = 1
|
||
|
IF attribute >= j THEN PRINT CHR$(221) ELSE PRINT " "
|
||
|
CASE IS = 2
|
||
|
IF attribute >= j THEN PRINT CHR$(219) ELSE PRINT " "
|
||
|
END SELECT
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
LOCATE 34, 3
|
||
|
IF tos = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Swap Players"
|
||
|
LOCATE 36, 3
|
||
|
IF tos = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Change Captain"
|
||
|
LOCATE 38, 3
|
||
|
IF tos = 3 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Change Wicketkeeper"
|
||
|
LOCATE 40, 3
|
||
|
IF tos = 4 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Change Opening Bowler 1"
|
||
|
LOCATE 42, 3
|
||
|
IF tos = 5 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Change Opening Bowler 2"
|
||
|
LOCATE 44, 3
|
||
|
IF tos = 6 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Back to Main Menu"
|
||
|
|
||
|
60 SELECT CASE INKEY$
|
||
|
CASE IS = r$
|
||
|
ac = ac + 1
|
||
|
IF ac > 6 THEN ac = 1
|
||
|
GOTO 350
|
||
|
CASE IS = l$
|
||
|
ac = ac - 1
|
||
|
IF ac < 1 THEN ac = 6
|
||
|
GOTO 350
|
||
|
CASE IS = u$
|
||
|
IF dd = 0 THEN tos = tos - 1 ELSE ps = ps - 1
|
||
|
IF tos < 1 THEN tos = 6
|
||
|
IF ps < 1 THEN ps = 18
|
||
|
GOTO 350
|
||
|
CASE IS = d$
|
||
|
IF dd = 0 THEN tos = tos + 1 ELSE ps = ps + 1
|
||
|
IF tos > 6 THEN tos = 1
|
||
|
IF ps > 18 THEN ps = 1
|
||
|
GOTO 350
|
||
|
CASE IS = CHR$(13)
|
||
|
SELECT CASE dd
|
||
|
CASE IS = 0
|
||
|
dd = 1
|
||
|
IF tos = 6 THEN GOTO 450
|
||
|
GOTO 50
|
||
|
CASE IS = 1
|
||
|
IF tos = 1 THEN GOTO 2070
|
||
|
IF tos = 1 THEN dd = 0
|
||
|
IF tos = 2 AND ps < 12 THEN cp(team) = ps
|
||
|
IF tos = 2 AND ps < 12 THEN dd = 0
|
||
|
IF tos = 3 AND ps < 12 AND ob1(team) <> ps AND ob2(team) <> ps THEN wk(team) = ps
|
||
|
IF tos = 3 AND ps < 12 AND ob1(team) <> ps AND ob2(team) <> ps THEN dd = 0
|
||
|
IF tos = 4 AND ps < 12 AND ob2(team) <> ps AND wk(team) <> ps AND bowl(ps, team) <> 13 THEN ob1(team) = ps
|
||
|
IF tos = 4 AND ps < 12 AND ob2(team) <> ps AND wk(team) <> ps AND bowl(ps, team) <> 13 THEN dd = 0
|
||
|
IF tos = 5 AND ps < 12 AND wk(team) <> ps AND ob1(team) <> ps AND bowl(ps, team) <> 13 THEN ob2(team) = ps
|
||
|
IF tos = 5 AND ps < 12 AND wk(team) <> ps AND ob1(team) <> ps AND bowl(ps, team) <> 13 THEN dd = 0
|
||
|
IF dd = 0 THEN ps = 1
|
||
|
GOTO 50
|
||
|
END SELECT
|
||
|
CASE ELSE
|
||
|
GOTO 60
|
||
|
END SELECT
|
||
|
|
||
|
2070 ps2 = 1
|
||
|
dd = 1
|
||
|
COLOR 3, 0
|
||
|
CLS
|
||
|
2050 FOR i = 1 TO 18
|
||
|
COLOR 3, 0
|
||
|
LOCATE i + 12, 1
|
||
|
IF i = ps2 THEN PRINT CHR$(16)
|
||
|
COLOR 11, 0
|
||
|
LOCATE i + 12, 1
|
||
|
IF i = ps THEN PRINT CHR$(16)
|
||
|
LOCATE i + 12, 1
|
||
|
IF i <> ps AND i <> ps2 THEN PRINT " "
|
||
|
NEXT i
|
||
|
|
||
|
LOCATE 2, 3
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
COLOR 11, 0
|
||
|
LOCATE 10, 3
|
||
|
PRINT "NO"
|
||
|
LOCATE 10, 6
|
||
|
PRINT "NAME"
|
||
|
LOCATE 10, 22
|
||
|
PRINT "RLE"
|
||
|
LOCATE 10, 27
|
||
|
PRINT "BAT"
|
||
|
LOCATE 10, 32
|
||
|
PRINT "BWL"
|
||
|
LOCATE 10, 36
|
||
|
PRINT "ABILITY"
|
||
|
LOCATE 7, 3
|
||
|
PRINT CHR$(29); " ABILITY ATTRIBUTE: "; attribute$(ac); " "; CHR$(17); " "; CHR$(16)
|
||
|
|
||
|
FOR i = 1 TO 18
|
||
|
SELECT CASE ac
|
||
|
CASE IS = 1
|
||
|
attribute = gb(i, team)
|
||
|
CASE IS = 2
|
||
|
attribute = rs(i, team)
|
||
|
CASE IS = 3
|
||
|
attribute = wt(i, team)
|
||
|
CASE IS = 4
|
||
|
attribute = eb(i, team)
|
||
|
CASE IS = 5
|
||
|
attribute = fa(i, team)
|
||
|
CASE IS = 6
|
||
|
attribute = morale(i)
|
||
|
END SELECT
|
||
|
|
||
|
COLOR 7, 4
|
||
|
LOCATE i + 12, 3
|
||
|
IF duty(i) > 0 THEN PRINT "I"
|
||
|
IF duty(i) > 0 THEN GOTO 5100
|
||
|
COLOR 4, 7
|
||
|
LOCATE i + 12, 3
|
||
|
IF iWeeks(i) > 0 THEN PRINT "+"
|
||
|
5100 IF i = 1 OR i = 3 OR i = 5 OR i = 7 OR i = 9 OR i = 11 THEN COLOR 3, 0
|
||
|
IF i = 2 OR i = 4 OR i = 6 OR i = 8 OR i = 10 THEN COLOR 9, 0
|
||
|
IF i = 12 OR i = 14 OR i = 16 OR i = 18 THEN COLOR 10, 0
|
||
|
IF i = 13 OR i = 15 OR i = 17 THEN COLOR 2, 0
|
||
|
IF iWeeks(i) > 0 THEN GOTO 3200
|
||
|
IF duty(i) > 0 THEN GOTO 3200
|
||
|
LOCATE i + 12, 2
|
||
|
IF i < 12 THEN PRINT i
|
||
|
LOCATE i + 12, 3
|
||
|
IF i > 11 THEN PRINT "R"
|
||
|
3200 LOCATE i + 12, 6
|
||
|
PRINT player$(i, team)
|
||
|
IF ob1(team) = i OR ob2(team) = i OR wk(team) = i THEN LOCATE i + 12, 24 ELSE LOCATE i + 12, 23
|
||
|
COLOR 7, 1
|
||
|
IF cp(team) = i THEN PRINT "C"
|
||
|
LOCATE i + 12, 23
|
||
|
COLOR 7, 4
|
||
|
IF ob1(team) = i THEN PRINT "1"
|
||
|
IF ob2(team) = i THEN PRINT "2"
|
||
|
COLOR 7, 6
|
||
|
IF wk(team) = i THEN PRINT "W"
|
||
|
IF i = 1 OR i = 3 OR i = 5 OR i = 7 OR i = 9 OR i = 11 THEN COLOR 3, 0
|
||
|
IF i = 2 OR i = 4 OR i = 6 OR i = 8 OR i = 10 THEN COLOR 9, 0
|
||
|
IF i = 12 OR i = 14 OR i = 16 OR i = 18 THEN COLOR 10, 0
|
||
|
IF i = 13 OR i = 15 OR i = 17 THEN COLOR 2, 0
|
||
|
LOCATE i + 12, 27
|
||
|
PRINT bat$(bat(i, team))
|
||
|
LOCATE i + 12, 32
|
||
|
PRINT bowl$(bowl(i, team))
|
||
|
|
||
|
LOCATE i + 12, 36
|
||
|
PRINT CHR$(219)
|
||
|
l = 36
|
||
|
u = 0
|
||
|
FOR j = 10 TO 95
|
||
|
u = u + 1
|
||
|
IF u = 3 THEN u = 1
|
||
|
IF u = 1 THEN l = l + 1
|
||
|
LOCATE i + 12, l
|
||
|
SELECT CASE u
|
||
|
CASE IS = 1
|
||
|
IF attribute >= j THEN PRINT CHR$(221) ELSE PRINT " "
|
||
|
CASE IS = 2
|
||
|
IF attribute >= j THEN PRINT CHR$(219) ELSE PRINT " "
|
||
|
END SELECT
|
||
|
NEXT j
|
||
|
NEXT i
|
||
|
|
||
|
LOCATE 34, 3
|
||
|
IF tos = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Swap Players"
|
||
|
LOCATE 36, 3
|
||
|
IF tos = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Change Captain"
|
||
|
LOCATE 38, 3
|
||
|
IF tos = 3 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Change Wicketkeeper"
|
||
|
LOCATE 40, 3
|
||
|
IF tos = 4 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Change Opening Bowler 1"
|
||
|
LOCATE 42, 3
|
||
|
IF tos = 5 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Change Opening Bowler 2"
|
||
|
LOCATE 44, 3
|
||
|
IF tos = 6 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Back to Main Menu"
|
||
|
|
||
|
2060 dd = 1
|
||
|
SELECT CASE INKEY$
|
||
|
CASE IS = r$
|
||
|
ac = ac + 1
|
||
|
IF ac > 6 THEN ac = 1
|
||
|
GOTO 2050
|
||
|
CASE IS = l$
|
||
|
ac = ac - 1
|
||
|
IF ac < 1 THEN ac = 6
|
||
|
GOTO 2050
|
||
|
CASE IS = u$
|
||
|
IF dd = 0 THEN tos = tos - 1 ELSE ps2 = ps2 - 1
|
||
|
IF tos < 1 THEN tos = 6
|
||
|
IF ps2 < 1 THEN ps2 = 18
|
||
|
GOTO 2050
|
||
|
CASE IS = d$
|
||
|
IF dd = 0 THEN tos = tos + 1 ELSE ps2 = ps2 + 1
|
||
|
IF tos > 6 THEN tos = 1
|
||
|
IF ps2 > 18 THEN ps2 = 1
|
||
|
GOTO 2050
|
||
|
CASE IS = CHR$(13)
|
||
|
SELECT CASE dd
|
||
|
CASE IS = 0
|
||
|
dd = 1
|
||
|
GOTO 2050
|
||
|
CASE IS = 1
|
||
|
IF tos = 1 THEN GOTO 4600
|
||
|
IF tos = 1 THEN dd = 0
|
||
|
IF tos = 2 AND ps2 < 12 THEN cp(team) = ps2
|
||
|
IF tos = 2 AND ps2 < 12 THEN dd = 0
|
||
|
IF tos = 3 AND ps2 < 12 AND ob1(team) <> ps2 AND ob2(team) <> ps2 THEN wk(team) = ps2
|
||
|
IF tos = 3 AND ps2 < 12 AND ob1(team) <> ps2 AND ob2(team) <> ps2 THEN dd = 0
|
||
|
IF tos = 4 AND ps2 < 12 AND ob2(team) <> ps2 AND wk(team) <> ps2 THEN ob1(team) = ps2
|
||
|
IF tos = 4 AND ps2 < 12 AND ob2(team) <> ps2 AND wk(team) <> ps2 THEN dd = 0
|
||
|
IF tos = 5 AND ps2 < 12 AND wk(team) <> ps2 AND ob1(team) <> ps2 THEN ob2(team) = ps2
|
||
|
IF tos = 5 AND ps2 < 12 AND wk(team) <> ps2 AND ob1(team) <> ps2 THEN dd = 0
|
||
|
IF dd = 0 THEN ps2 = 1
|
||
|
GOTO 2050
|
||
|
END SELECT
|
||
|
CASE ELSE
|
||
|
GOTO 2060
|
||
|
END SELECT
|
||
|
|
||
|
|
||
|
4600 player2$ = player$(ps2, team)
|
||
|
gb2 = gb(ps2, team)
|
||
|
rs2 = rs(ps2, team)
|
||
|
eb2 = eb(ps2, team)
|
||
|
wt2 = wt(ps2, team)
|
||
|
ba2 = ba(ps2, team)
|
||
|
fa2 = fa(ps2, team)
|
||
|
bat2 = bat(ps2, team)
|
||
|
bowl2 = bowl(ps2, team)
|
||
|
wicketKeeper2 = wicketKeeper(ps2, team)
|
||
|
international2 = international(ps2, team)
|
||
|
salary2 = salary(ps2, team)
|
||
|
peak2 = peak(ps2, team)
|
||
|
sm2 = sm(ps2)
|
||
|
sInnings2 = sInnings(ps2)
|
||
|
sRuns2 = sRuns(ps2)
|
||
|
sOuts2 = sOuts(ps2)
|
||
|
hs2 = hs(ps2)
|
||
|
sBalls2 = sBalls(ps2)
|
||
|
sWickets2 = sWickets(ps2)
|
||
|
bbw2 = bbw(ps2)
|
||
|
bbr2 = bbr(ps2)
|
||
|
sOvers2 = sOvers(ps2)
|
||
|
sConceded2 = sConceded(ps2)
|
||
|
morale2 = morale(ps2)
|
||
|
iWeeks2 = iWeeks(ps2)
|
||
|
duty2 = duty(ps2)
|
||
|
|
||
|
player$(ps2, team) = player$(ps, team)
|
||
|
gb(ps2, team) = gb(ps, team)
|
||
|
rs(ps2, team) = rs(ps, team)
|
||
|
eb(ps2, team) = eb(ps, team)
|
||
|
wt(ps2, team) = wt(ps, team)
|
||
|
ba(ps2, team) = ba(ps, team)
|
||
|
fa(ps2, team) = fa(ps, team)
|
||
|
bat(ps2, team) = bat(ps, team)
|
||
|
bowl(ps2, team) = bowl(ps, team)
|
||
|
wicketKeeper(ps2, team) = wicketKeeper(ps, team)
|
||
|
international(ps2, team) = international(ps, team)
|
||
|
salary(ps2, team) = salary(ps, team)
|
||
|
peak(ps2, team) = peak(ps, team)
|
||
|
sm(ps2) = sm(ps)
|
||
|
sInnings(ps2) = sInnings(ps)
|
||
|
sRuns(ps2) = sRuns(ps)
|
||
|
sOuts(ps2) = sOuts(ps)
|
||
|
hs(ps2) = hs(ps)
|
||
|
sBalls(ps2) = sBalls(ps)
|
||
|
sWickets(ps2) = sWickets(ps)
|
||
|
bbw(ps2) = bbw(ps)
|
||
|
bbr(ps2) = bbr(ps)
|
||
|
sOvers(ps2) = sOvers(ps)
|
||
|
sConceded(ps2) = sConceded(ps)
|
||
|
morale(ps2) = morale(ps)
|
||
|
iWeeks(ps2) = iWeeks(ps)
|
||
|
duty(ps2) = duty(ps)
|
||
|
|
||
|
player$(ps, team) = player2$
|
||
|
gb(ps, team) = gb2
|
||
|
rs(ps, team) = rs2
|
||
|
eb(ps, team) = eb2
|
||
|
wt(ps, team) = wt2
|
||
|
ba(ps, team) = ba2
|
||
|
fa(ps, team) = fa2
|
||
|
bat(ps, team) = bat2
|
||
|
bowl(ps, team) = bowl2
|
||
|
wicketKeeper(ps, team) = wicketKeeper2
|
||
|
international(ps, team) = international2
|
||
|
salary(ps, team) = salary2
|
||
|
peak(ps, team) = peak2
|
||
|
sm(ps) = sm2
|
||
|
sInnings(ps) = sInnings2
|
||
|
sRuns(ps) = sRuns2
|
||
|
sOuts(ps) = sOuts2
|
||
|
hs(ps) = hs2
|
||
|
sBalls(ps) = sBalls2
|
||
|
sWickets(ps) = sWickets2
|
||
|
bbw(ps) = bbw2
|
||
|
bbr(ps) = bbr2
|
||
|
sOvers(ps) = sOvers2
|
||
|
sConceded(ps) = sConceded2
|
||
|
morale(ps) = morale2
|
||
|
iWeeks(ps) = iWeeks2
|
||
|
duty(ps) = duty2
|
||
|
|
||
|
SELECT CASE overSeas1(team)
|
||
|
CASE IS = ps
|
||
|
overSeas1(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
overSeas1(team) = ps
|
||
|
END SELECT
|
||
|
SELECT CASE overSeas2(team)
|
||
|
CASE IS = ps
|
||
|
overSeas2(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
overSeas2(team) = ps
|
||
|
END SELECT
|
||
|
|
||
|
SELECT CASE wk(team)
|
||
|
CASE IS = ps
|
||
|
IF ps2 < 12 THEN wk(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
IF ps < 12 THEN wk(team) = ps
|
||
|
END SELECT
|
||
|
SELECT CASE cp(team)
|
||
|
CASE IS = ps
|
||
|
IF ps2 < 12 THEN cp(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
IF ps < 12 THEN cp(team) = ps
|
||
|
END SELECT
|
||
|
SELECT CASE ob1(team)
|
||
|
CASE IS = ps
|
||
|
IF ps2 < 12 THEN ob1(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
IF ps < 12 THEN ob1(team) = ps
|
||
|
END SELECT
|
||
|
SELECT CASE ob2(team)
|
||
|
CASE IS = ps
|
||
|
IF ps2 < 12 THEN ob2(team) = ps2
|
||
|
CASE IS = ps2
|
||
|
IF ps < 12 THEN ob2(team) = ps
|
||
|
END SELECT
|
||
|
cob1 = 0
|
||
|
IF ob1(team) = wk(team) THEN cob1 = 1
|
||
|
IF bowl(ob1(team), team) = 13 THEN cob1 = 1
|
||
|
IF ob1(team) = ob2(team) THEN cob1 = 1
|
||
|
SELECT CASE cob1
|
||
|
CASE IS = 1
|
||
|
DO
|
||
|
ob1(team) = rand(11)
|
||
|
LOOP UNTIL wk(team) <> ob1(team) AND bowl(ob1(team), team) <> 13 AND ob1(team) <> ob2(team)
|
||
|
END SELECT
|
||
|
|
||
|
cob2 = 0
|
||
|
IF ob2(team) = wk(team) THEN cob2 = 1
|
||
|
IF bowl(ob2(team), team) = 13 THEN cob2 = 1
|
||
|
IF ob2(team) = ob1(team) THEN cob2 = 1
|
||
|
SELECT CASE cob2
|
||
|
CASE IS = 1
|
||
|
DO
|
||
|
ob2(team) = rand(11)
|
||
|
LOOP UNTIL wk(team) <> ob2(team) AND bowl(ob2(team), team) <> 13 AND ob2(team) <> ob1(team)
|
||
|
END SELECT
|
||
|
GOTO 480
|
||
|
450 END SUB
|
||
|
|
||
|
SUB training
|
||
|
1131 cto = 1
|
||
|
dd = 0
|
||
|
1130 ops = 1
|
||
|
1110 COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 5
|
||
|
PRINT "TRAINING"
|
||
|
FOR i = 1 TO 18
|
||
|
IF i = 1 OR i = 3 OR i = 5 OR i = 7 OR i = 9 OR i = 11 OR i = 13 OR i = 15 OR i = 17 THEN COLOR 3, 0 ELSE COLOR 9, 0
|
||
|
LOCATE (i + 8), 5
|
||
|
PRINT player$(i, team)
|
||
|
NEXT i
|
||
|
|
||
|
IF dd = 0 THEN GOTO 1132
|
||
|
FOR i = 1 TO 18
|
||
|
LOCATE (i + 8), 3
|
||
|
IF ops = i THEN PRINT CHR$(16) ELSE PRINT " "
|
||
|
NEXT i
|
||
|
|
||
|
1132 LOCATE 32, 5
|
||
|
IF cto = 1 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Train Player"
|
||
|
LOCATE 34, 5
|
||
|
IF cto = 2 THEN COLOR 0, 3 ELSE COLOR 3, 0
|
||
|
PRINT "Back to Main Menu"
|
||
|
|
||
|
1100 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
IF dd = 0 THEN cto = cto - 1 ELSE ops = ops - 1
|
||
|
IF ops < 1 THEN ops = 18
|
||
|
IF cto < 1 THEN cto = 2
|
||
|
GOTO 1110
|
||
|
CASE IS = d$
|
||
|
IF dd = 0 THEN cto = cto + 1 ELSE ops = ops + 1
|
||
|
IF cto > 2 THEN cto = 1
|
||
|
IF ops > 18 THEN ops = 1
|
||
|
GOTO 1110
|
||
|
CASE IS = CHR$(13)
|
||
|
SELECT CASE dd
|
||
|
CASE IS = 0
|
||
|
dd = 1
|
||
|
IF cto = 2 THEN GOTO 1120
|
||
|
GOTO 1110
|
||
|
CASE IS = 1
|
||
|
GOTO 4000
|
||
|
END SELECT
|
||
|
CASE ELSE
|
||
|
GOTO 1100
|
||
|
END SELECT
|
||
|
|
||
|
4000 z = 0
|
||
|
DO
|
||
|
COLOR 11, 0
|
||
|
CLS
|
||
|
LOCATE 2, 5
|
||
|
PRINT name$; " "; team$(team); " Week "; week; " Year "; year
|
||
|
LOCATE 6, 5
|
||
|
PRINT "TRAINING - "; player$(ops, team)
|
||
|
LOCATE 10, 5
|
||
|
PRINT "CAREER PERIOD: "; career$(peak(ops, team))
|
||
|
COLOR 3, 0
|
||
|
LOCATE 14, 5
|
||
|
PRINT "CURRENT TRAINING FOCUS:"
|
||
|
LOCATE 14, 30
|
||
|
PRINT tAttribute$(ta(ops)); " "; CHR$(17); " "; CHR$(16)
|
||
|
|
||
|
COLOR 9, 0
|
||
|
LOCATE 18, 5
|
||
|
PRINT "Very Low Intensity Training"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 20, 5
|
||
|
PRINT "Low Intensity Training"
|
||
|
COLOR 9, 0
|
||
|
LOCATE 22, 5
|
||
|
PRINT "Medium Intensity Training"
|
||
|
COLOR 3, 0
|
||
|
LOCATE 24, 5
|
||
|
PRINT "High Intensity Training"
|
||
|
COLOR 9, 0
|
||
|
LOCATE 26, 5
|
||
|
PRINT "Very High Intensity Training"
|
||
|
LOCATE (ti(ops) * 2 + 16), 3
|
||
|
PRINT CHR$(16)
|
||
|
COLOR 11, 0
|
||
|
LOCATE 40, 5
|
||
|
PRINT "Press RETURN to go back"
|
||
|
1140 SELECT CASE INKEY$
|
||
|
CASE IS = u$
|
||
|
ti(ops) = ti(ops) - 1
|
||
|
IF ti(ops) < 1 THEN ti(ops) = 5
|
||
|
CASE IS = d$
|
||
|
ti(ops) = ti(ops) + 1
|
||
|
IF ti(ops) > 5 THEN ti(ops) = 1
|
||
|
CASE IS = l$
|
||
|
ta(ops) = ta(ops) - 1
|
||
|
IF ta(ops) < 1 THEN ta(ops) = 6
|
||
|
CASE IS = r$
|
||
|
ta(ops) = ta(ops) + 1
|
||
|
IF ta(ops) > 6 THEN ta(ops) = 1
|
||
|
CASE IS = CHR$(13)
|
||
|
z = 1
|
||
|
CASE ELSE
|
||
|
GOTO 1140
|
||
|
END SELECT
|
||
|
LOOP UNTIL z = 1
|
||
|
GOTO 1131
|
||
|
1120 END SUB
|
||
|
|