python小游戏《孙悟空大战白骨精》 (循环的练习)

二话不说,直接上源码

# 设定攻击力和生命值
attack=2
life=2
boss_attack=10
boss_life=10
bo=False # 判定游戏是否退出
while True:
    print('----------------------欢迎进入《孙悟空大战白骨精》----------------------')
    print('''\t\t1.孙悟空
    \t2.白骨精''')
    i = int(input('请选择你的角色:(1-2)'))
    if i==1:
        print('选择了孙悟空,你真是一个正气凛然的英雄!')
        break
    elif i==2:
        print('居然选择了邪恶的白骨精?!你要当一个正人君子,系统自动给你分配了孙悟空角色...')
        break
    else:
        print('没有这个选项!请重新选择')
    print('''----------------------游戏开始----------------------''')
while True:
    print(f'当前孙悟空的攻击力为{attack},生命值为{life}')
    print('''请选择你要做的操作:
    1.练级
    2.打boss
    3.逃跑''')
    operate=input()
    if operate=='1':
       attack+=2
       life+=2
       print('--------------------------------练级成功!--------------------------------')
    #     打boss
    elif operate=='2':
        while True:
            print('''你的技能
                         1.斗战狂舞
                         2.蟠桃回复
                         3.弑天一击
                         4.化身逃跑''')
            # 技能选择
            player_Skill=input('选择技能(1-4)')
            if player_Skill=='1':
                boss_life-=2
                print(f'你使用-斗战狂舞-造成了2点伤害,boss当前血量值为{boss_life}')
                # 判断boss是否死亡
                if boss_life<=0:
                    bo=True
                    print('恭喜你,已经成功击杀boss白骨精......游戏已退出')
                    break
                # boss对玩家进行攻击
                life -= 5
                if life>0:
                    print(f'boss对你进行了攻击,你当前血量为{life}')
                else:
                    print('boss对你进行了攻击,你当前血量为0,死亡!')
                    bo = True
                    break
            elif player_Skill=='2':
                life+=2
                print(f'你使用-蟠桃回复-回复了2点生命值,你当前血量为{life},boss当前血量值为{boss_life}')
                # boss对玩家进行攻击
                life -= 5
                if life>0:
                    print(f'boss对你进行了攻击,你当前血量为{life}')
                else:
                    print('boss对你进行了攻击,你当前血量为0,死亡!')
                    bo=True

                    break
            elif player_Skill=='3':
                boss_life-=(attack-1)
                print(f'你使用-弑天一击-对boss造成了{attack-1}点伤害,boss当前血量值为{boss_life}')
                # 判断boss是否死亡
                if boss_life <= 0:
                    bo = True
                    print('恭喜你,已经成功击杀boss白骨精......游戏已退出')
                    break
                # boss对玩家进行攻击
                life -= 5
                if life>0:
                    print(f'boss对你进行了攻击,你当前血量为{life}')
                else:
                    print('boss对你进行了攻击,你当前血量为0,死亡!')
                    bo=True
                    break
            elif player_Skill == '4':
                print('你使用了-化身逃跑-,逃跑成功!')
                break
    elif operate == '3':
        bo=True
        print('------------------太怂了吧!您已经离开了游戏------------------')
    if bo:
        break

游戏截图

很简单的一个循环嵌套练习小游戏,可以拿来练练手 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
很抱歉,我是一个AI语言模型,无法编写完整的游戏。但是,我可以提供一些思路和代码片段,希望对你有所帮助。 思路: 1. 设置三个角色:唐僧、孙悟空白骨精 2. 每个角色都有自己的属性,例如生命值、攻击力、防御力等 3. 游戏开始后,玩家可以选择控制唐僧或孙悟空进行攻击,白骨精则自动进行攻击 4. 玩家的攻击会减少白骨精的生命值,白骨精的攻击会减少唐僧或孙悟空的生命值,直到某一方生命值归零,游戏结束 5. 在每次攻击后,可以输出当前各角色的生命值和攻击信息,以及游戏是否结束的提示信息 代码片段: 以下是一些可能用到的python代码片段,供参考。 1. 角色类的定义 ```python class Character: def __init__(self, name, hp, attack, defense): self.name = name self.hp = hp self.attack = attack self.defense = defense def attack_enemy(self, enemy): damage = self.attack - enemy.defense enemy.hp -= damage print(f"{self.name}对{enemy.name}造成了{damage}点伤害!") if enemy.hp <= 0: print(f"{enemy.name}死亡!") def is_dead(self): return self.hp <= 0 ``` 2. 角色的实例化 ```python tang_seng = Character("唐僧", 100, 10, 5) sun_wukong = Character("孙悟空", 120, 12, 3) bai_gujing = Character("白骨精", 80, 8, 2) ``` 3. 游戏循环的实现 ```python while True: # 显示当前角色的状态 print(f"{tang_seng.name} 生命值:{tang_seng.hp},攻击力:{tang_seng.attack},防御力:{tang_seng.defense}") print(f"{sun_wukong.name} 生命值:{sun_wukong.hp},攻击力:{sun_wukong.attack},防御力:{sun_wukong.defense}") print(f"{bai_gujing.name} 生命值:{bai_gujing.hp},攻击力:{bai_gujing.attack},防御力:{bai_gujing.defense}") # 玩家选择攻击的对象 player_input = input("请选择你要攻击的角色(1:唐僧,2:孙悟空):") if player_input == "1": tang_seng.attack_enemy(bai_gujing) elif player_input == "2": sun_wukong.attack_enemy(bai_gujing) else: print("选择无效!") continue # 白骨精进行攻击 bai_gujing.attack_enemy(tang_seng if sun_wukong.is_dead() else sun_wukong) # 判断游戏是否结束 if tang_seng.is_dead() and sun_wukong.is_dead(): print("游戏结束,白骨精胜利!") break elif bai_gujing.is_dead(): print("游戏结束,玩家胜利!") break ``` 注意:以上代码片段仅供参考,可能存在错误或不足之处,需要根据实际情况进行修改和完善。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孔雀南飞梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值