Render board
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
b3abc6dd1c
commit
5a7da84ee9
|
@ -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"
|
||||
|
|
|
@ -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))))))
|
||||
|
|
Loading…
Reference in New Issue