python简单脚本01

“”"

回合制游戏

每个角色都有hp和power,hp代表血量,power代表攻击力
hp的初始值未1000,power的初始值为200。
定义一个fight方法
my_final_hp = my_hp - enemy_power
enemy_final_hp = enemy_hp - my_power
两个hp进行对比,血量剩余多的人获胜
函数
循环/判断
三母运算
类型提示
“”"

"""
@Time   :2021/10/26 20:25
@Author :Wesley
@File   :demo_a_1026.PY
"""




# 定义fight函数实现游戏逻辑
def fight():
    # 定义4个变量存放数据
    my_hp = 1000
    my_power = 200
    enemy_hp = 1000
    enemy_power = 200
    # 定义最终血量计算方式
    my_final_hp = my_hp - enemy_power
    enemy_final_hp = enemy_hp - my_power

    # 判断输赢
    # if my_final_hp > enemy_final_hp:
    #     print("I win")
    # elif my_final_hp < enemy_final_hp:
    #     print("Enemy win")
    # else:
    #     print("All win")

    # 三母运算,与if-else,只是语法简洁了
    print("I win") if my_final_hp > enemy_final_hp else print("I lost")


fight()


def fight():
    # 定义4个变量存放数据
    my_hp = 1000
    my_power = 200
    enemy_hp = 1000
    enemy_power = 199

    # 加入循环,让游戏可以进行多轮
    while True:
        my_hp = my_hp - enemy_power
        enemy_hp = enemy_hp - my_power
        if my_hp <= 0:
            print("I lost")
            break
        elif enemy_hp <= 0:
            print("I win")
            break

fight()

import random


def fight(enemy_hp, enemy_power):
    # 定义4个变量存放数据
    my_hp = 1000
    my_power = 200
    print(f"敌人的血量{enemy_hp},攻击力{enemy_power}")

    # 加入循环,让游戏可以进行多轮
    while True:
        my_hp = my_hp - enemy_power
        enemy_hp = enemy_hp - my_power
        if my_hp <= 0:
            print(f"我的剩余血量{my_hp}")
            print(f"敌人的剩余血量{enemy_hp}")
            print("I lost")
            break
        elif enemy_hp <= 0:
            print(f"我的剩余血量{my_hp}")
            print(f"敌人的剩余血量{enemy_hp}")
            print("I win")
            break


if __name__ == '__main__':
    # 利用列表推导式生成hp
    hp = [x for x in range(990, 1010)]
    enemy_hp = random.choice(hp)
    enemy_power = random.randint(190, 210)
    fight(enemy_hp, enemy_power)
"""
@Time   :2021/10/27 12:50
@Author :Wesley
@File   :demo_b.PY
"""
"""
Bicyle 自行车类,有run 骑行方法,调用时显示骑行里程km
EBicyle 电动车类,继承Bicyle类,添加电池电量valume属性
两个方法:
fill_charge(vol) 用来充电,vol为电量
run(km) 用于骑行,每骑行10km消耗电量1度,当电量消耗调用
Bicyle方法,通过传入的骑行里程数,显示骑行结束
"""


class Bicyle:
    def run(self, km):
        print(f'一共用脚骑了{km}公里')


class EBicyle(Bicyle):

    def __init__(self, valume):
        self.valume = valume

    def fill_charge(self, vol):
        self.valume = self.valume + vol
        print(f'充了{vol}度电,现在电量为{self.valume}')

    def run(self, km):
        power_km = self.valume * 10
        if power_km >= km:
            print(f'我使用了电瓶电量骑行了{km}公里')
        else:
            print(f'我使用了电瓶电量骑行了{power_km}公里')
            # bike = Bicyle()
            # bike.run(km - power_km)
            super().run(km - power_km)


bike = Bicyle()
bike.run(10)
ebike = EBicyle(10)
ebike.fill_charge(3)
# 充了3度电,现在电量为13
ebike = EBicyle(10)
ebike.run(150)
# 我使用了电瓶电量骑行了100公里
# 一共用脚骑了50公里

"""
@Time   :2021/10/27 13:16
@Author :Wesley
@File   :demo_c.PY
"""


class Game:
    def __init__(self, my_hp, enemy_hp):
        # 定义4个变量存放数据
        self.my_hp = my_hp
        self.my_power = 200
        self.enemy_hp = enemy_hp
        self.enemy_power = 199

    def fight(self):
        # 加入循环,让游戏可以进行多轮
        while True:
            self.my_hp = self.my_hp - self.enemy_power
            self.enemy_hp = self.enemy_hp - self.my_power
            if self.my_hp <= 0:
                print("I lost")
                break
            elif self.enemy_hp <= 0:
                print("I win")
                break

    def rest(self, time_num):
        print(f'休息{time_num}分钟')


class HouYi(Game):
    # 重新定义一个defense属性
    # final_hp = hp + defense - enemy_power
    # enmey_final_hp = enemey_hp - power
    def __init__(self, my_hp, enemy_hp):
        self.defense = 1000
        # 通过继承父类的构造函数,调用父类的属性
        super().__init__(my_hp, enemy_hp)

    def fight(self):
        while True:
            self.my_hp = self.my_hp - self.enemy_power
            self.enemy_hp = self.enemy_hp - self.my_power
            if self.my_hp <= 0:
                print("I lost")
                break
            elif self.enemy_hp <= 0:
                print("I win")
                break


# game = Game()
# game.fight()
houyi = HouYi(1000, 1300)
houyi.fight()
houyi.rest(3)
# I lost
# 休息3分钟


# 装饰器:函数,加一些额外的功能
# 加日志,性能
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值