X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tabakrolletjie%2Fturnip.py;h=5f4e8c52f2273651f349281acbae1b42f6e8284e;hb=e273ee03bc5d751bb9d22974a699ec4ed63cdb25;hp=27cb4de9b20c3f3af8da42fe24b347c051fcb8ec;hpb=b048864dfd2b5728f182b69ac585d8f09a1c30ea;p=tabakrolletjie.git diff --git a/tabakrolletjie/turnip.py b/tabakrolletjie/turnip.py index 27cb4de..5f4e8c5 100644 --- a/tabakrolletjie/turnip.py +++ b/tabakrolletjie/turnip.py @@ -24,11 +24,14 @@ class Turnip(object): self._pos = kwargs.get('pos', (0, 0)) space = kwargs.get('space', None) self._update_image() + self.eaten = False # Flag for boyd self._body = pymunk.Body(0, 0, pymunk.Body.STATIC) self._shape = pymunk.Circle(self._body, 16) self._shape.filter = TURNIP_FILTER self._body.position = pymunk.pygame_util.from_pygame( self._pos, pygame.display.get_surface()) + # Add a reference so space query can get the object + self._body.turnip = self if space.shape_query(self._shape): raise TurnipInvalidPosition() space.add(self._body, self._shape) @@ -43,13 +46,15 @@ class Turnip(object): return {'age': self._age, 'pos': self._pos} def remove(self): - # FIXME: Remove body from the space - pass + self._body.turnip = None + space = self._body.space + space.remove(self._body, self._shape) def grow(self): self._age += 1 if self._age >= 3: # Mature, so harvest it for seeds + self.remove() return random.randint(1, 3) else: self._update_image()