Hey, i appreciate anybody who use up some of their own time to help me. I'n a newbie to python and i have a couple problems.
First, the score NEVER gets updated.
Second, i'm unable to select the same menu option twice in a row (eg select 'letterguess' first, complete it then unable to select it again), so i'd have to go back an forth between option 1 and option 2.
Thanks for any help
# opens the current highscore from a text file
def highscore():
try:
highscore = open("topscore.txt","r")
topscore = int(highscore.read())
print topscore
highscore.close
return topscore
except:
print "error"
topscore = 0
return topscore
# randomly chooses a word from a list
def getWord(wordList,Hintlist):
randompick = random.randrange(0,len(wordList)-1)
wordChoice = random.choice(wordList)
print "The length of the word is ", len(wordChoice)
print Hintlist[randompick]
return wordChoice
# allows the user to guess the letters in a word
def letterguess(wordList,Hintlist,score):
score == letterguess
wordChoice = getWord(wordList,Hintlist)
print "You have 6 letter guesses"
global guessnum
while guessnum!=6:
letter = raw_input("Please choose a letter")
guessnum = guessnum + 1
if letter in wordChoice:
print "The letter you guessed is in the word"
else:
print "Sorry, the letter you guessed is not in the word"
wordGuess(wordChoice,score)
return score
# this function allows the user 3 guesses to guess the whole word
def wordGuess(wordChoice,score):
score == wordGuess
while wholeguess!=3:
global wholeguess
userguess = raw_input("Try to guess the full word")
if userguess == wordChoice:
print 'Congratulations, you guessed the correct word'
score = score + 1
return score
else:
print "Sorry, you didn't guess the correct word"
wholeguess = wholeguess + 1
return score
# jumbles up a word
def wordJumble(wordList,Hintlist,score):
score == wordJumble
wordChoice = getWord(wordList,Hintlist)
high = len(wordChoice)
low = -len(wordChoice)
for i in range(10):
position = random.randrange(low,high)
print "word[", position, "]\t", wordChoice[position]
wordGuess(wordChoice,score)
return score
# checks the users score
def checkscore(player,score):
print player, "you have scored", score, "points"
# replaces the topscore with the new topscore
def replacement(topscore,thisplayer):
if thisplayer > topscore:
print "You are now the top scorer"
text_file = open("topscore.txt","w")
text_file.close()
else:
print "You have not topped the score this time"
# this is the options menu
def menu():
print """ Menu
1. Guess the word
2. Word Jumble
3. Check your score
4. Exit """
answer = raw_input("Please make a selection")
return answer
import random
thisplayer = 0
wholeguess = 0
guessnum = 0
score = 0
answer = "0"
wordList = ['albatross','donkey','spaghetti','geranium','binary']
Hintlist = ['seabird','slow animal','italian meal','element','0100110']
topscore = highscore()
player = raw_input("Please enter your name")
print "Hi", player
while answer!="4":
answer=menu()
if answer == "1": letterguess(wordList,Hintlist,score)
if answer == "2": wordJumble(wordList,Hintlist,score)
if answer == "3": checkscore(player,score)
if answer == "4":
thisplayer = score
replacement(topscore,thisplayer)
break
if answer not in ('1','2','3','4'):
print "error message"