     (list (+ posx  (/ w 2)) (+ posy h))))
 
 (defn intersections-p [object offset base obstacles]
-  ;;(println "----+++")
-  ;;(println "Ip, " (:name @object) offset base);; obstacles)
   (let [hit nil]
     (loop [obstacle obstacles
            hit nil]
-      ;;(println (or (empty? obstacle) (= true hit)))
       (if (or (empty? obstacle) (= true hit))
         hit
         (let [o (first obstacle)

    (if (not= v tt)
      (do
        (make-def "tt" (update-in @tt [:support-for] (fn [x y] (cons y x)) v))
        (make-def k (update-in @v [:supported-by] (fn [x y] y) tt)))))
  
  ;; (doseq [l *blocks*]
  ;;   (let [n (:name l)]
  ;;     (make-def n l)))
  
  ;; (doseq [l (rest *blocks*)
  ;;         :let [tt (first *blocks*)]]

  ;;   ;; (make-def (:name tt))
  ;;   (reset! tt (update-in @tt [:support-for] (fn [x y] (cons y x)) l))
  ;;   ;; (make-def (:name l))
  ;;   (reset! l (update-in @l [:supported-by] (fn [x y] y) tt))
  ;;   )
  )
(reset-world)
;;(println (block_map "b2"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

              rs-proposed (+ ls-proposed (:width @object))
              ls-obstacle (first (:position @o))
              rs-obstacle (+ ls-obstacle (:width @o))]
          (if (or (>= ls-proposed rs-obstacle)
                 (<= rs-proposed ls-obstacle))
            (recur (next obstacle) hit)
