anchor.diff:     (extra-armies
        (error "Debe ingresar los ejércitos adicionales del territorio")
        ir)
  -   (owner nil a)
  -   (armies nil a)
  -   (movable-armies nil a)))
  +   (%owner nil a :reader owner)
  +   (%armies nil a :reader armies)
  +   (%movable-armies nil a :reader movable-armies)))
   
   (defclass* game-map ()
     ((territories (error "Debe especificar los territorios") ir)
  
positive.code:        (error "No se pueden poner 0 o menos ejércitos"))
       (unless (<= amount (pending-armies game))
         (error "No quedan tantos ejércitos por poner"))
       (decf (pending-armies game) amount)   
       (incf (armies territory) amount))))
  
  (defgeneric attack (game from to)
    (:method ((game game) origin-key destination-key)
     (symbol-macrolet
       ((origin (territory game origin-key))
        (destination (territory game destination-key))
        (attackers (armies origin))
        (defenders (armies destination)))
       (unless (eq (owner origin) (turn-player game))
         (error "El territorio origen debe pertenecer al jugador de turno"))
       (unless (territories-connected-p game origin-key destination-key)
  
negative.code:        (decf attackers (random decrement))
         (decf defenders (random decrement))
         (when (= defenders 0)
           (setf (%owner destination) (owner origin))
           (move-armies game origin-key destination-key 1)))
       (eq (owner origin) (owner destination)))))
  
  (defmethod print-object ((game game) stream)
    (format stream "~&Jugadores:~t~{~a~^, ~}"
            (loop repeat (size (players game))
                  for p in (%players-round game)
                  for n = (name p)
                  collecting (if (equal p (turn-player game))
                               (format nil "-~a-" n)
  