'''分别定义盖伦类和瑞文类'''
# class Riven:
# camp = 'Noxus'
#
# def __init__(self, name, aggressivity=54, life_value=414, money=600, armor=12):
# self.name = name
# self.aggressivity = aggressivity
# self.life_value = life_value
# self.money = money
# self.armor = armor
#
# def attack(self, enemy):
# damage_attack = self.aggressivity - enemy.armor
# enemy.life_value -= damage_attack
#
#
# class Garen:
# camp = 'Demcia'
#
# def __init__(self, name, aggressivity=56, life_value=455, money=600, armor=19):
# self.name = name
# self.aggressivity = aggressivity
# self.life_value = life_value
# self.money = money
# self.armor = armor
#
# def attack(self, enemy):
# damage_attack = self.aggressivity - enemy.armor
# enemy.life_value -= damage_attack
'''定义大宝剑,加属性'''
class Dolan:
def __init__(self, prize=475, life_value=100, aggrev=9):
self.prize = prize
self.life_value = life_value
self.aggrev = aggrev
def update(self, hero):
hero.money -= self.prize
hero.life_value += self.life_value
hero.aggressivity += self.aggrev
'''通过英雄类来生成盖伦和瑞文'''
class Hero:
def __init__(self, name, aggressivity, life_value, armor, money=600):
self.name = name
self.aggressivity = aggressivity
self.life_value = life_value
self.armor = armor
self.money = money
def attack(self, enemy):
damage_attack = self.aggressivity - enemy.armor
enemy.life_value -= damage_attack
'''通过类生成对象'''
ruiwen = Hero('ruiwen', 54, 414, 12)
gailun = Hero('gailun', 59, 454, 19)
b = Dolan()
'''这是执行的操作,前两个传入的是对象而不是对象的名字,只有对象才有下面的attck等方法'''
def action(hero, enemy, heroname, enemyname):
while True:
choice = input(f'{heroname}回合,请输入操作,a普通攻击,b升级属性').strip()
if choice == 'a':
hero.attack(enemy)
break
elif choice == 'b':
if hero.money < 475:
print('金币不足')
continue
b.update(hero)
break
hero.money += 50
print(heroname, hero.life_value, hero.aggressivity, hero.money)
print(enemyname, enemy.life_value, enemy.aggressivity, enemy.money)
if enemy.life_value <= 0:
return True
'''以n作为判断,形成回合制条件'''
n = 0
while True:
n += 1
if n % 2 == 0:
res = action(ruiwen, gailun, '瑞文', '盖伦')
if res:
print('盖伦死了')
break
else:
res = action(gailun, ruiwen, '盖伦', '瑞文')
if res:
print('瑞文死了')
break
转载于:https://www.cnblogs.com/masterjian924/p/11046936.html