我在Python 3.5.1中创建一个hang子手游戏,除了涉及猜测部分时,一切都进展顺利。当信件被正确猜测时,我会打印“华友世界”,当它没有被正确猜测时,我会画出额外的身体部位。我的问题是,即使一个字母被正确地猜测它还将利用其它身体部位:Hang子手绘制无论正确的字母(Python,乌龟)
import drawHangman
import turtle
import random
def main():
window = turtle.Screen()
window.setup(400, 400, 200, 200)
HG = turtle.Turtle()
drawHangman.default(HG)
wrongGuess = 0
maxGuesses = 0
lines = open('wordlist.txt').read().splitlines()
myline =random.choice(lines)
print(myline)
name = input("Welcome to hangman! What is your name? \n")
print("Welcome", name + "! \n The rules are as follows: \n 1) No looking at answer list! \n 2) Do not have fun!! \n 3) No hacking my game!")
tos = input("Do you accept the rules provided above? Type Yes or No. \n")
if tos == "no":
print("Who cares! The rules suck anyways!")
elif tos == "yes":
print("HI")
else:
print("You don't listen very well. I guess proceed ugh")
while maxGuesses < 6:
guess = input("Please input your guess!")
maxGuesses += 1
for char in myline:
if char in guess:
print("Hurray")
else:
wrongGuess += 1
print("You have", 6 - maxGuesses, "guesses left!")
if wrongGuess == 1:
drawHangman.drawHead(HG)
elif wrongGuess == 2:
drawHangman.drawBody(HG)
elif wrongGuess == 3:
drawHangman.drawLeftArm(HG)
elif wrongGuess == 4:
drawHangman.drawRightArm(HG)
elif wrongGuess == 5:
drawHangman.drawLeftLeg(HG)
elif wrongGuess == 6:
drawHangman.drawRightLeg(HG)
else:
playAgain = input('Do you want to play again? (yes or no)')
if playAgain == "yes":
drawHangman.reset(HG)
main()
else:
print("Thanks for playing!")
return
main()
我知道它是与别的地方告诉它有一种错误的信,但我不能部分想办法。我试着缩进一个空格,但这只是打印剩下的猜测量。任何帮助表示赞赏。
PS。 drawHangman.*
例程来自我在我的src文件夹中包含正文部分的文件。
http://i.imgur.com/7uTKA1b.png HTTP://i.imgur .com/TGdiX3I.png 我尝试过,但我得到奇怪的结果。 –
我无法将第二个屏幕截图中的输出完全匹配到源代码窗格中显示的代码部分。你的程序确实有更多问题。例如,为什么你要迭代用户输入中的所有字符?不仅应该看第一个字符吗?每个输入将至少有一个换行符,与您的测试字中的任何字母都不匹配。我还不清楚这条消息会如何打印三次。 –