 (def height 100)
 (def point-size 8)
 (def ship-size 1.5)
+(def turn-speed 4)
 (def shot-size (/ ship-size 10))
 (def shot-speed 1.5)
-(def shot-millis 250)
+(def shot-millis 200)
+(def asteroid-max-speed 1)
+(def asteroid-max-rotation-speed 5)
 (def turn-millis 20)
-(def turn-speed 4)
 (def actions {
               (int \A) {:rotation (- turn-speed)}
               (int \D) {:rotation turn-speed}

   (do-action! ship action 1))
  )

(defn reset-game! [ship]
  (dosync (ref-set ship (create-ship)))
  nil)

; ----------------------------------------------------------

  (let [position (vec+vec speed position)]
    (assoc shot :position position)))

(defmethod move :asteroid [{:keys [direction rotation-speed position speed] :as asteroid}]
  (let [direction (+ direction (* rotation-speed turn-millis 0.001))
        [x y] (vec+vec speed position)
        position [(mod x width) (mod y height)]]
    (assoc asteroid :direction direction
                    :position position
                    )))

; Accelerating shots - not used right now
#_(defmethod move :shot [{:keys [position speed direction acceleration] :as shot}]
  (let [speed (vec+vec speed (rotate-vec direction [0 (* acceleration turn-millis 0.001)]))
