Skip to content

Instantly share code, notes, and snippets.

Last active Dec 22, 2015
What would you like to do?
Clojure generating squares with colors.
(def FILES "abcdefgh")
(def RANKS (range 1 9))
(def squares (for [f FILES r RANKS] {:file f :rank r :name (str f r)}))
(defn opposite-color [col] (if (= col :light) :dark :light))
(defn alternate-colors [start-with]
(lazy-seq (cons start-with (alternate-colors (opposite-color start-with)))))
(def file-first-square-color (take 8 (alternate-colors :dark)))
(def square-colors
(->> (map #(take 8 (alternate-colors %)) file-first-square-color) concat flatten))
(def squares-with-colors
(map #(assoc % :color %2) squares square-colors)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment