Mercurial > mamba
view mamba/world.py @ 243:f9cc701a6be0
Hook up tunnels.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Thu, 15 Sep 2011 00:14:23 +0200 |
parents | 454f7552e863 |
children | cacc03748580 |
line wrap: on
line source
"""World state (level, plus snake, plus other sprites).""" import time from mamba.snake import Snake class World(object): def __init__(self, level): self.level = level tile_pos, orientation = level.get_entry() self.snake = Snake(tile_pos, orientation) self._prev = None self._paused = False def get_size(self): return self.level.get_size() def draw(self, surface): self.level.draw(surface) self.snake.draw(surface) def get_sprite(self, sprite_id): return self.level.extra_sprites[sprite_id] def update(self): prev = self._prev self._prev = time.time() if self._paused: return if prev is None: return dt = self._prev - prev self.snake.update(dt, self) def interact(self, segment): tiles = segment.filter_collisions(self.level.sprites) for tile in tiles: tile.interact(self, segment) def pause(self): self._paused = True def resume(self): self._paused = False def restart(self): self.level.restart() tile_pos, orientation = self.level.get_entry() self.snake = Snake(tile_pos, orientation) self._prev = None self._paused = False