           (and (= x-dist 0) (> y-dist 0)) :up
           (and (= x-dist 0) (< y-dist 0)) :down)))
 
-(defn move-zombie [terrain current-pos action]
+(defn- move-zombie [terrain current-pos action]
   (let [new-pos (get-position current-pos action)]
     (if (terrain-accessible? terrain new-pos)
       (clojure.set/rename-keys terrain {current-pos new-pos})

(defn zombie-health [game position]
  (:health (get-in game [:terrain position])))

(defn is-zombie? [terrain]
  (= (:type terrain) :zombie))

(defn zombie-positions [game]

(defn world-right-upper-corner [[x _]]
  [x 0])

(defn- in-world? [[world-x world-y] [x y]]
  (and (>= x 0)
       (>= y 0)
       (< x world-x)
       (< y world-y)))

(defn- get-position
  ([pos action] (get-position pos action 1))
  ([[x y] action steps]
   (case action
