anchor.diff:  (defun game-count-alive (x0 y0)
     (let ((alive-count 0))
       (iterate-near #'(lambda (x y)
  -		      (when (matrix-get *matrix* x y)
  +		      (when (matrix-get *old-matrix* x y)
   			(setf alive-count (add1 alive-count))))
   		  x0
   		  y0)
       alive-count))
  +
  +(defun update-old-matrix ()
  +  (iterate #'(lambda (x y)
  +	       (matrix-set *old-matrix*
  +			   x y
  +			   (matrix-get *matrix* x y)))
  +	   *cells-count*))
   
   ;;; Draw
   ;;; ====
  
positive.code:   (setf *cells-count* 100)
    (setf *cell-size* (/ *pixel-size* *cells-count*))
    (setf *matrix* (matrix-create *cells-count*))
    (iterate #'(lambda (x y)
  	       (matrix-set *matrix* x y (= (random 2) 0)))
  	   *cells-count*)
    (setf *dead-color* (sdl:color :r 255 :g 0 :b 0))
    (setf *alive-color* (sdl:color :r 0 :g 0 :b 0)))
  
negative.code:     (:key-down-event () (sdl:push-quit-event))
      (:idle
       ()
       (update-old-matrix)
       (game-step)
       (draw-matrix)
       (sdl:update-display)))))
  