Mercurial > mamba
changeset 304:49fe66680ff8
And even death shall lose it's mysteries
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Fri, 16 Sep 2011 17:37:28 +0200 |
parents | af202e15167d |
children | 0ed07dcebff4 |
files | mamba/engine.py mamba/snake.py mamba/sprites.py mamba/widgets/game.py |
diffstat | 4 files changed, 8 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/engine.py Fri Sep 16 17:35:50 2011 +0200 +++ b/mamba/engine.py Fri Sep 16 17:37:28 2011 +0200 @@ -97,8 +97,8 @@ TYPE = "SNAKE_DIED" @classmethod - def post(cls): - super(SnakeDiedEvent, cls).post() + def post(cls, reason): + super(SnakeDiedEvent, cls).post(reason=reason) class LevelCompletedEvent(UserEvent):
--- a/mamba/snake.py Fri Sep 16 17:35:50 2011 +0200 +++ b/mamba/snake.py Fri Sep 16 17:37:28 2011 +0200 @@ -108,11 +108,11 @@ return collides = spritecollide(self.head, self.segment_group, False) if [s for s in collides if s not in self.segments[:2]]: - self.crash() + self.crash('You hit yourself!') - def crash(self): + def crash(self, reason='You hit something'): play_sound('crash') - SnakeDiedEvent.post() + SnakeDiedEvent.post(reason) def exit_level(self): LevelCompletedEvent.post()
--- a/mamba/sprites.py Fri Sep 16 17:35:50 2011 +0200 +++ b/mamba/sprites.py Fri Sep 16 17:37:28 2011 +0200 @@ -143,7 +143,7 @@ def interact(self, world, segment): if self.get_solid(world.snake, segment): - world.snake.crash() + world.snake.crash('You hit a %s' % self.name) class SingleImageTileSprite(TileSprite):
--- a/mamba/widgets/game.py Fri Sep 16 17:35:50 2011 +0200 +++ b/mamba/widgets/game.py Fri Sep 16 17:37:28 2011 +0200 @@ -48,7 +48,8 @@ def snake_died(self, ev, widget): if not self.world.pause(): return False - messagebox = MessageBox((300, 200), 'You died!', self.restart) + messagebox = MessageBox((300, 200), 'You died!\n%s' % ev.reason, + self.restart) self.parent.add(messagebox) messagebox.grab_focus() self.world.snake.alive = False