1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-06 02:20:25 +00:00
QB64-PE/tests/qbasic_testcases/pete/nlcm2006/nlcm.bas
Matthew Kilgore 9ee89d6ff4 Add QBasic tests
These tests use a variety of sample code (with some of the larger files
removed, so they are not complete!) and verifies that they all compile
successfully.
2022-04-28 23:00:07 -04:00

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