cs反恐精英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(police)


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

你可能感兴趣的:(cs反恐精英python)