diff --git a/rover.fnl b/rover.fnl index f1a7d4d..6fbdb8f 100644 --- a/rover.fnl +++ b/rover.fnl @@ -10,7 +10,7 @@ (any obstacles (fn [[ox oy]] (and (= ox x) (= oy y))))) -(fn try-to-drive [{: x : y : direction : stopped &as r} distance] +(fn try-to-drive [{: x : y : direction : stopped} distance] (let [distance (if (. {:w true :e true} direction) (/ distance (math.cos (/ (* math.pi y) 180))) @@ -21,8 +21,8 @@ :w {:x (wrap-longitude (- x distance))} :e {:x (wrap-longitude (+ x distance))}))) -(fn drive [{: x : y : direction : stopped &as r} distance] - (if stopped +(fn drive [r distance] + (if r.stopped r (let [next-move (merge r (try-to-drive r distance))] (if (at-obstacle? next-move)