mona


l a i n

30 名無しさん 2020-06-15 19:47
(defun life (source)
  (let* ((size (length (car source)))
         (life (make-world
                :size size
                :current (make-array (list size size) :element-type 'bit
                                     :initial-contents source)
                :next (make-array (list size size) :element-type 'bit
                                  :initial-element 0)
                :numdots 0)))
    (dotimes (i size)
      (dotimes (j size)
        (unless (zerop (bit (world-current life) i j))
          (incf (world-numdots life))
          (when (< i (world-xmin life)) (setf (world-xmin life) i))
          (when (> i (world-xmax life)) (setf (world-xmax life) i))
          (when (< j (world-ymin life)) (setf (world-ymin life) j))
          (when (> j (world-ymax life)) (setf (world-ymax life) j)))))
    (propagate life 0)))
93


do not edit these