[Tutor] GameTracker help
Mike Nickey
mnickey at gmail.com
Sat Feb 25 11:07:15 CET 2012
Hey all,
I'm trying to wok on a game tracker for my friends. What I have here
partly works but there are areas that I want to change and some areas
that are just not working for me.
The areas that I am having difficulty with are the def pointsNeeded
and oppPointsNeeded.
What is strange to me is that I had pointsNeeded almost exactly as
oppPointsNeeded and only pointsNeeded worked.
I'd like to change this to one function since it does the same thing.
I've tried using a dictionary but that does not seem to be working
well either.
Any advice would be great.
Thanks in advance.
CODE
#===============================================================================
# Get users name -- DONE
# Get Users opponent name DONE
# Get user opponents APA number --DONE
# get users APA number -- DONE
# Determine if this is 8-ball or 9-ball -- DONE
# create number of points needed to win for 9-ball
# create number of games needed to win for 8-ball
# Get Users skill level -- DONE
# get users current opponent skill level -- DONE
# get number of innings played
# number of defenses played
# record who won and lost
#===============================================================================
import __builtin__
import string
pointDictionary = {1:14, 2:19, 3:25, 4:31, 5:38, 6:46, 7:55, 8:65, 9:75}
def getUserName():
return raw_input("Enter your name: ")
def getUserOppName():
return raw_input ("Enter your opponents name: ")
def getUserNumber():
UserID = raw_input("Enter your APA ID number: ")
while (str.isdigit(UserID)==False):
UserID = raw_input("That is not a proper ID. Please re-enter
your APA number: ")
return UserID
def getUserOppNumber():
OppUserID = raw_input("Enter your opponents APA ID number: ")
while (str.isdigit(OppUserID)==False):
UserID = raw_input("That is not a proper ID. Please re-enter
your opponents APA number: ")
return OppUserID
def getGameType():
temp = 0
while temp == 0:
GameType = raw_input("Are you playing 8-ball or 9-ball? ")
if GameType == "8":
print "Good luck and don't get an early 8"
GameType = 8
temp = 1
elif GameType == "9":
print "Good luck! Let's hope you sink the stripe on the break!"
GameType = 9
temp = 1
else:
print "That's not a valid entry, Please try again.: "
return int(GameType)
def CheckRange8Ball(GameType, min=1, max=8):
if not min <= GameType <= max:
raise ValueError('Value out of range')
def getUserSkillLvl(GameType):
if GameType == 8:
UserSkillLvl = prompt = "Enter your current 8-ball skill level: "
elif GameType == 9:
UserSkillLvl = prompt = "Enter your current 9-ball level:"
UserSkillLvl = raw_input(prompt)
UserSkillLvl = int(UserSkillLvl)
if GameType == 9:
temp = 0
while temp == 0:
if ((UserSkillLvl <= 9) and (UserSkillLvl >=1)):
print "Thank You"
temp = 1
break
elif ((UserSkillLvl >9) or (UserSkillLvl < 1)):
while temp == 0:
UserSkillLvl = raw_input("Please re-enter your
9-ball skill level")
return UserSkillLvl
if GameType == 8:
temp = 0
while temp == 0:
if ((UserSkillLvl <= 8) and (UserSkillLvl >=1)):
print "thank you"
temp = 1
break
elif (UserSkillLvl >8) or (UserSkillLvl < 1):
while temp == 0:
UserSkillLvl = raw_input("Please re-enter your
skill level: ")
return UserSkillLvl
def getUserOppSkillLvl():
UserOppSkillLvl = raw_input("Enter your opponents current skill level: ")
while (str.isdigit(UserOppSkillLvl)==False):
UserOppSkillLvl = raw_input("That is not a proper Skill Level. \
Please enter a number between 1 and 9 for 9-ball or 1 and 8
for 8-ball: ")
UserOppSkillLvl = int(UserOppSkillLvl)
return UserOppSkillLvl
def getPointsNeeded():
if (GameType == 9):
for UserSkillLvl in range (0, len(pointDictionary)):
pointsNeeded = pointDictionary(UserSkillLvl)
return pointsNeeded
def getOppPointsNeeded():
if (GameType == 9):
if (UserOppSkillLvl == 9):
oppPointsNeeded = 75
elif (UserOppSkillLvl == 8):
oppPointsNeeded = 65
elif (UserOppSkillLvl == 7):
oppPointsNeeded = 55
elif(UserOppSkillLvl == 6):
oppPointsNeeded = 46
elif (UserOppSkillLvl == 5):
oppPointsNeeded = 38
elif (UserOppSkillLvl == 4):
oppPointsNeeded = 31
elif (UserOppSkillLvl == 3):
oppPointsNeeded = 25
elif (UserOppSkillLvl == 2):
oppPointsNeeded = 19
elif (UserOppSkillLvl == 1):
oppPointsNeeded = 14
return oppPointsNeeded
UserName = getUserName()
UserOppName = getUserOppName()
UserID = getUserNumber()
OppUserID = getUserOppNumber()
GameType = getGameType()
UserSkillLvl = getUserSkillLvl(GameType)
UserOppSkillLvl = getUserOppSkillLvl()
print "\nPlayer Name:",UserName, "\nOpponent Name:", UserOppName,
"\nUser ID: ",UserID, "\nOpponent APA ID", OppUserID, \
"\nGameType: ",GameType,"\nUser Skill Level: ",UserSkillLvl, "\nUser
Opponents Level: ",UserOppSkillLvl
pointsNeeded = getPointsNeeded()
oppPointsNeeded = getOppPointsNeeded()
print "\nYou need", pointsNeeded, "to win while your opponent needs",
oppPointsNeeded,"."
--
~MEN
More information about the Tutor
mailing list