<p>我的怪物呢?他可以和另一个怪物战斗!想必你的功能性怪物做不到;-)</p>
<pre><code>class Monster(object):
def __init__(self, level, damage, duration):
self.level = level
self.damage = damage
self.duration = duration
def fight(self, enemy):
if not isinstance(enemy, Monster) :
print "The enemy is not a monster, so I can't fight it."
return None
else :
print "Starting fighting"
print "My monster's level is ", self.level
print "My monster's damage is ", self.damage
print "My monster's attack duration is ", self.duration
print "The enemy's level is ", enemy.level
print "The enemy's damage is ", enemy.damage
print "The enemy's attack duration is ", enemy.duration
result_of_fight = 3.*(self.level - enemy.level) + \
2.*(self.damage - enemy.damage) + \
1.*(self.duration - enemy.duration)
if result_of_fight > 0 :
print "My monster wins the brutal battle"
elif result_of_fight < 0 :
print "My monster is defeated by the enemy"
else :
print "The two monsters both retreat for a draw"
return result_of_fight
def sleep(self, days):
print "The monster is tired and decides to rest for %3d days" % days
self.level += 3.0 * days
self.damage += 2.0 * days
self.duration += 2.0 * days
x = Monster(1, 2, 3)
y = Monster(2, 3, 4)
x.fight(y)
x.sleep(10)
</code></pre>
<p>所以:</p>
^{pr2}$