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