anchor.diff:    (finish-output nil)
     (let ((x (read)))
       (if (not (and (integerp x) (>= x 1) (<= x *monster-num*)))
  -        (progn (princ "That is not a valid monster number.")
  +        (progn (princa "That is not a valid monster number.")
                  (pick-monster))
           (let ((m (aref *monsters* (1- x))))
             (if (monster-dead m)
  -              (progn (princ "That monster is alread dead.")
  +              (progn (princa "That monster is alread dead.")
                        (pick-monster))
                 m)))))
   
  
positive.code: (push #'make-hydra *monster-builders*)
  
  (defmethod monster-show ((m hydra))
    (princ "A malicious hydra with ")
    (princ (monster-health m))
    (princ " heads."))
  
  (defmethod monster-hit ((m hydra) x)
    (decf (monster-health m) x)
    (if (monster-dead m)
        (progn (princ "The corpse of the fully decapitated and decapacitated hydra falls to the floor!")
               (fresh-line))
        (progn (princa "You lop off "
                       x
  
negative.code: (defmethod monster-attack ((m brigand))
    (let ((x (max *player-health* *player-agility* *player-strength*)))
      (cond ((= x *player-health*)
             (princa "A brigand hits you with his slingshot, taking off 2 health points! ")
             (fresh-line)
             (decf *player-health* 2))
            ((= x *player-agility*)
             (princa "A brigand catches your leg with his whip, taking off 2 agility points! ")
             (fresh-line)
             (decf *player-agility* 2))
            ((= x *player-strength*)
             (princa "A brigand cuts your arm with his whip, taking off 2 strength points!")
             (fresh-line)
             (decf *player-strength* 2)))))
  
  