Mercurial > rinkhals
changeset 420:f20ccd43a282
Rework Animal.__init__ to make it easier to unsimplify them.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sat, 21 Nov 2009 15:24:43 +0000 |
parents | d110d55c8449 |
children | e65536ca215b |
files | gamelib/animal.py |
diffstat | 1 files changed, 17 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/gamelib/animal.py Sat Nov 21 15:22:41 2009 +0000 +++ b/gamelib/animal.py Sat Nov 21 15:24:43 2009 +0000 @@ -20,6 +20,10 @@ VISION_BONUS = 0 VISION_RANGE_PENALTY = 10 + # sub-class must set this to the name of an image + # file + IMAGE_FILE = None + SIMPLIFY = [ 'pos', 'equipment', @@ -28,13 +32,14 @@ 'facing', ] - def __init__(self, image_left, image_right, tile_pos): + def __init__(self, tile_pos): + # load images + self._image_left = imagecache.load_image(self.IMAGE_FILE) + self._image_right = imagecache.load_image(self.IMAGE_FILE, ("right_facing",)) # Create the animal somewhere far off screen - Sprite.__init__(self, image_left, (-1000, -1000)) - self._image_left = image_left - self.image_left = image_left.copy() - self._image_right = image_right - self.image_right = image_right.copy() + Sprite.__init__(self, self._image_left, (-1000, -1000)) + self.image_left = self._image_left.copy() + self.image_right = self._image_right.copy() if hasattr(tile_pos, 'to_tile_tuple'): self.pos = tile_pos else: @@ -156,12 +161,10 @@ EQUIPMENT_IMAGE_ATTRIBUTE = 'CHICKEN_IMAGE_FILE' DEATH_ANIMATION = animations.ChickenDeath DEATH_SOUND = 'kill-chicken.ogg' + IMAGE_FILE = 'sprites/chkn.png' def __init__(self, pos): - image_left = imagecache.load_image('sprites/chkn.png') - image_right = imagecache.load_image('sprites/chkn.png', - ("right_facing",)) - Animal.__init__(self, image_left, image_right, pos) + Animal.__init__(self, pos) self.eggs = [] def start_night(self, gameboard): @@ -254,9 +257,10 @@ class Egg(Animal): """An egg""" + IMAGE_FILE = 'sprites/equip_egg.png' + def __init__(self, pos): - image = imagecache.load_image('sprites/equip_egg.png') - Animal.__init__(self, image, image, pos) + Animal.__init__(self, pos) self.timer = 2 # Eggs don't move @@ -289,9 +293,7 @@ } def __init__(self, pos): - image_left = imagecache.load_image(self.IMAGE_FILE) - image_right = imagecache.load_image(self.IMAGE_FILE, ("right_facing",)) - Animal.__init__(self, image_left, image_right, pos) + Animal.__init__(self, pos) self.landmarks = [self.pos] self.hunting = True self.dig_pos = None