view gamelib/state.py @ 18:c9b124c2f5c6

Start of scene drawing framework.
author Simon Cross <hodgestar+bzr@gmail.com>
date Sun, 22 Aug 2010 17:04:34 +0200
parents e9dc681911c4
children 8e709824306d
line wrap: on
line source

"""Utilities and base classes for dealing with scenes."""

from albow.resource import get_image, get_sound


def initial_state():
    """Load the initial state."""
    state = State()
    # TODO: populate state
    return state


class State(object):
    """Complete game state.

    Game state consists of:

    * items
    * scenes
    """

    def __init__(self):
        # map of scene name -> Scene object
        self.scenes = {}
        # map of item name -> Item object
        self.items = {}


class Scene(object):
    """Base class for scenes."""

    def __init__(self):
        pass

    def draw_background(self, screen):
        pass

    def draw_sprites(self, screen):
        pass

    def draw(self, screen):
        self.draw_background(screen)
        self.draw_sprites(screen)


class Item(object):
    """Base class for items."""

    def __init__(self):
        pass