   [state]
   (if (:is-running? state)
     (as-> state state
-      (update-in state [:ball :y] (:y-dir (:ball state)) ball-speed)
-      (update-in state [:ball :x] (:x-dir (:ball state)) ball-speed))
+      (update-in state [:ball :y] (:y-dir (:ball state)) (:dy (:ball state)))
+      (update-in state [:ball :x] (:x-dir (:ball state)) (:dx (:ball state))))
     state))
 
 (defn handle-input

(def paddle-height 100)

(def speed 7)

(def ball-speed 2)

(defn init-game []
  (do

    (q/ellipse 550 250 ball-size ball-size))

  {:player {:x 59 :y 250}
   :cpu    {:x 1040 :y 250}
   :ball   {:x 550 :y 250
            :dx (+ 1 (rand-nth (range 3)))
            :dy (+ 1 (rand-nth (range 3)))}
   :is-running? false})

(defn move-player-paddle
