diff --git a/desktop/src-common/advent/actions.clj b/desktop/src-common/advent/actions.clj index 1d1abfc2..e14dbb64 100644 --- a/desktop/src-common/advent/actions.clj +++ b/desktop/src-common/advent/actions.clj @@ -45,7 +45,7 @@ (defn from-path [screen entities target-id [x y]] (let [entity (target-id entities) - path (vec (take-nth 4 (advent.pathfind/visit-all + path (vec (take-nth 5 (advent.pathfind/visit-all (:collision (:background entities)) [(int (:x entity)) (int (:y entity))] [(int x) (int y)]))) diff --git a/desktop/src-common/advent/pathfind.clj b/desktop/src-common/advent/pathfind.clj index ad329928..3ce1c1b0 100644 --- a/desktop/src-common/advent/pathfind.clj +++ b/desktop/src-common/advent/pathfind.clj @@ -31,16 +31,16 @@ (defn resolve-path [came-from play-loc target-loc] - (doto (if (nil? (came-from target-loc)) - nil - (loop [path [] - current-node target-loc] - (if (or (= current-node play-loc) - (nil? current-node)) - (reverse (map (fn [[x y]] [x y]) (conj path current-node))) - (recur - (conj path current-node) - (came-from current-node))))) println)) + (if (nil? (came-from target-loc)) + nil + (loop [path [] + current-node target-loc] + (if (or (= current-node play-loc) + (nil? current-node)) + (reverse (map (fn [[x y]] [x y]) (conj path current-node))) + (recur + (conj path current-node) + (came-from current-node)))))) (defn heuristic [[goal-x goal-y] [current-x current-y]] (let [dist-x (Math/abs (- goal-x current-x )) diff --git a/desktop/src/advent/core/desktop_launcher.clj b/desktop/src/advent/core/desktop_launcher.clj index 89d3c17d..5454d0cd 100644 --- a/desktop/src/advent/core/desktop_launcher.clj +++ b/desktop/src/advent/core/desktop_launcher.clj @@ -1,10 +1,22 @@ (ns advent.core.desktop-launcher - (:require [advent.core :refer :all]) + (:require [advent.core :refer :all] + [clojure.tools.nrepl.server]) (:import [com.badlogic.gdx.backends.lwjgl LwjglApplication] [org.lwjgl.input Keyboard]) (:gen-class)) +(defmacro start-nrepl-expr [port] + `(let [{port# :port} (clojure.tools.nrepl.server/start-server :port ~port)] + (doseq [port-file# ["target/repl-port" ".nrepl-port"]] + (-> port-file# + java.io.File. + (doto .deleteOnExit) + (spit port#))) + (println "Started nREPL server on port" port#))) + (defn -main - [] + [& [port]] + (when port (start-nrepl-expr (Integer/parseInt port))) (LwjglApplication. advent "advent" 1280 960) + (Keyboard/enableRepeatEvents true))