设为首页 加入收藏

TOP

python 游戏(猜单词Hangman)
2019-05-23 16:12:30 】 浏览:59
Tags:python 游戏 单词 Hangman

1.游戏思路和流程图

实现功能:随机一个单词让玩家猜测(后续难度实现修改为成语填空,成语必须要有提示,可修改猜的次数,增加连续猜成语,难度系数随着次数的增加而增加)

游戏流程图

2. 单词库和模块

import random
word='''and away big blue can come down find for funny go'''
word_list=word.split()

3. 游戏开始提示

def game_info():
'''游戏开始提示函数'''
print('欢迎来到猜单词')
print('游戏提示:你有9次猜单词的机会,一次只能猜一个字母')

4. 重新开始游戏输入验证

def Double_choice(a,b,hint):
'''双选择验证函数
:param a 第一个选项值
:param b 第二个选项值
:param hint 选项信息
:return 返回输入值'''
choice=''
while choice.lower() !=a and choice.lower() !=b:
print(hint)
choice=input()
return choice

5. 用户输入验证

def letter_limited(letter,right_letter_list):
'''字母输入约束条件
:param letter 用户输入单词
:param right_letter_list 用户猜中单词列表
:return 返回 用户输入单词'''
while True:
if len(letter) !=1:
print('请输入一个字母')
elif letter in right_letter_list:
print('这个字母猜过了,请重新猜一个字母')
elif letter not in 'abcdefghijklmnopqrstuvwxyz':
print('请输入英文字母')
else:
break
letter=input()
return letter.lower()

6. 猜词判断(游戏核心)

def word_handle(user_letter,guess_letter_list,right_letter_list):
'''字母判断
:param user_letter 用户输入字母
:param guess_letter_list 需要猜测的字母列表
:param right_letter_list 用户猜中的字母列表
:return 返回用户猜中的字母列表'''
for i in range(len(guess_letter_list)):
if user_letter == guess_letter_list[i].lower():
right_letter_list[i]=guess_letter_list[i]
return right_letter_list

7. 游戏完成度提示

def game_content_hint(guess_letter_list):
'''游戏界面函数'''
print('单词完成度:%s'%' '.join(guess_letter_list))

8. 游戏核心外壳

def game_start():
'''游戏开始函数'''
guess_word=random.choice(word_list)
guess_letter_list=list(guess_word) #猜单词的列表
right_letter_list=['_'for i in guess_letter_list] #用户看见的单词列表
count=9 #猜取的次数
while count:
game_content_hint(right_letter_list)
print('猜单词中的字母(剩余机会%d)'%count)
user_letter=letter_limited(input(),right_letter_list)
# print(user_letter)
right_letter_list=word_handle(user_letter,guess_letter_list,right_letter_list)
# print(right_letter_list)
if right_letter_list == guess_letter_list:
break
count -= 1
if right_letter_list == guess_letter_list:
print('恭喜你猜中了全部字母,这个单词是%s'%guess_word)
else:
print('你的机会用光了也没猜中,这个单词是%s' %(guess_word))

9. 游戏外壳(重新开始游戏)

def game_shell():
'''外壳程序'''
game_info() # 游戏开始提示
game_start()
while True:
message='你想在玩一次吗(Y or N)'
again_flag=Double_choice('y','n',message)
if again_flag=='n':
break
game_start()

10. 运行游戏

game_shell()



python学习途径

本游戏参考书本 <<Python游戏编程快速上手>>

友情推荐:  猿人学Python【 https://www.yuanrenxue.com/】 由一群工作十余年的老程序员结合实际工作经验所写的Python教程。

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇刨根问底:if 后怎么就可以跟对象.. 下一篇python3脚本打开摄像头

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目