游戏说明
# 小游戏唐僧大战白骨精
# 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 += 2
player_attack += 2
print(f'恭喜你练级成功,升级后的角色信息:(生命值:{player_life},攻击力:{player_attack})')
print()
# 操作2 玩家选择打BOSS
elif act == 2 :
boss_life -= player_attack
if boss_life <= 0 :
boss_life = 0
boss_attack = 0
print('你对白骨精发起了攻击')
print(f'白骨精现在的角色信息:(生命值:{boss_life},攻击力:{boss_attack})')
print()
print('白骨精被你打死了,游戏结束')
else :
print('你对白骨精发起了攻击')
print(f'白骨精现在的角色信息:(生命值:{boss_life},攻击力:{boss_attack})')
print()
player_life -= boss_attack
if player_life <= 0 :
player_life = 0
player_attack = 0
print('白骨精对你发起了反击')
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 = 10
print(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 += 2
player_attack += 2
print(f'练级成功!你现在的生命值是<{player_life}>,你现在的攻击力是<{player_attack}>')
# 打印一条分割线
print('=' * 60)
# 玩家选择2 打boss
elif act == '2' :
boss_life -= player_attack
print(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版本的下载链接