# 人狗大战高阶带武器
class Person:
role = "preson"
def __init__(self,name,sex,aggression=200):
self.name = name
self.sex = sex
self.aggr = aggression
self.blood = 2000
def attack(self,dog,n):
dog.blood = dog.blood - self.aggr
print("%s 第%d次攻击 %s,%s的血还有%s"%(self.name,n,dog.name,dog.name,dog.blood))
if dog.blood<=0:
print("很遗憾,%s is game over"%dog.name)
class Dog:
role = "dog"
def __init__(self,name,breed,aggression=50):
self.name = name
self.breed = breed
self.aggr = aggression
self.blood = 2000
def bite(self,person,m):
person.blood = person.blood - self.aggr
print("%s 第%d次咬 %s,%s的血还有%s"%(self.name,m,person.name,person.name,person.blood))
if person.blood<=0:
print("很遗憾,%s is game over"%person.name)
class Weapon:
role = "weapon"
def __init__(self,name,aggressivity):
self.name = name
self.aggressivity = aggressivity
def weapon(self,person,dog,n):
dog.blood = dog.blood - self.aggressivity - person.aggr
print("%s 第%d次攻击 %s,%s的血还有%s" % (person.name, n, dog.name, dog.name, dog.blood))
if dog.blood <= 0:
print("很遗憾,%s is game over" % dog.name)
def player_choice(play_person,play_dog,play_weapon):
n = 0
m = 0
while True:
choice = input("请选择人或狗攻击:")
if choice.strip() == "人":
n += 1
weapon = input("是否要购买武器:")
if weapon.strip() == "是":
play_weapon.weapon(play_person,play_dog,n)
elif weapon.strip() == "否":
play_person.attack(play_dog, n)
elif choice.strip() == "狗":
m += 1
play_dog.bite(play_person,m)
elif choice.strip().lower() == "q":
print("即将退出游戏,请稍等...")
break
else:
print("输入的角色名错误")
def player():
play_person_name = input("play_person_name:")
play_person_sex = input("play_person_sex:")
play_person_aggression = int(input("play_person_aggression:"))
play_dog_name = input("play_dog_name:")
play_dog_breed = input("play_dog_sex:")
play_dog_aggression = int(input("play_dog_aggression:"))
play_person = Person(play_person_name, play_person_sex, play_person_aggression)
play_dog = Dog(play_dog_name,play_dog_breed,play_dog_aggression)
play_weapon = Weapon("排山倒海",500)
player_choice(play_person,play_dog,play_weapon)
player()