On Mar 3, 2009, at 3:03 PM, lps540 wrote:
I've written a small example of Conway's Game of Life using Clojure and Swing. Comments/critiques are welcome.
Very nice example!
Here's a more compact determine-new-state:
(defn determine-new-state [x y]
(let [count (reduce + (for [dx [-1 0 1] dy [-1 0 1]]
(if (cells [(+ x dx) (+ y dy)]) 1 0)))]
(or (and (cells [x y]) (> count 2) (< count 5))
(= count 3))))
I'm guessing someone can make the reduce even tighter.
I considered using :when (not (and (zero? dx) (zero? dy))) in the for
expression, but it seemed simpler to account for the extra count when
(cells [x y]) is true in the new state expression down below.
--Steve
smime.p7s
Description: S/MIME cryptographic signature
