编程语言
首页 > 编程语言> > python反恐精英

python反恐精英

作者:互联网

class Player(object):
“”“玩家类”""

def __init__(self, name, hp=100): 
    """初始化玩家属性""" 
    self.name = name  # 名字 
    self.hp = hp  # 血量 
    self.gun = None  # 枪 


def __str__(self): 
    """返回玩家描述信息""" 
    if self.hp <= 0: 
        return '%s 已经死翘翘了' % (self.name) 


    if not self.gun: 
        return '%s 剩余血量为 %d,目前没枪' % (self.name, self.hp) 


    return '%s 剩余血量为 %d, 使用的枪为 %s' % (self.name, self.hp, self.gun) 


def take_gun(self, gun): 
    """捡枪""" 
    self.gun = gun 


def fire(self, enemy): 
    """开枪射击敌人""" 
    if not self.gun: 
        print('没有枪,无法射击') 
        return 


    self.gun.shoot(enemy) 


def hurt(self, damage): 
    """玩家受到伤害,需要扣血""" 
    self.hp -= damage 
    print('%s 受到 %d 点伤害,剩余血量为 %d' % (self.name, damage, self.hp)) 

class Gun(object):
“”“枪类”""

def __init__(self, model, damage): 
    """初始化枪的属性""" 
    self.model = model  # 型号 
    self.damage = damage  # 杀伤力 
    self.bullet_count = 0  # 子弹数量 


def __str__(self): 
    """返回枪的描述信息""" 
    return '%s 杀伤力是 %d, 剩余子弹为 %d 颗' % (self.model, self.damage, self.bullet_count) 


def add_bullet(self, count): 
    """添加子弹""" 
    self.bullet_count += count 


def shoot(self, enemy): 
    """射击敌人,造成伤害""" 
    # 没有子弹则不能继续射击 
    if self.bullet_count <= 0: 
        print('没有子弹了,无法射击~') 
        return  # return 后什么都不写,一般用于终止函数 


    # 射击并造成伤害 
    self.bullet_count -= 1 
    if enemy: 
        # print('%s 射击  %s, 造成 %d 伤害' % (self.model, enemy, self.damage)) 
        enemy.hurt(self.damage) 
    else: 
        print('没有敌人,打空了~') 

def test():
“”“测试函数”""
# 枪类的测试
# 创建枪
ak47 = Gun(‘ak47’, 99)
print(ak47)

# 添加子弹 
ak47.add_bullet(2) 
print(ak47) 


# 射击敌人 
# ak47.shoot(None) 
# print(ak47) 
# ak47.shoot('张三丰') 
# print(ak47) 
# ak47.shoot('张三丰') 
# print(ak47) 


print('------------------枪类测试结束-----------------') 


# 玩家测试 
police = Player('警察', 150) 
print(police) 
badman = Player('土匪') 
print(badman) 


# 玩家捡枪 
police.take_gun(ak47) 
print(police) 


# 玩家射击 
police.fire(badman) 
print(badman) 
police.fire(badman) 
print(badman) 
police.fire(badman) 
print(badman) 

def main():
“”“游戏主逻辑”""
# 创建两个玩家
police = Player(‘警察’)
badman = Player(‘土匪’)
print(police)
print(badman)

# 创建枪 
k98 = Gun('98k', 70) 
k98.add_bullet(2) 


# 玩家拿枪 
badman.take_gun(k98) 
print(badman) 


# 开枪射击 
badman.fire(police) 
badman.fire(police) 
print(police) 
badman.fire(police) 

标签:__,反恐精英,python,self,ak47,badman,print,police
来源: https://blog.csdn.net/LS2223488956/article/details/112209617