python简单实现猫狗大战小游戏

import random

class Dog:
    def __init__(self,breed,name,atk,self_life_value):
        self.breed = breed
        self.name = name
        self.atk = atk
        self.money = 0
        self.self_life_value = self_life_value
        self.equipment = []

    def attack(self,obj):

        obj.self_life_value -= self.atk
        self.money += 20
        r = random.randint(0,9)
        #出现暴击
        if r==8 or r==6 or r==4:
            obj.self_life_value -= 10
            x = self.atk+10
            self.money += 10
            print("\033[1;35m二愣子的攻击出现了暴击,直接砍掉死胖子%d的血\033[0m"%x)
            print("\033[1;35m二愣子打出暴击,额外奖励10元\033[0m")
        else:
            print("二愣子砍掉死胖子%d的血" % self.atk)


class Cat:
    def __init__(self,breed,name,atk,self_life_value):
        self.breed = breed
        self.name = name
        self.money = 0
        self.atk = atk
        self.self_life_value = self_life_value
        self.equipment = []

    def attack(self, obj):

        obj.self_life_value -= self.atk
        self.money += 20
        r = random.randint(0, 9)
        # 出现暴击
        if r == 6:
            obj.self_life_value -= 15
            x = self.atk+15
            self.money += 10
            print("\033[1;34m死胖子的攻击出现了暴击,直接砍掉二愣子%d的血\033[0m"%x)
            print("\033[1;34m死胖子打出暴击,额外奖励10元\033[0m")

        else:
            print("死胖子砍掉二愣子%d的血" % self.atk)

class Wepon:
    def __init__(self,name,price,atk,life_value):
        self.name = name
        self.price = price
        self.atk = atk
        self.life_value = life_value


    def equipment(self,obj):
        if obj.money < self.price:
            print("\033[1;33m穷鬼,没钱还想来玩?\033[0m")
        else:
            print("\033[1;31m恭喜%s喜提神级武器%s!!!\033[0m"%(obj.name,self.name))
            obj.self_life_value += self.life_value
            obj.atk += self.atk
            obj.money -= self.price

def switch_case(obj):

    huo = Wepon("火焰枪", 50, 20, 10)
    jin = Wepon("金箍棒", 70, 30, 10)
    tie = Wepon("铁布衫", 40, 5, 80)

    dict_wepon = {
        0 : tie,
        1 : huo,
        2 : jin
    }

    print("您有机会抽得一把武器,祝你好运哦")
    r = random.randint(0, 2)
    dict_wepon[r].equipment(obj)



if __name__ == '__main__':
    d = Dog("哈士奇", "二愣子", 35, 700)
    c = Cat("大橘", "死胖子", 60, 600)


    while d.self_life_value>0 and c.self_life_value>0:
        d.attack(c)
        if d.money>=40:
            print("二愣子要去买一把武器")
            switch_case(d)

        if c.self_life_value <= 0:
            print("二愣子咬死了死胖子")
            print("二愣子还有%d的血"%d.self_life_value)
            break

        c.attack(d)
        if c.money>=40:
            print("死胖子要去买一把武器")
            switch_case(c)

        if d.self_life_value <= 0:
            print("死胖子咬死了二愣子")
            print("死胖子还有%d的血" % c.self_life_value)
            break


 效果图

 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值