                               grid-height)]
         (prn "Decision: " decision)
         (into [] decision))))
-
   (defn chantest
     []
     (let [c (async/chan (async/sliding-buffer 1))
           heuristic-c (async/chan (async/sliding-buffer 1))
-          timeout-chan (async/timeout 2000)]
+          timeout-chan (async/timeout 1999)]
       (async/go
         ; Compute layers and feed them to the channel as long as it's opened.
         (loop [x 0]

    [state grid-width grid-height is-first-player]
    (let [ _ (prn "Childrens of" (state :last-move))
           possible-moves (gen-children-points state grid-width grid-height)
           _ (prn state possible-moves)
          possible-states (set
                            (map
                              #(generate-world-from-position grid-width grid-height state % is-first-player)

    ""
    [is-first-player state timeout grid-width grid-height]
    ; TODO Return if timeout
    (let [[negamax-value move] (negamax-inner state Double/NEGATIVE_INFINITY Double/POSITIVE_INFINITY timeout is-first-player 3 grid-width grid-height)]
      (prn "Negamax-value" negamax-value)
        move))

