Beruflich Dokumente
Kultur Dokumente
import json,time,os,sys,requests,urllib2,random
os.system(osClearTxt)
header=("""
===============================================================================
===============================================================================""")
return header
class Cricket():
firstRunSecond=1
teamDataList=[]
teamList=[]
strikePlayerOne=1
strikePlayerSecond=0
wicketLost=0
totalScore=0
def __init__(self):
global osClearTxt
if os.name == 'nt':
osClearTxt='cls'
else:
osClearTxt='clear'
self.splash()
self.mainMenu() #MainMenu
splash1=('''
===============================================================================
===============================================================================
> DESCRIPTION
> SUBMITTED TO
->MRS. MEETU
''')
splash2=('''
===============================================================================
CRICKET
===============================================================================
> DESCRIPTION
> MADE BY
AYUSH AGARWAL
SHUBHAM GUPTA
YASH TYAGI
> SUBMITTED TO
->MRS. MEETU
''')
try :
x=0
while True :
time.sleep(0.5)
x=x+1
os.system(osClearTxt)
if x%2==0:
print splash1
else :
print splash2
except KeyboardInterrupt:
pass
os.system(osClearTxt)
def mainMenu(self):
print theme()
mainmenu=(""" ________________
MAIN MENU :
----------------
""")
print mainmenu
Cricket.firstRunSecond=1
self.askDialog(1)
def askDialog(self,askType):
try:
if askAns=="":
pass
else:
askAns=int(askAns)
except Exception:
askAns="UNKNOWN INPUT"
if askType==1:
if askAns==1:
self.quickMatch()
elif askAns==2:
self.teamInfo()
elif askAns==3:
self.cricketHistory()
elif askAns==4:
self.liveScore()
elif askAns==5:
self.appInfo()
elif askAns==6:
self.quitProgram()
elif askAns=="":
time.sleep(1)
self.mainMenu()
else:
time.sleep(1)
self.mainMenu()
if askType==2:
if askAns==1:
self.liveScore()
elif askAns==2:
self.mainMenu()
else:
time.sleep(1)
self.mainMenu()
def quickMatch(self):
print theme()
GAME RULES :
------------------""")
->NO OPTION SELECTED/UNAVAILABLE OPTION SELECTED LEADS TO WICKET LOSS OR\n\n FREE
SIX/FOUR RUNS.
""")
noOfTeams=0
loadingTimeCheck=0
print theme()
QUICK MATCH :
-------------------""")
if len(Cricket.teamList)==0:
teamData=open("teamInfo.dat","r")
Cricket.teamDataList=teamData.readlines()
teamData.close
if len(Cricket.teamDataList[teamNumber])==4:
Cricket.teamList.append(Cricket.teamDataList[teamNumber-1][:-3])
noOfTeams+=1
if noOfTeams<=9:
else:
selectYourTeam=selectYourTeam.upper()
selectOpponentTeam=selectOpponentTeam.upper()
if len(selectYourTeam)==2:
selectYourTeam+=" "
if len(selectOpponentTeam)==2:
selectOpponentTeam+=" "
opponentTeamFound=False
yourTeamFound=False
try:
yourTeamIndex=teamCheck
yourTeamFound=True
if len(selectOpponentTeam)==3 and
selectOpponentTeam==Cricket.teamDataList[teamCheck][:-1]:
opponentTeamIndex=teamCheck
opponentTeamFound=True
except Exception:
pass
self.yourTeamFullName=Cricket.teamDataList[yourTeamIndex-
1][:Cricket.teamDataList[yourTeamIndex-1].find(" ")]
self.opponentTeamFullName=Cricket.teamDataList[opponentTeamIndex-
1][:Cricket.teamDataList[opponentTeamIndex-1].find(" ")]
else:
print " TEAM NOT CHOSEN CORRECTLY, RANDOMALY CHOOSING BOTH TEAM!!!"
selectYourTeam=random.choice(Cricket.teamList)
remainingTeamList=Cricket.teamList
remainingTeamList.remove(selectYourTeam)
selectOpponentTeam=random.choice(remainingTeamList)
self.yourTeamFullName=selectYourTeam[:selectYourTeam.find(" ")]
self.opponentTeamFullName=selectOpponentTeam[:selectOpponentTeam.find(" ")]
selectYourTeam=selectYourTeam[-3:]
selectOpponentTeam=selectOpponentTeam[-3:]
yourTeamIndex=Cricket.teamDataList.index(selectYourTeam+"\n")
opponentTeamIndex=Cricket.teamDataList.index(selectOpponentTeam+"\n")
time.sleep(1.5)
os.system(osClearTxt)
print theme()
while loadingTimeCheck!=5:
loadingTimeCheck+=1
animation="\|/-\|/-"
for l in animation:
sys.stdout.write(l)
sys.stdout.flush()
sys.stdout.write('\b')
time.sleep(0.1)
os.system(osClearTxt)
print theme()
versusList=[]
self.versusHeading=" "*22+"_"*(len(versusHeadingString)+6)+"\n"+"
"*25+versusHeadingString+"\n"+" "*22+"-"*(len(versusHeadingString)+6)
print self.versusHeading
if players==1:
initialSpacing=len(Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamIndex+
players].find(" ")])+20
spacing=20
else:
spacing=initialSpacing-
len(Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamIndex+players].find("
")])
print "
"*10+Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamIndex+players].find(
" ")]+"
"*spacing+Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[opponentTeamIndex+p
layers].find(" ")]+"\n"
userBatting=self.tossing()
print theme()
time.sleep(1)
self.runsScoredByYourTeam=0
self.runsScoredByOpponentTeam=0
self.__wicketLostOfYourTeam=0
self.__wicketLostOfOpponentTeam=0
if userBatting:
self.secondInnings=False
self.battingTeamDict={}
self.battingTeamList=[]
self.overList=["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",
"_","_","_","_","_","_","_","_","_"]
self.pseudoBalls=0
self.balls=0
Cricket.strikePlayerOne=1
Cricket.strikePlayerSecond=0
Cricket.wicketLost=0
Cricket.totalScore=0
self.battingTeamList.append([Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[your
TeamIndex+players].find(" ")]])
self.battingTeamDict[Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamInde
x+players].find(" ")]]=0
self.realBattingTeamList=self.battingTeamList
self.runsScoredByYourTeam=self.battingOrBowling(self.yourTeamFullName,self.opponentTeamFullName)
if self.runsScoredByYourTeam==10:
self.runsScoredByYourTeam=0
self.runsScoredByYourTeam+=runs
print theme()
time.sleep(1)
self.secondInnings=True
self.battingTeamDict={}
self.battingTeamList=[]
self.overList=["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",
"_","_","_","_","_","_","_","_","_"]
self.pseudoBalls=0
self.balls=0
Cricket.strikePlayerOne=1
Cricket.strikePlayerSecond=0
Cricket.wicketLost=0
Cricket.totalScore=0
self.battingTeamList.append([Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[
opponentTeamIndex+players].find(" ")]])
self.battingTeamDict[Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[opponent
TeamIndex+players].find(" ")]]=0
self.realBattingTeamList=self.battingTeamList
self.runsScoredByOpponentTeam=self.battingOrBowling(self.opponentTeamFullName,self.yourTeamFullName
,"bowl",0)
if self.runsScoredByOpponentTeam==10:
self.runsScoredByOpponentTeam=0
self.runsScoredByOpponentTeam+=runs
print theme()
print self.versusHeading
if self.runsScoredByYourTeam>self.runsScoredByOpponentTeam:
elif self.runsScoredByYourTeam<self.runsScoredByOpponentTeam:
else:
self.mainMenu()
else:
self.secondInnings=False
self.battingTeamDict={}
self.battingTeamList=[]
self.overList=["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",
"_","_","_","_","_","_","_","_","_"]
self.pseudoBalls=0
self.balls=0
Cricket.strikePlayerOne=1
Cricket.strikePlayerSecond=0
Cricket.wicketLost=0
Cricket.totalScore=0
for players in range(1,12):
self.battingTeamList.append([Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[
opponentTeamIndex+players].find(" ")]])
self.battingTeamDict[Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[opponent
TeamIndex+players].find(" ")]]=0
self.realBattingTeamList=self.battingTeamList
self.runsScoredByOpponentTeam=self.battingOrBowling(self.opponentTeamFullName,self.yourTeamFullName
,"bowl",0)
if self.runsScoredByOpponentTeam==10:
self.runsScoredByOpponentTeam=0
self.runsScoredByOpponentTeam+=runs
print theme()
time.sleep(1)
self.secondInnings=True
self.battingTeamDict={}
self.battingTeamList=[]
self.overList=["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",
"_","_","_","_","_","_","_","_","_"]
self.pseudoBalls=0
self.balls=0
Cricket.strikePlayerOne=1
Cricket.strikePlayerSecond=0
Cricket.wicketLost=0
Cricket.totalScore=0
self.battingTeamList.append([Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[your
TeamIndex+players].find(" ")]])
self.battingTeamDict[Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamInde
x+players].find(" ")]]=0
self.realBattingTeamList=self.battingTeamList
self.runsScoredByYourTeam=self.battingOrBowling(self.yourTeamFullName,self.opponentTeamFullName)
if self.runsScoredByYourTeam==10:
self.runsScoredByYourTeam=0
self.runsScoredByYourTeam+=runs
print theme()
print
print self.versusHeading
if self.runsScoredByOpponentTeam>self.runsScoredByYourTeam:
elif self.runsScoredByOpponentTeam<self.runsScoredByYourTeam:
else:
self.mainMenu()
def battingOrBowling(self,battingTeam,bowlingTeam,innType="bat",run=0):
print theme()
print self.versusHeading
if battingTeam==self.yourTeamFullName:
self.__wicketLostOfYourTeam=Cricket.wicketLost
self.runsScoredByYourTeam=Cricket.totalScore
if self.secondInnings:
if self.runsScoredByYourTeam>self.runsScoredByOpponentTeam:
return run
self.scoresAndWicket=" "+self.yourTeamFullName+"*:
"+str(self.runsScoredByYourTeam)+"/"+str(self.__wicketLostOfYourTeam)+"
"*30+self.opponentTeamFullName+":
"+str(self.runsScoredByOpponentTeam)+"/"+str(self.__wicketLostOfOpponentTeam)
else:
self.runsScoredByOpponentTeam=Cricket.totalScore
self.__wicketLostOfOpponentTeam=Cricket.wicketLost
if self.secondInnings:
if self.runsScoredByOpponentTeam>self.runsScoredByYourTeam:
return run
self.scoresAndWicket=" "+self.opponentTeamFullName+"*:
"+str(self.runsScoredByOpponentTeam)+"/"+str(self.__wicketLostOfOpponentTeam)+"
"*30+self.yourTeamFullName+": "+str(self.runsScoredByYourTeam)+"/"+str(self.__wicketLostOfYourTeam)
print self.scoresAndWicket
overs=(self.balls)/6+((self.balls%6)*0.1)
print
a=self.battingTeamList[0][0]
b=self.battingTeamList[1][0]
if run==10:
pass
elif Cricket.strikePlayerOne%2==1:
if run==1 or run==3:
Cricket.strikePlayerOne=0
Cricket.strikePlayerSecond=1
self.battingTeamDict[a]+=run
else:
if run==1 or run==3:
Cricket.strikePlayerOne=1
Cricket.strikePlayerSecond=0
self.battingTeamDict[b]+=run
a=self.battingTeamList[0][0]
b=self.battingTeamList[1][0]
playerOne=a[a.find(")")+1:]+"*"*(Cricket.strikePlayerOne%2)+":
"+str(self.battingTeamDict[a])
playerSecond=b[b.find(")")+1:]+"*"*(Cricket.strikePlayerSecond%2)+":
"+str(self.battingTeamDict[b])
if self.pseudoBalls==6:
self.overList=self.overList[6:]
self.pseudoBalls=0
if Cricket.strikePlayerOne%2==1:
Cricket.strikePlayerOne=0
Cricket.strikePlayerSecond=1
else:
Cricket.strikePlayerOne=1
Cricket.strikePlayerSecond=0
gameData=open("gameData.dat","r")
gameDataList=gameData.readlines()
gameData.close()
possibleDeliveries=gameDataList[20:]
if innType=="bat":
if battingShot==0:
else:
deliveryThrown=str(random.randint(1,5))
action=deliveryThrown+","+shotTaken
if possibleAction[:-5]==action:
runsScored=possibleAction[-2]
noShot=False
break
noShot=True
if noShot:
runsScored="W"
if runsScored!="W":
else:
time.sleep(1.5)
self.overList[self.pseudoBalls]=runsScored
self.pseudoBalls+=1
self.balls+=1
if runsScored=="W":
runsScored=10
try:
if Cricket.strikePlayerOne%2==1:
self.battingTeamList[0],self.battingTeamList[Cricket.wicketLost+2]=self.battingTeamList[Cricket.wic
ketLost+2],self.battingTeamList[0]
else:
self.battingTeamList[1],self.battingTeamList[Cricket.wicketLost+2]=self.battingTeamList[Cricket.wic
ketLost+2],self.battingTeamList[1]
Cricket.wicketLost+=1
except Exception:
Cricket.wicketLost=10
if battingTeam==self.yourTeamFullName:
self.__wicketLostOfYourTeam=Cricket.wicketLost
else:
self.__wicketLostOfOpponentTeam=Cricket.wicketLost
else:
Cricket.totalScore+=int(runsScored)
if self.balls==30 or Cricket.wicketLost==10:
if runsScored!="W":
Cricket.totalScore+=int(runsScored)
return int(runsScored)
else:
return 0
if battingTeam==self.yourTeamFullName:
self.runsScoredByYourTeam=Cricket.totalScore
else:
self.runsScoredByOpponentTeam=Cricket.totalScore
else:
return self.battingOrBowling(battingTeam,bowlingTeam,"bat",int(runsScored))
else:
if bowlingShot==0:
else:
print gameDataList[bowlingShot].upper()
shotTaken=str(random.randint(1,7))
action=deliveryThrown+","+shotTaken
if possibleAction[:-5]==action:
runsScored=possibleAction[-2]
noShot=False
break
noShot=True
if noShot:
runsScored=random.choice([4,6])
if runsScored!="W":
else:
time.sleep(1.5)
self.overList[self.pseudoBalls]=runsScored
self.pseudoBalls+=1
self.balls+=1
if runsScored=="W":
runsScored=10
try:
if Cricket.strikePlayerOne%2==1:
self.battingTeamList[0],self.battingTeamList[Cricket.wicketLost+2]=self.battingTeamList[Cricket.wic
ketLost+2],self.battingTeamList[0]
else:
self.battingTeamList[1],self.battingTeamList[Cricket.wicketLost+2]=self.battingTeamList[Cricket.wic
ketLost+2],self.battingTeamList[1]
Cricket.wicketLost+=1
except Exception:
Cricket.wicketLost=10
if battingTeam==self.yourTeamFullName:
self.__wicketLostOfYourTeam=Cricket.wicketLost
else:
self.__wicketLostOfOpponentTeam=Cricket.wicketLost
else:
Cricket.totalScore+=int(runsScored)
if self.balls==30 or Cricket.wicketLost==10:
if runsScored!="W":
Cricket.totalScore+=int(runsScored)
return int(runsScored)
else:
return 0
if battingTeam==self.yourTeamFullName:
self.runsScoredByYourTeam=Cricket.totalScore
else:
self.runsScoredByOpponentTeam=Cricket.totalScore
else:
return self.battingOrBowling(battingTeam,bowlingTeam,"bowl",int(runsScored))
def tossing(self):
print theme()
TOSSING :
---------------""")
print(""" (1)HEADS
(2)TAILS""")
tossingList=["HEADS","TAILS"]
choosingSide=choosingSide.upper()
if choosingSide in tossingList:
tossingResult=random.choice(tossingList)
if choosingSide==tossingResult:
time.sleep(1)
return self.batOrBowl()
else:
compChoosing=random.choice(["BAT","BOWL"])
time.sleep(1)
if compChoosing=="BAT":
return False
else:
return True
else:
time.sleep(1)
return self.tossing()
def batOrBowl(self):
print theme()
(2)BOWLING - BOWL""")
askingForBatbowl=askingForBatbowl.upper()
if askingForBatbowl=="BAT":
return True
elif askingForBatbowl=="BOWL":
return False
else:
return self.batOrBowl()
def cricketHistory(self):
print theme()
print
CRICKET HISTORY :
-----------------------""")
cricketHistoryFile=open("cricketHistory.dat","r")
cricketHistoryList=cricketHistoryFile.readlines()
cricketHistoryFile.close()
self.mainMenu()
def teamInfo(self):
print theme()
loadingTimeCheck=0
noOfTeams=0
TEAM INFO :
---------------""")
if Cricket.firstRunSecond==1:
while True:
loadingTimeCheck+=1
animation="\|/-\|/-"
for l in animation:
sys.stdout.write(l)
sys.stdout.flush()
sys.stdout.write('\b')
time.sleep(0.1)
if loadingTimeCheck==3:
teamData=open("teamInfo.dat","r")
Cricket.teamDataList=teamData.readlines()
teamData.close
if loadingTimeCheck==5:
os.system(osClearTxt)
print theme()
break
TEAM INFO :
---------------""")
Cricket.firstRunSecond+=1
if len(Cricket.teamList)==0:
if len(Cricket.teamDataList[teamNumber])==4:
Cricket.teamList.append(Cricket.teamDataList[teamNumber-1][:-3])
noOfTeams+=1
if noOfTeams<=9:
else:
getTeamInfo=getTeamInfo.upper()
if len(getTeamInfo)==2:
getTeamInfo+=" "
teamFound=False
try:
os.system(osClearTxt)
print theme()
if Cricket.teamDataList[teamCheck-1][letters:letters+2]==" ":
teamName=Cricket.teamDataList[teamCheck-1][:letters]
break
teamFound=True
break
except Exception:
pass
if teamFound:
self.teamInfo()
else:
time.sleep(1)
self.mainMenu()
def liveScore(self):
print theme()
LIVE/RECENT MATCHES :
-------------------------""")
checkConnectivity=False
try:
loadingTimeCheck=0
while True:
loadingTimeCheck+=1
animation="\|/-\|/-"
for l in animation:
sys.stdout.write(l)
sys.stdout.flush()
sys.stdout.write('\b')
time.sleep(0.1)
if loadingTimeCheck==3:
response=urllib2.urlopen('http://google.com')
checkConnectivity=True
if loadingTimeCheck==5:
os.system(osClearTxt)
print theme()
break
except Exception:
os.system(osClearTxt)
print theme()
if checkConnectivity:
LIVE/RECENT MATCHES :
-------------------------""")
liveScoreObject=Cricbuzz()
matchesInfo=liveScoreObject.matches()
liveScoreStr=json.dumps(matchesInfo,indent=4)
while liveScoreStr.find("id")!=-1:
currentStatus=("Current Status:
"+liveScoreStr[liveScoreStr.find('"status"')+11:liveScoreStr.find(' "mnum":')-4]).upper()
teams=("Teams: "+"
"*9+liveScoreStr[liveScoreStr.find('"mchdesc"')+12:liveScoreStr.find(' "srs":')-4]).upper()
series=("Series: "+"
"*8+liveScoreStr[liveScoreStr.find('"srs"')+8:liveScoreStr.find(' "mchstate":')-4]).upper()
liveScoreStr=liveScoreStr[:liveScoreStr.find(' {')-
1]+liveScoreStr[liveScoreStr.find('}')+2:]
else:
LIVE/RECENT MATCHES :
-------------------------""")
print askToRefresh
self.askDialog(2)
def appInfo(self):
print theme()
PROGRAM INFO :
--------------------""")
""")
---------------------------------""")
""")
self.mainMenu()
def quitProgram(self):
print theme()
=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=""")
time.sleep(4)
quit()
class Cricbuzz():
url="http://synd.cricbuzz.com/j2me/1.0/livematches.xml"
def __init__(self):
pass
def getxml(self,url):
try:
req=requests.get(url)
except requests.exceptions.RequestException as e:
print (e)
sys.exit(1)
soup=BeautifulSoup(req.text,"html.parser")
return soup
def matchinfo(self,match):
matchInfoDict={}
matchInfoDict['id']=match['id']
matchInfoDict['srs']=match['srs']
matchInfoDict['mchdesc']=match['mchdesc']
matchInfoDict['mnum']=match['mnum']
matchInfoDict['type']=match['type']
matchInfoDict['mchstate']=match.state['mchstate']
matchInfoDict['status']=match.state['status']
return matchInfoDict
def matches(self):
xml=self.getxml(self.url)
matches=xml.find_all('match')
info=[]
info.append(self.matchinfo(match))
return info
if __name__ == "__main__":
cricketObject=Cricket()