                   (fn [the-pos]
                     (if (not= \w (get-tile current-map the-pos))
                       [current-map the-pos score]
-                      [current-map pos (- score action-penalty)]))]
+                      [current-map pos (- score wall-penalty)]))]
             ;(print pos)
             (case action
               (\l \r \u \d)

(def individual-count 30); The amount of individuals to operate on.

(def map-size 20) ; Size of the map used for robot simulation.
(def gold-prob 20) ; Probability in 100 that a tile contains gold.
(def simul-steps 100) ; Steps to allow the robot to make in a simulation.
(def tiles [\w \p \g]) ; Tiles that populate the map: wall, path, and gold.
(def actions [\u \d \l \r \p \x]) ; Actions the robot can take: up, down, left, right, pick up, move random.

              \p
              (if (= \g (get-tile current-map pos))
                [(set-tile current-map pos \p) pos (+ score gold-value)]
                [current-map pos (- score pick-up-penalty)]))))
        iteration (iterate make-step [the-map [1 1] 0])
        [_ final-pos final-score] (nth iteration simul-steps)]
    final-score))
