[Tutor] GameTracker help

Joel Goldstick joel.goldstick at gmail.com
Sat Feb 25 11:17:45 CET 2012


On Sat, Feb 25, 2012 at 5:07 AM, Mike Nickey <mnickey at gmail.com> wrote:
> 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

Above looks wrong.  Shouldn't it be OppUserID = raw_input ...

> 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
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor



-- 
Joel Goldstick


More information about the Tutor mailing list