Skip to content

Instantly share code, notes, and snippets.

Created January 27, 2015 19:23
Show Gist options
  • Save anonymous/cd6314470a5696181c10 to your computer and use it in GitHub Desktop.
Save anonymous/cd6314470a5696181c10 to your computer and use it in GitHub Desktop.
import random
import string
WORDLIST_FILENAME = "C:\Users\gusta_000\Dropbox\Python Stuff\Hangman\words.txt"
def loadWords():
print "Loading word list from file..."
inFile = open(WORDLIST_FILENAME, 'r', 0)
line = inFile.readline()
wordlist = string.split(line)
print " ", len(wordlist), "words loaded."
return wordlist
def chooseWord(wordlist):
return random.choice(wordlist)
def isWordGuessed(secretWord, lettersGuessed):
count = 0
for char in lettersGuessed:
if char in secretWord:
count += 1
if len(secretWord) == count:
return True
else:
return False
def getGuessedWord(secretWord, lettersGuessed):
str = ""
for char in secretWord:
if char in lettersGuessed:
str += char
else:
str += "_"
return str
def getAvailableLetters(lettersGuessed):
import string
str = string.ascii_lowercase
for char in lettersGuessed:
if char in str:
str = str.replace(char, "")
return str
def getSecretWord():
secretWord = chooseWord(loadWords())
return secretWord
def guessesTaken():
count = 9
count -= 1
return count
def hangman(secretWord):
guesses = 8
print "Welcome to the game, Hangman!"
print "I am thinking of a word that is " + str(len(secretWord)) + " letters long."
lettersGuessed = ""
while True:
print "--------------------------"
print "You have " + str(guesses) + " guesses left."
print "Available Letters: " + getAvailableLetters(lettersGuessed) + "."
letterGuessed = raw_input("Please guess a letter: ")
letterGuessed = letterGuessed.lower()
if letterGuessed in secretWord and letterGuessed not in lettersGuessed:
lettersGuessed += letterGuessed
print "Good guess: " + getGuessedWord(secretWord, lettersGuessed)
elif letterGuessed not in secretWord and letterGuessed not in lettersGuessed:
print "Oops! That letter is not in my word: " + getGuessedWord(secretWord, lettersGuessed)
lettersGuessed += letterGuessed
guesses -= 1
elif letterGuessed in lettersGuessed:
lettersGuessed += letterGuessed
print "Oops! You've already guessed that letter: " + getGuessedWord(secretWord, lettersGuessed)
if guesses == 0:
print "Sorry, you ran out of guesses. The word was " + secretWord
break
if isWordGuessed(secretWord, lettersGuessed):
print "--------------------------------"
print "Congratulations, you won!"
break
hangman(getSecretWord())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment