Kann mir jemand helfen bei hangman?

Ich bin mit python 2.7.1, um ein hangman-Spiel. Ich bin versucht, den Benutzer entscheiden lassen, ob die Wiedergabe, bevor das Spiel endet. Ich bin versucht, eine variable zu verwenden keep_playing, aber es funktioniert nicht.
Auch in guesses=word_len * ['_'] möchte ich ein Leerzeichen zwischen den Unterstrichen, weil, wenn Sie zusammen bleiben, ich kann nicht sehen, wie viele Buchstaben übrig sind. Dies ist mein Henker-code:

from random import *
import os


keep_playing = True
def print_game_rules(max_incorrect,word_len):
    print"you have only 7 chances to guess the right answer"
    return

def get_letter():
    print
    letter = raw_input("Guess a letter in the mystery word:") 
    letter.strip()
    letter.lower()
    print
    os.system('cls')
    return letter
def display_figure(hangman):
    graphics = [
    """
        +--------+
         |
         |
         |
         |
         |
         |
     ====================
    """,
    """
        +-------
        |      o
        |
        |
        |
        |
    ====================
    """,
    """
        +-------
        |      o
        |      +   
        |      |
        |
        |
    ======================
    """,
    """
        +-------
        |       o
        |    ---+
        |       |
        |    
        |  
        |   
    =====================
    """,
    """
        +-------
        |       o
        |    ---+---
        |       |
        |        
        |         
        |     
        |
    =====================
    """,
    """
        +-------
        |       o
        |    ---+---
        |       |
        |      /
        |     /  
        |    /    
        |     
    =====================
    """,
    """
        +-------
        |       o
        |    ---+---
        |       |
        |      /\   
        |     /  \  
        |    /    \    
        |     
    =====================
    """]

    print graphics[hangman]
    return



animals=["horse","donkey","dinosaur","monkey","cat","aligator","butterfly","buffallo","dragon"]
word=choice(animals)
word_len=len(word)
guesses=word_len * ['_']
max_incorrect=6
alphabet="abcdefghijklmnopqrstuvxyz"
letters_tried=""
number_guesses=0
letters_correct=0
incorrect_guesses=0


print_game_rules(max_incorrect,word_len)
while (incorrect_guesses != max_incorrect) and (letters_correct != word_len):
    letter=get_letter()
    if len(letter)==1 and letter.isalpha():
        if letters_tried.find(letter) != -1:
            print "You already picked", letter
        else:
            letters_tried = letters_tried + letter
            first_index=word.find(letter)
            if  first_index == -1:
                incorrect_guesses= incorrect_guesses +1
                print "The",letter,"is not the mystery word."
            else:
                print"The",letter,"is in the mystery word."
                letters_correct=letters_correct+1
                for i in range(word_len):
                    if letter == word[i]:
                        guesses[i] = letter

    else:
        print "Please guess a single letter in the alphabet."
    display_figure(incorrect_guesses)

    print ''.join(guesses)
    print "Letters tried so far: ", letters_tried
    if incorrect_guesses == max_incorrect:
        print "Sorry, too many incorrect guesses. You are hanged."
        print "The word was",word
        keep_playing = False
    if letters_correct == word_len:
        print "You guessed all the letters in the word!"
        print "The word was",word
        keep_playing = False



while keep_playing == False:
    user = raw_input("\n\tShall we play another game? [y|n] ")
    again = "yes".startswith(user.strip().lower())
    if again:
        keep_playing = True
    if not again:
        break

raw_input ("\n\n\nPress enter to exit")
InformationsquelleAutor phhnk | 2011-04-30
Schreibe einen Kommentar