Skip to content

Instantly share code, notes, and snippets.

@DevDarren
Created December 4, 2012 00:41
Show Gist options
  • Save DevDarren/4199441 to your computer and use it in GitHub Desktop.
Save DevDarren/4199441 to your computer and use it in GitHub Desktop.
A simple hangman game made with Python 2.7.3
class Hangman():
def __init__(self):
print "Welcome to 'Hangman', are you ready to die?"
print "(1)Yes, for I am already dead.\n(2)No, get me outta here!"
user_choice_1 = raw_input("->")
if user_choice_1 == '1':
print "Loading nooses, murderers, rapists, thiefs, lunatics..."
self.start_game()
elif user_choice_1 == '2':
print "Bye bye now..."
exit()
else:
print "I'm sorry, I'm hard of hearing, could you repeat that?"
self.__init__()
def start_game(self):
print "A crowd begins to gather, they can't wait to see some real"
print "justice. There's just one thing, you aren't a real criminal."
print "No, no. You're the wrong time, wrong place type. You may think"
print "you're dead, but it's not like that at all. Yes, yes. You've"
print "got a chance to live. All you've gotta do is guess the right"
print "words and you can live to see another day. But don't get so"
print "happy yet. If you make 6 wrong guess, YOU'RE TOAST! VAMANOS!"
self.core_game()
def core_game(self):
guesses = 0
letters_used = ""
the_word = "pizza"
progress = ["?", "?", "?", "?", "?"]
while guesses < 6:
guess = raw_input("Guess a letter ->")
if guess in the_word and not in letters_used:
print "As it turns out, your guess was RIGHT!"
letters_used += "," + guess
self.hangman_graphic(guesses)
print "Progress: " + self.progress_updater(guess, the_word, progress)
print "Letter used: " + letters_used
elif guess not in the_word and not(in letters_used):
guesses += 1
print "Things aren't looking so good, that guess was WRONG!"
print "Oh man, that crowd is getting happy, I thought you"
print "wanted to make them mad?"
letters_used += "," + guess
self.hangman_graphic(guesses)
print "Progress: " + "".join(progress)
print "Letter used: " + letters_used
else:
print "That's the wrong letter, you wanna be out here all day?"
print "Try again!"
def hangman_graphic(self, guesses):
if guesses == 0:
print "________ "
print "| | "
print "| "
print "| "
print "| "
print "| "
elif guesses == 1:
print "________ "
print "| | "
print "| 0 "
print "| "
print "| "
print "| "
elif guesses == 2:
print "________ "
print "| | "
print "| 0 "
print "| / "
print "| "
print "| "
elif guesses == 3:
print "________ "
print "| | "
print "| 0 "
print "| /| "
print "| "
print "| "
elif guesses == 4:
print "________ "
print "| | "
print "| 0 "
print "| /|\ "
print "| "
print "| "
elif guesses == 5:
print "________ "
print "| | "
print "| 0 "
print "| /|\ "
print "| / "
print "| "
else:
print "________ "
print "| | "
print "| 0 "
print "| /|\ "
print "| / \ "
print "| "
print "The noose tightens around your neck, and you feel the"
print "sudden urge to urinate."
print "GAME OVER!"
self.__init__()
def progress_updater(self, guess, the_word, progress):
i = 0
while i < len(the_word):
if guess == the_word[i]:
progress[i] = guess
i += 1
else:
i += 1
return "".join(progress)
game = Hangman()
@sslakkimsetty
Copy link

Excellent code! Just one insignificant change: guess the right letters <-- in line 23

@cbouery
Copy link

cbouery commented Jun 24, 2017

here's my version, errors are corrected:

import time
class Hangman():
def init(self):
print "Welcome to 'Hangman game, you need to guess the word or else ..."
print "you will be hanged"
print "press enter to continue"
raw_input("->")
self.start_game()

def start_game(self):
    print "Starting game..."
    time.sleep(1)
    self.core_game()

def core_game(self):
    guesses = 0
    letters_used = ""
    the_word = "pizza"
    progress = ['*','*','*','*','*']

    while guesses < 6:
        guess = raw_input("Guess a letter ->")

        if (guess in the_word) and (guess not in letters_used):
            print "Your guess was RIGHT!"
            letters_used +=  guess +","
            self.hangman_graphic(guesses)
            print "Progress: " + self.progress_updater(guess, the_word, progress)
            print "Letter used: " + letters_used
        elif (guess not in the_word) and (guess not in letters_used):
            guesses += 1
            print "Wrong Guess!"
            letters_used += guess + ","
            self.hangman_graphic(guesses)
            print "Progress: " + "".join(progress)
            print "Letter used: " + letters_used
        else:
            print "You already typed this letter"
            print "Try again!"
        if ''.join(progress) == the_word:
            print "You Guessed the word:" + the_word
            print "You Won"
            break




def hangman_graphic(self, guesses):
    if guesses == 0:
        print "________      "
        print "|      |      "
        print "|             "
        print "|             "
        print "|             "
        print "|             "
    elif guesses == 1:
        print "________      "
        print "|      |      "
        print "|      0      "
        print "|             "
        print "|             "
        print "|             "
    elif guesses == 2:
        print "________      "
        print "|      |      "
        print "|      0      "
        print "|     /       "
        print "|             "
        print "|             "
    elif guesses == 3:
        print "________      "
        print "|      |      "
        print "|      0      "
        print "|     /|      "
        print "|             "
        print "|             "
    elif guesses == 4:
        print "________      "
        print "|      |      "
        print "|      0      "
        print "|     /|\     "
        print "|             "
        print "|             "
    elif guesses == 5:
        print "________      "
        print "|      |      "
        print "|      0      "
        print "|     /|\     "
        print "|     /       "
        print "|             "
    else:
        print "________      "
        print "|      |      "
        print "|      0      "
        print "|     /|\     "
        print "|     / \     "
        print "|             "
        print"YOU LOST"
        print "GAME OVER!"
        self.__init__()

def progress_updater(self, guess, the_word, progress):
    i = 0
    while i < len(the_word):
        if guess == the_word[i]:
            progress[i] = guess
            i += 1
        else:
            i += 1

    return "".join(progress)

game = Hangman()

@Codemaster20174
Copy link

Codemaster20174 commented Jul 5, 2017

yo itz ya boy chicken :)

@iamianthomas
Copy link

That is a very fun game, except "Pizza" has two z's and would'nt let me guess the other z, bummer, i am working on same thing

@natbat01
Copy link

hi there the whole code is saying that its messed up plz could some one help

@babybabeloy
Copy link

the code is error please send here the correct code

@babybabeloy
Copy link

@PoojaAmolDeshmukh please send the correct code

@souravrane
Copy link

souravrane commented Mar 30, 2018

Implemented the game in a little simple way but without graphics !
A python 3 code.
check it out at : https://github.com/souravrane/Hangman

@Achal104
Copy link

Is that a full code? because when i run the corrected code above, it gives no output

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment