Mercurial > mamba
diff mamba/sprites.py @ 181:061d711ba570
Interact with the world.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Wed, 14 Sep 2011 15:27:27 +0200 |
parents | d9ee0e50a78f |
children | 0a955d2536f0 |
line wrap: on
line diff
--- a/mamba/sprites.py Wed Sep 14 14:08:37 2011 +0200 +++ b/mamba/sprites.py Wed Sep 14 15:27:27 2011 +0200 @@ -82,6 +82,7 @@ variants_class = InvariantSpriteImageVariants variants = None name = None + alive = True def __init__(self, tileset=None, image_name=None, name=None, mutators=()): @@ -117,9 +118,13 @@ self.tile_char = tile_char self.solid = solid - def get_solid(self, snake_mutations): + def get_solid(self, snake): return self.solid + def interact(self, snake): + if self.get_solid(snake): + snake.crash() + class SingleImageTileSprite(TileSprite): image_name = None # subclasses will override this @@ -166,11 +171,18 @@ super(PuddleSprite, self).__init__(**kw) self.image = self.load_image(*self.get_variant(*variant)) + def get_solid(self, snake): + if snake.can_swim(): + print "Splishy!" + return False + print "Drownded. :-(" + return True + class EdibleTile(SingleImageTileSprite): def eat(self): - self.image = None - self.solid = False + self.alive = False + self.kill() class BigMouse(EdibleTile): @@ -194,4 +206,5 @@ def interact(self, snake): print "Swimmery!" + snake.mutate('amphibious') self.eat()