anchor.diff:                      (MoveToEx surface (floor (point-x (aref sweeper-vertices 10))) (floor (point-y (aref sweeper-vertices 10))) NULL)
                       (dotimes (i 5)
                           (LineTo surface (floor (point-x (aref sweeper-vertices (+ i 11))))
  -                                        (floor (point-y (aref sweeper-vertices (+ i 11))))))
  -                    
  -                    (SelectObject surface old-pen))))      ;; put the old pen back
  +                                        (floor (point-y (aref sweeper-vertices (+ i 11))))))))
  +            
  +            (SelectObject surface old-pen))      ;; put the old pen back
           
           (controller-plot-stats controller surface)))
   
  
positive.code:             (when (>= fitness-so-far slice)
                  (return-from genetic-algorithm-get-chromo-roulette 
                      (aref (genetic-algorithm-population ga) i))))
          chosen))
  
  ;;;
  ;;; mutates a chromosome by perturbing its weights by an amount not greater than *max-perturbation*
  
negative.code: (defun genetic-algorithm-crossover (ga mom dad baby1 baby2)
      (let ((cp 0))
          ;; just return parents as offspring dependent on the rate or if parents are the same
          (if (or (> (rand-float) (genetic-algorithm-crossover-rate ga)) (eq mom dad))
              (setf cp (length mom))          ; baby1 = mom, baby2 = dad
              ;; determine a crossover point
              (setf cp (rand-int 0 (1- (genetic-algorithm-chromo-length ga)))))
          ;; create the offspring
          (dotimes (i cp)
              (vector-push-extend (aref mom i) baby1)
              (vector-push-extend (aref dad i) baby2))
          (do* ((i cp (+ i 1)))
              ((>= i (length mom)))
              (vector-push-extend (aref dad i) baby1)
              (vector-push-extend (aref mom i) baby2))))
      
  ;;;
  ;;; returns a chromosome based on roulette wheel sampling
  ;;;
  (defun genetic-algorithm-get-chromo-roulette (ga)
      (let* ((slice (* (rand-float) (genetic-algorithm-total-fitness ga)))
  	   ; (chosen (create-genome (make-array 0 :fill-pointer t) 0))
             (fitness-so-far 0))
          (dotimes (i (genetic-algorithm-population-size ga))
              (incf fitness-so-far (genome-fitness (aref (genetic-algorithm-population ga) i)))
  