changeset 209:189f7f8ef714

Basic item interaction.
author Jeremy Thurgood <firxen@gmail.com>
date Wed, 06 Apr 2011 23:41:53 +0200
parents c72d9bf911fb
children 9a6c711e2fdf
files skaapsteker/sprites/base.py skaapsteker/sprites/player.py
diffstat 2 files changed, 21 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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):
--- 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