Give bullets a radius by default. Use try/except rather than getattr during collision...
[python-bulletml.git] / bulletml / impl.py
index 8ef78ab..4785ef2 100644 (file)
@@ -131,9 +131,10 @@ class Bullet(object):
     rank - game difficulty, 0 to 1, default 0.5
     tags - string tags set by the running actions
     appearance - string used to set bullet appearance
+    radius - radius for collision
 
     Contructor Arguments:
-    x, y, direction, speed, target, rank, tags, appearance
+    x, y, direction, speed, target, rank, tags, appearance, radius
         - same as the above attributes
     actions - internal action list
     Action - custom Action constructor
@@ -141,9 +142,11 @@ class Bullet(object):
     """
 
     def __init__(self, x=0, y=0, direction=0, speed=0, target=None,
-                 actions=(), rank=0.5, tags=(), appearance=None):
+                 actions=(), rank=0.5, tags=(), appearance=None,
+                 radius=0.5):
         self.x = self.px = x
         self.y = self.py = y
+        self.radius = radius
         self.mx = 0
         self.my = 0
         self.direction = direction
@@ -166,7 +169,7 @@ class Bullet(object):
 
     def __repr__(self):
         return ("%s(%r, %r, accel=%r, direction=%r, speed=%r, "
-                "actions=%r, target=%r, appearance=vanished=%r)") % (
+                "actions=%r, target=%r, appearance=%r, vanished=%r)") % (
             type(self).__name__, self.x, self.y, (self.mx, self.my),
             self.direction, self.speed, self.actions, self.target,
             self.appearance, self.vanished)