Exemple #1
0
 def delete(self):
     collides = object_manager.collide(self)
     for obj in collides:
         if obj != self:
             super(GameObject, obj).kill()
             if type(obj) == Player:
                 self.is_player = False
Exemple #2
0
 def _obstructions(self):
     if (
         self.rect.top < self.area.top
         or self.rect.left < self.area.left
         or self.rect.bottom > self.area.bottom
         or self.rect.right > self.area.right
     ):
         return True
     return len(object_manager.collide(self)) > 1
Exemple #3
0
 def move(self):
     if not super(Bullet, self).move():
         collides = object_manager.collide(self)
         if len(collides) > 1:
             for obj in collides:
                 if not obj.indestructible:
                     self._destroy(obj)
         else:
             self.kill()
Exemple #4
0
 def create(self):
     if len(object_manager.collide(self)) > 0:
         return
     if self.current == STONE:
         obj = Stone(self.rect.center)
     elif self.current == PLAYER:
         if self.is_player:
             return
         obj = Player(self.rect.center)
         self.is_player = True
     elif self.current == ENEMY:
         obj = Enemy(self.rect.center)
     else:
         sys.exit("Unknown error")
     obj.type = self.current