# HG changeset patch # User Simon Cross # Date 1282500337 -7200 # Node ID ebc76bc0c067de7b0dc7fa9e5464cb5ec0caea46 # Parent e5c043aeed65552fe09b7e024ee5a28593998ad7 First item! diff -r e5c043aeed65 -r ebc76bc0c067 gamelib/gamescreen.py --- a/gamelib/gamescreen.py Sun Aug 22 19:59:42 2010 +0200 +++ b/gamelib/gamescreen.py Sun Aug 22 20:05:37 2010 +0200 @@ -6,6 +6,7 @@ from pygame.color import Color from pygame import Rect +from pygame.locals import BLEND_ADD from albow.screen import Screen from albow.controls import Button, Label, Widget from albow.layout import Column @@ -46,7 +47,7 @@ class StateWidget(Widget): def __init__(self, state): - Widget.__init__(self, Rect(0, 0, 800, 600)) + Widget.__init__(self, Rect(0, 0, 800, 550)) self.state = state def draw(self, surface): diff -r e5c043aeed65 -r ebc76bc0c067 gamelib/scenes/cryo.py --- a/gamelib/scenes/cryo.py Sun Aug 22 19:59:42 2010 +0200 +++ b/gamelib/scenes/cryo.py Sun Aug 22 20:05:37 2010 +0200 @@ -1,4 +1,4 @@ -from gamelib.state import Scene +from gamelib.state import Scene, Item class Cryo(Scene): @@ -7,6 +7,18 @@ def __init__(self, state): super(Cryo, self).__init__(state) + self.add_item(Triangle("triangle")) + self.add_item(Square("square")) + + +class Triangle(Item): + + INVENTORY_IMAGE = "triangle.png" + + +class Square(Item): + + INVENTORY_IMAGE = "square.png" SCENES = [Cryo] diff -r e5c043aeed65 -r ebc76bc0c067 gamelib/state.py --- a/gamelib/state.py Sun Aug 22 19:59:42 2010 +0200 +++ b/gamelib/state.py Sun Aug 22 20:05:37 2010 +0200 @@ -35,7 +35,7 @@ self.scenes[scene.name] = scene def add_item(self, item): - self.scenes[item.name] = item + self.items[item.name] = item def load_scenes(self, modname): mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname]) @@ -76,6 +76,9 @@ self.things = {} self._background = get_image(self.FOLDER, self.BACKGROUND) + def add_item(self, item): + self.state.add_item(item) + def draw_background(self, surface): surface.blit(self._background, (0, 0), None, BLEND_ADD) @@ -106,13 +109,12 @@ class Item(object): """Base class for inventory items.""" - # name of item - NAME = None + # image for inventory + INVENTORY_IMAGE = None - def __init__(self): - self.name = self.NAME - - self.inventory_image = get_image('items', self.name) + def __init__(self, name): + self.name = name + self.inventory_image = get_image('items', self.INVENTORY_IMAGE) # TODO: needs cursor def get_inventory_image(self):