anchor.diff:  
   (defun nearest-object (component type radius)
     (find-nearest-object component radius :test #'(lambda (x) (typep x type))))
  +
  +(defmethod start-shoot ((thopter thopter) event)
  +  (shoot thopter event)
  +  (setf (timer thopter) 4))
  +
  +(defmethod stop-shoot ((thopter thopter) event)
  +  (setf (timer thopter) nil))
  +
  +(defmethod alarm ((thopter thopter) event)
  +  (shoot thopter event)
  +  (setf (timer thopter) 4))
   
   (defmethod shoot ((shooter shooter) event)
     (with-slots (parent offset size veloc firepower
  
positive.code:   (bind-key-up   thopter :sdl-key-left  #'stop-west)
    (bind-key-down thopter :sdl-key-right #'move-east)
    (bind-key-up   thopter :sdl-key-right #'stop-east)
    (bind-key-down thopter :sdl-key-space #'shoot)
    (bind-key-down thopter :sdl-key-lctrl #'missile)
    (bind-key-down thopter :sdl-key-lalt  #'missile)
    ;; TODO: add reset function
  
negative.code:     :initarg :firepower
      :initform 1)))
  
  (defclass thopter (sprite mobile collidable shooter alarm)
    ((bullet-class :initform 'bullet)
     (bullet-image :initform (make-instance 'image :name :bullet))
     (bullet-veloc :initform #c(0 -8))
     (bullet-timer :initform 60)
     (timer :initform nil)
     (health
      :accessor health
      :initarg :health
  