Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import *
- from graphics import *
- import sys
- ##import time
- def wordList():
- wordFile = open('wordlist.txt', 'r').readline()
- return wordFile.split()
- def wordPick():
- return list(choice(wordList()))
- def wordPrint(word, guessList, ):
- display = []
- for character in word:
- if character not in guessList:
- display.append('_ ')
- else:
- display.append(str(character))
- return display
- def playerGuess(guessList, badGuessText, win, guess):
- if guess not in guessList and len(guess) == 1:
- guessList.append(guess)
- else:
- badGuessText.draw(win)
- playerGuess(guessList)
- return guess
- def guessCounter(word, guessList, guessesRemaining, lastGuess):
- if lastGuess not in word:
- guessesRemaining -= 1
- print('\nYou have ' + str(guessesRemaining) + ' guesses remaining\n')
- return guessesRemaining
- def doesGameContinue(guessesRemaining, display):
- if '_ ' not in display and len(display) > 0:
- return False
- elif guessesRemaining <= 0:
- return False
- else:
- return True
- def playHangman():
- guessesRemaining = 6
- word = wordPick()
- guessList = []
- display = []
- winWidth = 500
- winHeight = 300
- win = GraphWin('Hangman', winWidth, winHeight)
- badGuessPoint = Point(winWidth/2 + 100, winHeight/2 + 160)
- badGuessText = Text(badGuessPoint, 'No repeats or doubles, try again!')
- while doesGameContinue(guessesRemaining, display) == True:
- lastGuess = playerGuess(
- guessList, badGuessText, win, hangWindow(
- word, guessList, badGuessPoint, badGuessText, winWidth, winHeight, win))
- guessesRemaining = guessCounter(word, guessList, guessesRemaining, lastGuess)
- doesGameContinue(guessesRemaining, display)
- else:
- print('Game over!')
- def hangWindow(word, guessList, badGuessPoint, badGuessText, winWidth, winHeight, win):
- guessBoxPoint = Point(winWidth/2 + 50, winHeight/2 + 100)
- guessBoxTextPoint = Point(winWidth/2 - 30, winHeight/2 + 100)
- guessDisplayPoint = Point(winWidth/2, winHeight/2 + 140)
- wordDisplayPoint = Point(winWidth/2, winHeight/2 + 120)
- wordDisplayText = Text(wordDisplayPoint, 'Current Word: ' + ' '.join(wordPrint(word, guessList)))
- guessDisplayText = Text(guessDisplayPoint, 'Previous Guesses: ' + ' '.join(guessList))
- guessBoxText = Text(guessBoxTextPoint, 'Enter your guess: ')
- guessBox = Entry(guessBoxPoint, 2)
- guessBox.draw(win)
- guessBox.setText('')
- badGuessText.draw(win)
- badGuessText.undraw()
- wordDisplayText.draw(win)
- guessDisplayText.draw(win)
- guessBoxText.draw(win)
- win.getMouse()
- wordDisplayText.undraw()
- guessDisplayText.undraw()
- guessBoxText.undraw()
- return guessBox.getText()
- def main():
- playHangman()
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement