                 (<= 4 (+ prev-right-streak-count prev-right-partial-streak-count)) 
                     (+ prev-right-direct-streak prev-right-streak-count)
                 :else 1)
+
+              (if (and
+                    (= :min prev-left-streak-type)
+                    (= 3 prev-left-direct-streak)
+                    (< 0 prev-left-partial-streak-count)
+                    (< 0 prev-right-partial-streak-count)
+                    (= 0 prev-right-direct-streak)) 1000000 0)
+
+              (if (and
+                    (= :min prev-right-streak-type)
+                    (= 3 prev-right-direct-streak)
+                    (< 0 prev-right-partial-streak-count)
+                    (< 0 prev-left-partial-streak-count)
+                    (= 0 prev-left-direct-streak)) 1000000 0)
+
             )
         ; Types identiques
           (cond


  (or (= Double/POSITIVE_INFINITY (state :heuristic-result))
      (= Double/NEGATIVE_INFINITY (state :heuristic-result))))

(defn- negamax-inner
  ""

          right-streak-count
          right-partial-streak-count
          right-direct-streak)))))
(def compute-path-value (memoize compute-path-value))


