anchor.diff:     (mapcar #'list '(w l d) results)
   )
   
  -(defmethod probability ((special integer) (total integer))
  -   ( / (float special) (float total))
  -)
  -
  -; root of the player hierarchy
  -(defclass player()
  -   ((name :accessor player-name :initarg :name :initform 'emanon))
  -)
  -
  -; random machine player
  -(defclass random-machine-player (player) ())
  -
  -; a human player
  -(defclass human-player (player) ())
  -
  -; heuristic machine player class
  -(defclass heuristic-machine-player (player)
  -   (
  -      (rules :accessor heuristic-machine-player-rules :initform ())
  -   )
  -)
  -
  -; model a heuristic learning player
  -(defclass heuristic-learning-machine-player (heuristic-machine-player)
  -   ()
  -)
  -
   ; textual display of a random machine player
   (defmethod display ((p random-machine-player))
      (format t "RANDOM MACHINE PLAYER ...~%")
  
positive.code:    (dolist (player '(x o x o x o x o x))
        (cond
           ((eq player 'x)
              setf move (make-heurisic-move x record))
           )
           ((eq player 'o)
              (setf move (make-random-move o record))
  
negative.code: )
  
  (defmethod random-play-and-learn (
     (x heuristic-learning-machine-player) (o random-machine-player) (verbose t)
     &aux p result
     )
     (setf p (random-play x o verbose))
  