python_习题练习_5_小游戏《唐僧大战白骨精》
生活随笔
收集整理的这篇文章主要介绍了
python_习题练习_5_小游戏《唐僧大战白骨精》
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 游戏说明
- 代码演示
- 代码优化 2.0版本
- 打包成exe文件
游戏说明
# 小游戏唐僧大战白骨精# 1. 身份选择 # ① 显示提示信息 # 欢迎光临 xxx 游戏 ! # 请选择你的身份: # 1. xxx # 2. xxx # 请选择:x # ② 根据用户选择来分配身份(显示不同的提示信息) # 1. --- # 2. --- # 3. ---# 2. 游戏进行 # ① 显示玩家的基本信息(攻击力 生命值) # ② 显示玩家可以进行的操作: # 1. 练级 # - 提升玩家的攻击力和生命值 # 2. 打BOSS # - 玩家对BOSS进行攻击,玩家要攻击BOSS,BOSS对玩家进行反击 # - 计算BOSS是否被玩家消灭,玩家是否被BOSS消灭 # - 游戏结束 # 3. 逃跑 # - 退出游戏,显示信息,游戏结束 !代码演示
print('==========欢迎来到小游戏 < 唐僧大战白骨精 > ==========')print()############################################################ # 玩家选择角色print('请选择你的角色:') print(' 1. 唐僧') print(' 2. 白骨精')print()role = int(input('请选择:'))print()if role == 1 :print('你已经选择了角色:唐僧') elif role == 2 :print('什么?你竟然选择了白骨精!(σ`д′)σ 选择无效 系统将强制为你选择角色:唐僧') else :print('输入不合法,系统将强制为你选择角色:唐僧')print()############################################################ #显示角色信息player_life = 2 #初始化玩家生命值 player_attack = 2 # 初始化玩家生命力 print(f'你的角色信息:(生命值:{player_life},攻击力:{player_attack})')boss_life = 10 # 初始化BOSS生命值 boss_attack = 10 # 初始化BOSS攻击力 print(f'白骨精的角色信息:(生命值:{boss_life},攻击力:{boss_attack})')print()############################################################ # 玩家选择操作while player_life > 0 and boss_life > 0:print('请选择你想要进行的操作:')print(' 1. 练级')print(' 2. 打BOSS')print(' 3. 逃跑')print()act = int(input('请选择:'))print()# 操作1 玩家选择练级if act == 1 :player_life += 2player_attack += 2print(f'恭喜你练级成功,升级后的角色信息:(生命值:{player_life},攻击力:{player_attack})')print()# 操作2 玩家选择打BOSSelif act == 2 :boss_life -= player_attackif boss_life <= 0 :boss_life = 0boss_attack = 0print('你对白骨精发起了攻击')print(f'白骨精现在的角色信息:(生命值:{boss_life},攻击力:{boss_attack})')print()print('白骨精被你打死了,游戏结束')else :print('你对白骨精发起了攻击')print(f'白骨精现在的角色信息:(生命值:{boss_life},攻击力:{boss_attack})')print()player_life -= boss_attackif player_life <= 0 :player_life = 0player_attack = 0print('白骨精对你发起了反击')print(f'你现在的角色信息:(生命值:{player_life},攻击力:{player_attack})')print()print('你被白骨精打死了,游戏结束')# 操作3 玩家选择逃跑elif act == 3 :print('逃跑成功,游戏结束')player_life = 0# 出现不合法输入的情况else :print('输入不合法')print()代码优化 2.0版本
# 显示欢迎信息 print('=' * 20, '欢迎来到小游戏《大战白骨精》', '=' * 20) # 两端用分割线让文字居中对齐# 玩家选择角色 print('请选择你想扮演的角色:') print('\t1. 正义的普通玩家') # \t 表示 Tab print('\t2. 邪恶的boss') role = input('请输入你的选择(1 or 2):') # 创建变量保存玩家的选择# 打印一条分割线 print('=' * 60)# 选择1 if role == '1' :print('选择成功,你将以<正义的普通玩家>的身继续游戏') # 选择2 elif role == '2' :print('哈?你竟然选择了<邪恶的boss>!选择无效,系统将自动为你选择角色,你将以<正义的普通玩家>的身份继续游戏') # 选择3 错误输入 else :print('你的输入有误,系统将自动为你选择角色,你将以<正义的普通玩家>的身份继续游戏')# 打印一条分割线 print('=' * 60) # 让玩家选择自定义用户名和boss名 player_name = input('你现在的角色名是<唐僧>,如果你不喜欢这个名字,可以在此处自定义一个名字(按回车可跳过此操作):') boss_name = input('boss现在的名称是<白骨精>,如果你不喜欢这个名字,可以在此处自定义一个名字(按回车可跳过此操作):')# 打印一条分割线 print('=' * 60)# 如果玩家没有自定义用户名,则系统自动使用<唐僧>这个角色名 if player_name == '' :player_name ='唐僧' # 如果玩家没有自定义boss名,则系统自动使用<白骨精>这个角色名 if boss_name == '' :boss_name = '白骨精'# 创建变量保存玩家的生命值和攻击力 player_life = 2 player_attack = 2# 创建变量保存玩家和boss的生命值和攻击力 boss_life = 10 boss_attack = 10print(f'操作成功!你的角色名是<{player_name}>,你的生命值是<{player_life}>,你的攻击力是<{player_attack}>') print(f'boss的角色名是<{boss_name}>')# 打印一条分割线 print('=' * 60)while True :# 显示玩家可选择的操作print('请选择你想要进行的操作:')print('\t1. 练级') print('\t2. 打boss') print('\t3. 逃跑')act = input('请输入你的选择(1 or 2 or 3):')# 打印一条分割线print('=' * 60)# 玩家选择1 练级if act == '1' :player_life += 2player_attack += 2print(f'练级成功!你现在的生命值是<{player_life}>,你现在的攻击力是<{player_attack}>')# 打印一条分割线print('=' * 60)# 玩家选择2 打bosselif act == '2' :boss_life -= player_attackprint(f'<{player_name}>攻击了<{boss_name}>')# 如果boss被打死了,游戏结束if boss_life <= 0 :print(f'<{boss_name}>受到了<{player_name}>的<{player_attack}>点伤害,重伤不治,死了!')print(f'<{player_name}>,恭喜你,赢得了游戏的胜利!GAME OVER !')break# 如果boss没死,对玩家发起反击print(f'<{boss_name}>对<{player_name}>发起了反击')player_life -= boss_attack# 如果玩家被boss打死了,游戏结束if player_life <= 0 :print(f'<{player_name}>受到了<{boss_name}>的<{boss_attack}>点伤害,重伤不治,死了!')print(f'<{boss_name}>赢得了游戏的胜利!GAME OVER !')break# 如果玩家没死,显示玩家当前信息print(f'<{player_name}> ,你现在的生命值是<{player_life}>,你现在的攻击力是 {player_attack}')# 打印一条分割线print('=' * 60)# 玩家选择3 逃跑elif act == '3' :print(f'看到<{player_name}>要逃跑,<{boss_name}>趁势追上来,一掌把<{player_name}>拍死了!GAME OVER !')break# 玩家选择4 输入有误else :print('你的输入有误')# 打印一条分割线print('=' * 60)# 打印一条分割线 print('=' * 60)input('按回车退出游戏:')打包成exe文件
- 在网上搜了一下怎么打包出来。
- 一开始是打算打包成apk,但是找到的教程我看不懂,出了问题。
- 于是打算打包成exe文件,参照这篇教程
- 这个小游戏2.0版本的下载链接
总结
以上是生活随笔为你收集整理的python_习题练习_5_小游戏《唐僧大战白骨精》的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python标准库math中sin函数的
- 下一篇: 使用python编程语言编写程序:输入a