diff --git a/bases/do-blog/src/com/oly/static_sites/do_blog/core.cljs b/bases/do-blog/src/com/oly/static_sites/do_blog/core.cljs index 6f993e5..57fe3a2 100644 --- a/bases/do-blog/src/com/oly/static_sites/do_blog/core.cljs +++ b/bases/do-blog/src/com/oly/static_sites/do_blog/core.cljs @@ -119,12 +119,8 @@ (defn ui-search [search] [:div - (board 8 (draw-board start-state)) - (board 8 - (into [] (mapv (fn [n] {:class "fl bg-black-80 white-80" :colour "black-80" :text (str n)}) - (range 1 (* 8 9)))) - ) - + (board 8 (draw-board + start-state)) [:input.w-100.center.input-reset.ba.b--black-20.pa2.mb2 {:type "text" diff --git a/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess/render.cljs b/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess/render.cljs index e6437b2..f875be6 100644 --- a/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess/render.cljs +++ b/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess/render.cljs @@ -1,5 +1,5 @@ (ns com.oly.static-sites.do-blog.pages.chess.render - (:require + (:require [com.oly.static-sites.do-blog.pages.chess.state :refer [white-square black-square]] [com.oly.static-sites.do-blog.pages.chess.movement :refer [fetch-selected-piece-moves]])) @@ -11,28 +11,31 @@ :white :black))) (defn draw-square [pos pieces] - (let [piece (first (filter #(= pos (:start-pos %)) pieces)) + (let [square (calculate-black-white pos) + piece (first (filter #(= pos (:start-pos %)) pieces)) selected-piece-moveable (fetch-selected-piece-moves (first (filter :selected pieces))) moveable-square (first (filter #(= pos %) selected-piece-moveable))] - {:colour (if (= (calculate-black-white pos) :black) - white-square - black-square) - :text (cond - (:selected piece) (:character piece) ;"S " - piece (:character piece) - moveable-square "O " - :else (if (= (calculate-black-white pos) :black) - white-square - black-square)) - } - )) + + (-> {:text (cond + (:selected piece) (:character piece) ;"S " + piece (:character piece) + moveable-square "O " + :else (if (= (calculate-black-white pos) :black) + white-square + black-square))} + (assoc :colour (if (= square :black) + white-square + black-square) + :class (if (= square :black) + "fl bg-white-80 black-80" + "fl bg-black-80 white-80"))))) (defn draw-board [pieces] - (loop [x 1 - y 1 - result []] - (if (>= x 8) - (if (>= y 8) - (conj result (draw-square [x y] pieces)) - (recur 1 (+ 1 y) (conj result (str (draw-square [x y] pieces) "\n")))) - (recur (+ 1 x) y (conj result (draw-square [x y] pieces)))))) + (loop [x 1 + y 1 + result []] + (if (>= x 8) + (if (>= y 8) + (conj result (draw-square [x y] pieces)) + (recur 1 (+ 1 y) (conj result (draw-square [x y] pieces)))) + (recur (+ 1 x) y (conj result (draw-square [x y] pieces))))))