| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2579 人关注过本帖
标题:小白做的“人狗大战”,大家帮着看看,不喜勿喷,谢谢
取消只看楼主 加入收藏
python小白
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2020-5-1
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
小白做的“人狗大战”,大家帮着看看,不喜勿喷,谢谢
小白做的“人狗大战”,大家帮着看看,不喜勿喷,谢谢:
class Animal:  # 创建Animal父类,都有名字、血量和攻击力
    def __init__(self, name, blood, fight):  # init方法
        self.name = name  # 名字
        self.blood = blood  # 血量
        self.fight = fight  # 攻击力

    def eat(self):
        self.fight = self.fight + 1  # 吃饭增加攻击力
        print(self.name + "吃饭了,攻击力+1")


class People(Animal):  # 创建People子类,继承父类Animal
    def __init__(self, name, blood=1000, fight=10, money=3000):
        super().__init__(name, blood, fight)  # 继承父类的init方法
        self.money = money  # 派生出新的属性“钱”

    def attack(self, dog):
        dog.blood = dog.blood - self.fight  # 打狗,狗的血量对应人的攻击力下降
        print("您打了您的狗,他目前还剩的血量为:" + str(dog.blood))

    def work(self):
        self.money = self.money + 100  # 工作赚钱
        print(self.name + "工作了,赚了100块钱," + self.name + "目前还有" + str(self.money) + "块钱")
        if self.money >= 4000:
            self.fight = self.fight + 100
            self.money = self.money - 4000
            print(self.name + "买了一把枪,钱数-4000")


class Dog(Animal):  # 创建Dog子类,继承父类Animal
    def __init__(self, type, name, blood=750, fight=13):
        super().__init__(name, blood, fight)  # 继承父类的init方法
        self.type = type  # 派生出新的属性“血统”

    def bite(self, person):
        person.blood = person.blood - self.fight  # 咬人,人的血量对应狗的攻击力下降
        print("您的狗咬了您,您目前还剩的血量为:" + str(person.blood))


P1 = People("张三")  # 创建People实例P1
D1 = Dog("呆萌", "二哈")  # 原理同上
i = 0
while D1.blood != 0 and P1.blood != 0:
    i = i + 1
    if i % 3 == 0:
        P1.eat()
    elif i % 6 == 1:
        P1.work()
    else:
        P1.attack(D1)
    if D1.blood <= 0 or P1.blood <= 0:
        break
    if i % 3 == 0:
        D1.eat()
    else:
        D1.bite(P1)
    if D1.blood <= 0 or P1.blood <= 0:
        break

下面是效果:
张三工作了,赚了100块钱,张三目前还有3100块钱
您的狗咬了您,您目前还剩的血量为:987
您打了您的狗,他目前还剩的血量为:740
您的狗咬了您,您目前还剩的血量为:974
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:729
您的狗咬了您,您目前还剩的血量为:960
您打了您的狗,他目前还剩的血量为:718
您的狗咬了您,您目前还剩的血量为:946
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有3200块钱
您的狗咬了您,您目前还剩的血量为:931
您打了您的狗,他目前还剩的血量为:706
您的狗咬了您,您目前还剩的血量为:916
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:693
您的狗咬了您,您目前还剩的血量为:900
您打了您的狗,他目前还剩的血量为:680
您的狗咬了您,您目前还剩的血量为:884
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有3300块钱
您的狗咬了您,您目前还剩的血量为:867
您打了您的狗,他目前还剩的血量为:666
您的狗咬了您,您目前还剩的血量为:850
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:651
您的狗咬了您,您目前还剩的血量为:832
您打了您的狗,他目前还剩的血量为:636
您的狗咬了您,您目前还剩的血量为:814
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有3400块钱
您的狗咬了您,您目前还剩的血量为:795
您打了您的狗,他目前还剩的血量为:620
您的狗咬了您,您目前还剩的血量为:776
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:603
您的狗咬了您,您目前还剩的血量为:756
您打了您的狗,他目前还剩的血量为:586
您的狗咬了您,您目前还剩的血量为:736
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有3500块钱
您的狗咬了您,您目前还剩的血量为:715
您打了您的狗,他目前还剩的血量为:568
您的狗咬了您,您目前还剩的血量为:694
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:549
您的狗咬了您,您目前还剩的血量为:672
您打了您的狗,他目前还剩的血量为:530
您的狗咬了您,您目前还剩的血量为:650
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有3600块钱
您的狗咬了您,您目前还剩的血量为:627
您打了您的狗,他目前还剩的血量为:510
您的狗咬了您,您目前还剩的血量为:604
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:489
您的狗咬了您,您目前还剩的血量为:580
您打了您的狗,他目前还剩的血量为:468
您的狗咬了您,您目前还剩的血量为:556
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有3700块钱
您的狗咬了您,您目前还剩的血量为:531
您打了您的狗,他目前还剩的血量为:446
您的狗咬了您,您目前还剩的血量为:506
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:423
您的狗咬了您,您目前还剩的血量为:480
您打了您的狗,他目前还剩的血量为:400
您的狗咬了您,您目前还剩的血量为:454
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有3800块钱
您的狗咬了您,您目前还剩的血量为:427
您打了您的狗,他目前还剩的血量为:376
您的狗咬了您,您目前还剩的血量为:400
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:351
您的狗咬了您,您目前还剩的血量为:372
您打了您的狗,他目前还剩的血量为:326
您的狗咬了您,您目前还剩的血量为:344
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有3900块钱
您的狗咬了您,您目前还剩的血量为:315
您打了您的狗,他目前还剩的血量为:300
您的狗咬了您,您目前还剩的血量为:286
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:273
您的狗咬了您,您目前还剩的血量为:256
您打了您的狗,他目前还剩的血量为:246
您的狗咬了您,您目前还剩的血量为:226
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
张三工作了,赚了100块钱,张三目前还有4000块钱
张三买了一把枪,钱数-4000
您的狗咬了您,您目前还剩的血量为:195
您打了您的狗,他目前还剩的血量为:118
您的狗咬了您,您目前还剩的血量为:164
张三吃饭了,攻击力+1
二哈吃饭了,攻击力+1
您打了您的狗,他目前还剩的血量为:-11

[此贴子已经被作者于2020-5-2 11:39编辑过]

搜索更多相关主题的帖子: 工作 攻击 吃饭 name 三目 三目 攻击 name 吃饭 工作 
2020-05-02 11:25
python小白
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2020-5-1
收藏
得分:0 
我又改了改,能再看看吗,谢谢:



import sys
import time


class Animal:  # 创建Animal父类,都有名字、血量和攻击力
    def __init__(self, name, blood, fight):  # init方法
        self.name = name  # 名字
        self.blood = blood  # 血量
        self.fight = fight  # 攻击力

    def eat(self):
        self.fight = self.fight + 1  # 吃饭增加攻击力
        print(self.name + "吃饭了,攻击力+1")


class People(Animal):  # 创建People子类,继承父类Animal
    def __init__(self, name, blood=700, fight=9, money=3000):
        super().__init__(name, blood, fight)  # 继承父类的init方法
        self.money = money  # 派生出新的属性“钱”

    def attack(self, dog):
        dog.blood = dog.blood - self.fight  # 打狗,狗的血量对应人的攻击力下降
        print("您打了您的狗,他目前还剩的血量为:" + str(dog.blood))

    def work(self):
        self.money = self.money + 100  # 工作赚钱
        print(self.name + "工作了,赚了100块钱," + self.name + "目前还有" + str(self.money) + "块钱")
        if self.money >= 4000:
            self.fight = self.fight + 11
            self.money = self.money - 4000
            print(self.name + "买了一把枪,钱数-4000")


class Dog(Animal):  # 创建Dog子类,继承父类Animal
    def __init__(self, type, name, blood=550, fight=17):
        super().__init__(name, blood, fight)  # 继承父类的init方法
        self.type = type  # 派生出新的属性“血统”

    def bite(self, person):
        person.blood = person.blood - self.fight  # 咬人,人的血量对应狗的攻击力下降
        print("您的狗咬了您,您目前还剩的血量为:" + str(person.blood))


'''
P1 = People("张三")  # 创建People实例P1
D1 = Dog("呆萌", "二哈")  # 原理同上
i = 0
while D1.blood != 0 and P1.blood != 0:
    i = i + 1
    if i % 3 == 0:
        P1.eat()
    elif i % 6 == 1:
        P1.work()
    else:
        P1.attack(D1)
    if D1.blood <= 0 or P1.blood <= 0:
        break
    if i % 3 == 0:
        D1.eat()
    else:
        D1.bite(P1)
    if D1.blood <= 0 or P1.blood <= 0:
        break
'''

D1 = Dog("二哈", "呆萌")
your_name = input("请输入你的名字:")
P1 = People(your_name)
print("您目前有1000血量,10攻击力,3000块钱。\n吃饭(请输入0)可以将攻击力+1,攻击(请输入1)可以将狗减血,\
工作(请输入2)可以将您的钱+100,枪卖4000块钱。\n")
print("你的狗是呆萌,它是个二哈。")
i = 0
while D1.blood > 0 and P1.blood > 0:
    i = i + 1
    you = input("你要干什么呢?(具体输入见上)")
    you = int(you)
    if you == 0:
        P1.eat()
    elif you == 1:
        P1.attack(D1)
    else:
        P1.work()
    if i % 3 == 0:
        D1.eat()
    else:
        D1.bite(P1)

if P1.blood <= 0:
    print("你输了,再来一次吧。")
    time.sleep(3)
    sys.exit(0)
print("OK, you win, next:")
print("您还有一只狗,叫白尾,是条藏獒。", end=" ")
game_exit = input("你不可能赢的,输入exit退出,否则输入其他的继续。")
if game_exit == "exit":
    sys.exit(0)
else:
    print("哦,挺厉害的嘛,那来试试吧。")
D2 = Dog("藏獒", "白尾", 780, 23)
P1.blood = 700
P1.fight = 9
P1.money = 3000
i = 0
while D2.blood > 0 and P1.blood > 0:
    i = i + 1
    you = input("你要干什么呢?(具体输入见上)")
    you = int(you)
    if you == 0:
        P1.eat()
    elif you == 1:
        P1.attack(D2)
    else:
        P1.work()
    if i % 3 == 0:
        D2.eat()
    else:
        D2.bite(P1)
print("\n再见。( ̄▽ ̄)Bye~Bye~")
time.sleep(3)
2020-05-02 21:19
快速回复:小白做的“人狗大战”,大家帮着看看,不喜勿喷,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037679 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved