开发者学堂课程【Python 语言基础 1 :语法入门:小游戏开发_完成游戏】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/599/detail/8699
小游戏开发_完成游戏
进入游戏
显示玩家的信息( 攻击力、生命值),这两个值需要创建一个变量去保存,所以先创建变量,来保存玩家的生命值和攻击力。
l 创建变量,来保存玩家的生命值和攻击力
player_life = 2 #生命值
player_attack = 2 #攻击力
l 创建一个变量,保存 boss 的生命值和攻击力
boss_life = 10
boss_attack = 10
l 显示玩家的信息( 攻击力、生命值)
print(f‘唐僧,你的生命值是 {player_life} ,你的攻击力是 {player_attack}’)
修改格式更美观,在显示玩家的信息( 攻击力、生命值)前加入分割线
l 打印一条分割线
print(‘-’*66)
显示游戏选项,游戏正式开始
print(‘ 请选择你要进行的操作 : ’)
print(‘ \t 1. 练级 ’)
print(‘ \t 2. 打BOSS ’)
print(‘ \t 3. 逃跑 ’)
game_choose = input(‘请选择要做的操作[1-3] : ’)
修改格式,在显示游戏选项,游戏正式开始前增加一条分割线
l 打印一条分割线
print(‘-’*66)
l 处理用户的选择
if game_choose == ‘1’ :
#增加玩家的生命值和攻击力
player_life += 2
player_attack += 2
效果如下:
选择 1
可以看到选择一次后不继续显示,所以要注意:由于游戏选项是需要反复显示的,所以必须将其编写到一个循环中 while True :
即:
player_life = 2 #生命值
player_attack = 2 #攻击力
boss_life = 10
boss_attack = 10
print(‘-’*66)
print(f‘唐僧,你的生命值是 {player_life} ,你的攻击力是{player_attack}’)
while True:
print(‘-’*66)
print(f‘唐僧,你的生命值是 {player_life} ,你的攻击力是{player_attack}’)
print(‘-’*66)
print(‘ 请选择你要进行的操作 : ’)
print(‘ \t 1. 练级 ’)
print(‘ \t 2. 打BOSS ’)
print(‘ \t 3. 逃跑 ’)
game_choose = input(‘请选择要做的操作[1-3] : ’)
if game_choose == ‘1’ :
#增加玩家的生命值和攻击力
player_life += 2
player_attack += 2
可以修改格式,显示最新的信息,即:
while True:
print(‘-’*66)
print(‘ 请选择你要进行的操作 : ’)
print(‘ \t 1. 练级 ’)
print(‘ \t 2. 打BOSS ’)
print(‘ \t 3. 逃跑 ’)
game_choose = input(‘请选择要做的操作[1-3] : ’)
if game_choose == ‘1’ :
#增加玩家的生命值和攻击力
player_life += 2
player_attack += 2
print(‘-’*66)
print(f‘恭喜你升级了! ,你现在的生命值是 {player_life} ,你的攻击力是{player_attack}’)
接着输入 elif game_choose == ‘2’ :
l 玩家攻击 boss
减去 boss 的生命值,减去的生命值应该等于玩家的攻击力
boss_life -= player_attack
l 打印一条分割线
print(‘-’*66)
print( ‘ ->唐僧<- 攻击了 ->白骨精<- ’)
l 检查 boss 是否死亡
if boss_life <= 0 :
boss 死亡,player 胜利,游戏结束
print(f ‘->白骨精-<受到了 { player_attack }点伤害,重伤不治死了,->唐僧-<赢得了胜利!’)
游戏结束
break
l boss 要反击玩家
减去玩家的生命值
player_life -= boss_attack
print( ‘ ->白骨精<- 攻击了 ->唐僧<- ’)
l 检查玩家是否死亡
if player_life <= 0 :
玩家死亡
print(f ‘你受到了 { boss_attack }点伤害,重伤不治死了!GAME OVER ’ )
游戏结束
break
选择打 BOSS:
选择练级
继续输入:
elif game_choose == ‘3’ :
打印一条分割线
print(‘-’*66)
l 逃跑,退出游戏
print( ‘->唐僧-<一扭头,撒腿就跑!GAME OVER ’)
break
继续输入:
else :
打印一条分割线
print(‘-’*66)
print( ‘你的输入有误,请重新输入!’)