hangman游戏python代码实现并画图
时间: 2023-08-22 07:05:52 浏览: 68
下面是一个简单的 Hangman 游戏的 Python 代码实现,使用了 ASCII 图形来绘制 Hangman 的图像:
```python
import random
# Hangman 图像
HANGMAN = (
"""
_______
|/ |
|
|
|
|
|
|
|
-------
""",
"""
_______
|/ |
| O
|
|
|
|
|
|
-------
""",
"""
_______
|/ |
| O
| |
|
|
|
|
|
-------
""",
"""
_______
|/ |
| O
| /|
|
|
|
|
|
-------
""",
"""
_______
|/ |
| O
| /|\\
|
|
|
|
|
-------
""",
"""
_______
|/ |
| O
| /|\\
| /
|
|
|
|
-------
""",
"""
_______
|/ |
| O
| /|\\
| / \\
|
|
|
|
-------
"""
)
# 可选的单词列表
WORDS = ("PYTHON", "JAVASCRIPT", "JAVA", "PHP", "RUBY", "HTML", "CSS", "MYSQL")
# 选择一个随机单词
word = random.choice(WORDS)
# 用下划线替代单词中的字母
display = "_" * len(word)
# 跟踪猜测的字母
guessed = []
# 猜测的次数
wrong_guesses = 0
# 游戏循环
while wrong_guesses < len(HANGMAN) - 1:
# 显示当前的 Hangman 图像和猜测的字母
print(HANGMAN[wrong_guesses])
print("猜测的字母:", guessed)
print("当前单词状态:", display)
# 等待用户输入一个字母
guess = input("请猜一个字母:").upper()
# 如果用户已经猜过这个字母,跳过
if guess in guessed:
print("你已经猜过这个字母了。请重新猜一个字母。")
continue
# 把猜测的字母添加到列表中
guessed.append(guess)
# 如果用户猜对了,更新单词状态
if guess in word:
print("你猜对了!")
# 更新单词状态
new_display = ""
for i in range(len(word)):
if word[i] == guess:
new_display += guess
else:
new_display += display[i]
display = new_display
# 如果单词已经被猜完,胜利
if "_" not in display:
print("恭喜你,你猜对了!单词是:" + word)
break
# 如果用户猜错了,增加猜错次数
else:
print("你猜错了。")
wrong_guesses += 1
# 如果猜错次数达到最大值,游戏结束
if wrong_guesses == len(HANGMAN) - 1:
print(HANGMAN[wrong_guesses])
print("很遗憾,你输了。单词是:" + word)
```
这个代码使用 `HANGMAN` 元组来存储 Hangman 图像。`WORDS` 列表包含可供选择的单词。在每次游戏开始时,从列表中随机选择一个单词,并将其转换为下划线。然后,程序进入一个循环,直到玩家猜对单词或猜错次数达到最大值。在每个循环中,程序显示当前的 Hangman 图像和猜测的字母,并等待玩家输入一个字母。如果玩家猜对了,程序更新单词状态,并检查单词是否被猜完。如果玩家猜错了,程序增加猜错次数。如果猜错次数达到最大值,程序显示 Hangman 的完整图像,并宣布玩家输了。