I\'m new to python and programming in general, so would really appreciate any clarification on this point.
For example, in the following code:
#
what about my monsters? he can fight another monster! Presumably your functional monster cannot do that ;-)
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)
so:
Starting fighting
My monster's level is 1
My monster's damage is 2
My monster's attack duration is 3
The enemy's level is 2
The enemy's damage is 3
The enemy's attack duration is 4
My monster is defeated by the enemy
The monster is tired and decides to rest for 10 days