[Tutor] GameTracker help

Mike Nickey mnickey at gmail.com
Sat Feb 25 11:57:28 CET 2012


I think I found the issue. It seems that the UserOppSkillLvl wasn't
passing the integer version of this variable back.
Changing line 97 from
    return UserOppSkillLvl
to
    return int(UserOppSkillLvl)
 seems to have helped.

Any suggestions on how to implement the UserSkillLvl section so it's
not redundant code?

On Sat, Feb 25, 2012 at 02:07, 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
> 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



-- 
~MEN


More information about the Tutor mailing list