 (def board (reagent/cursor app-state [:board]))
 (def scores (reagent/cursor app-state [:scores]))
 (def current-player (reagent/cursor app-state [:player]))
+
 
 ;; -----------------------------------------
 ;; DISPLAY

        all-moves (get-in game [:moves player])]
    (transduce
      (map #(move-strength (:cells-strength game) converted-filter %))
      max
      all-moves)))

(defn best-move
  "[SIMPLISTIC] Return the best move for a player based on:
   * The immediate gain
   * The worse immediate lost afterwards"
  {:pre (player? player)}
  [game player]
  (let [moves (get-in game [:moves player])
        others (remove #{player} players)]

;; -----------------------------------------

(def player? (set players))
(def cell? (conj player? :wall :empty))

(defn coord? [p]
  (and
    (integer? (first p))
    (integer? (second p))
    (= 2 (count p))))

(defn move? [m]
  (and
    (:move m)
    (every? coord? (:taken m))
    (:winner m)
    (:looser m)))


;; -----------------------------------------
