# HG changeset patch # User Jeremy Thurgood # Date 1302126113 -7200 # Node ID 189f7f8ef7142ea61d3fc2dbd1d04f620e1f8794 # Parent c72d9bf911fb19f3e2973ebfa5ea0628b178d94d Basic item interaction. diff -r c72d9bf911fb -r 189f7f8ef714 skaapsteker/sprites/base.py --- a/skaapsteker/sprites/base.py Wed Apr 06 23:23:48 2011 +0200 +++ b/skaapsteker/sprites/base.py Wed Apr 06 23:41:53 2011 +0200 @@ -72,6 +72,10 @@ self.dsm = dialogue.DSM(name, world, dsm) + def collided_player(self, player): + print "%s is ignoring player" % self + + class Projectile(GameSprite): gravitates = False @@ -91,7 +95,8 @@ def setup(self, name, world): - pass + self.name = name + self.world = world def get_debug_color(self): @@ -100,8 +105,10 @@ return (0, 0, 240) - def collided_player(self): + def collided_player(self, player): print "Player touched %s" % self + player.take_item(self) + class Geography(Sprite): diff -r c72d9bf911fb -r 189f7f8ef714 skaapsteker/sprites/player.py --- a/skaapsteker/sprites/player.py Wed Apr 06 23:23:48 2011 +0200 +++ b/skaapsteker/sprites/player.py Wed Apr 06 23:41:53 2011 +0200 @@ -147,6 +147,7 @@ other.collided_player(self) print 'Health', self.the_world.fox.health + def damage(self, damage): self.the_world.fox.health -= damage if self.the_world.fox.health < 0: @@ -223,3 +224,14 @@ if facing == 'right': image = pygame.transform.flip(image, True, False) self._image_dict[key].append(image) + + + def take_item(self, item): + my_item = self.the_world.fox.item + if my_item is not None: + print "I already have", my_item + return + getattr(self.the_world.items, item.name).level = "gone" + self.the_world.fox.item = item.name + item.kill() + print "took", item