     :size           shot-size
     :shape          [[-1.0 -5.0] [1.0 -5.0] [0.0 1.0]]
     :color          (Color. 250 50 10)
-    :paint-method fill-polygon
+    :paint-method   fill-polygon
 
     :position       pos
     :speed          speed

(def turn-millis 40)

(def actions {
              (int \A) {:rotation (- turn-speed)}
              (int \D) {:rotation turn-speed}
              (int \W) {:acceleration 1}
              (int \K) {:shoot true}
              (int \R) {:repair true}
              (int \1) {:set-level 1}
              (int \2) {:set-level 2}
              (int \3) {:set-level 3}

; Actions
; ----------------------------------------------------------------------

(defn shoot [{:keys [shooting? shots millis-since-last-shot] :as ship}]
  (let [millis-since-last-shot (+ turn-millis millis-since-last-shot)
        shoots? (and shooting? (>= millis-since-last-shot shot-millis))
        shots (if shoots? (conj shots (create-shot ship)) shots)]
    (assoc ship :millis-since-last-shot (if shoots? 0 millis-since-last-shot)
                :shots shots)))

(defn basic-move
  ([{:keys [direction rotation-speed speed acceleration position] :as object} wrap?]
