On 18 juin, 13:24, Tim Chase <[email protected]> wrote:
> On 06/18/2011 05:55 AM, [email protected] wrote:
>
> > On 18 juin, 06:17, John Salerno<[email protected]> wrote:
> >> class Character:
>
> >> base_health = 50
> >> base_resource = 10
>
> >> def __init__(self, name):
> >> self.name = name
> >> self.health = base_health
> >> self.resource = base_resource
>
> > Did you at least tried this one ? Hint: it won't work.
>
> If you want it, you can use
>
> self.health = Character.base_health
>
> Though I'd treat them as semi-constants and capitalize them like
> your 3rd case:
>
> class Character(object):
> BASE_HEALTH = 50
> ...
> def __init__(...):
> ...
> self.health = Character.BASE_HEALTH
>
If you go that way, then using polymorphic dispatch might (or not,
depending on the game's rules <g>) be a good idea:
class Character(object):
BASE_HEALTH = 50
...
def __init__(self, name):
...
self.health = type(self).BASE_HEALTH
This would allow different Character subclasses to have different
BASE_HEALTH etc..., defaulting to the base class values.
--
http://mail.python.org/mailman/listinfo/python-list