一、定义锐雯类
![114-面向对象基础实战之英雄联盟-rw1.png?x-oss-process=style/watermark](http://www.chenyoude.com/Python%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E6%94%BE%E5%BC%83/114-%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E5%9F%BA%E7%A1%80%E5%AE%9E%E6%88%98%E4%B9%8B%E8%8B%B1%E9%9B%84%E8%81%94%E7%9B%9F-rw1.png?x-oss-process=style/watermark)
![114-面向对象基础实战之英雄联盟-rw2.png?x-oss-process=style/watermark](http://www.chenyoude.com/Python%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E6%94%BE%E5%BC%83/114-%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E5%9F%BA%E7%A1%80%E5%AE%9E%E6%88%98%E4%B9%8B%E8%8B%B1%E9%9B%84%E8%81%94%E7%9B%9F-rw2.png?x-oss-process=style/watermark)
class Riven:
camp = 'Noxus'
def __init__(
self,
nickname,
aggressivity=54,
life_value=414,
money=1001,
armor=3):
self.nickname = nickname
self.aggressivity = aggressivity
self.life_value = life_value
self.money = money
self.armor = armor
def attack(self, enemy):
damage_value = self.aggressivity - enemy.armor
enemy.life_value -= damage_value
二、定义盖伦类
![114-面向对象基础实战之英雄联盟-gl1.png?x-oss-process=style/watermark](http://www.chenyoude.com/Python%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E6%94%BE%E5%BC%83/114-%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E5%9F%BA%E7%A1%80%E5%AE%9E%E6%88%98%E4%B9%8B%E8%8B%B1%E9%9B%84%E8%81%94%E7%9B%9F-gl1.png?x-oss-process=style/watermark)
![114-面向对象基础实战之英雄联盟-gl2.png?x-oss-process=style/watermark](http://www.chenyoude.com/Python%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E6%94%BE%E5%BC%83/114-%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E5%9F%BA%E7%A1%80%E5%AE%9E%E6%88%98%E4%B9%8B%E8%8B%B1%E9%9B%84%E8%81%94%E7%9B%9F-gl2.png?x-oss-process=style/watermark)
class Garen:
camp = 'Demacia'
def __init__(
self,
nickname,
aggressivity=58,
life_value=455,
money=100,
armor=10):
self.nickname = nickname
self.aggressivity = aggressivity
self.life_value = life_value
self.money = money
self.armor = armor
def attack(self, enemy):
damage_value = self.aggressivity - enemy.armor
enemy.life_value -= damage_value
三、定义装备类
![114-面向对象基础实战之英雄联盟-zb.png?x-oss-process=style/watermark](http://www.chenyoude.com/Python%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E6%94%BE%E5%BC%83/114-%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E5%9F%BA%E7%A1%80%E5%AE%9E%E6%88%98%E4%B9%8B%E8%8B%B1%E9%9B%84%E8%81%94%E7%9B%9F-zb.png?x-oss-process=style/watermark)
class BlackCleaver:
def __init__(self, price=475, aggrev=9, life_value=100):
self.price = price
self.aggrev = aggrev
self.life_value = life_value
def update(self, obj):
obj.money -= self.price
obj.aggressivity += self.aggrev
obj.life_value += self.life_value
def fire(self, obj):
obj.life_value -= 1000
四、交互
r1 = Riven('草丛伦')
g1 = Garen('盖文')
b1 = BlackCleaver()
print(r1.aggressivity, r1.life_value, r1.money)
if r1.money > b1.price:
r1.b1 = b1
b1.update(r1)
print(r1.aggressivity, r1.life_value, r1.money)
print(g1.life_value)
r1.attack(g1)
print(g1.life_value)
r1.b1.fire(g1)
print(g1.life_value)
54 414 1001
63 514 526
455
402
-598
- 按照这种思路一点一点的设计类和对象,最终你完全可以实现一个对战类游戏。