反恐精英"/>
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反恐精英
发布评论