 (ns coders-strike-back.core
   (:gen-class))
+
+(def checkpoint-core-size 100)
 
 (defn inc-atom [curr-val] (inc curr-val))
 (defn dec-atom [curr-val] (dec curr-val))

                  ; (binding [*out* *err*]
                  ;   (println "Debug messages..."))
                  (binding [*out* *err*]
                    (println (str "Has the boost be used ? : " @boost-used?))
                    (println (str "Given next check point distance : " nextCheckpointDist))
                    (println (str "Calculated next check point distance : " (distance x y opponentX opponentY)))
                    (println (str "Pod angle with checkpoint : " nextCheckpointAngle))
                    (println (str "Game loop counter : " @game-loop-counter))
                    (println (str "Pod Position : (" x "," y ")"))
                    (println (str "Opponent pod Position : (" opponentX "," opponentY ")"))
                    (println (str "Opponent distance : " opponent-distance)))
                    

                  ; You have to output the target position
                  ; followed by the power (0 <= thrust <= 100)
                  ; i.e.: "x y thrust"
                  (print (compute-x nextCheckpointX))
                  (print " ")
                  (print (compute-y nextCheckpointY))
                  (print " ")
                  (print (compute-action
                           (Integer/valueOf nextCheckpointX) (Integer/valueOf nextCheckpointY)
                           (Integer/valueOf nextCheckpointDist) (Integer/valueOf nextCheckpointAngle)
                           (Integer/valueOf opponentX) (Integer/valueOf opponentY)
                           boost-used? game-loop-counter))
                  (println ""))))

                   nextCheckpointX (read) nextCheckpointY (read)
                   nextCheckpointDist (read) nextCheckpointAngle (read)
                   opponentX (read) opponentY (read)
                   opponent-distance (distance x y opponentX opponentY)]
                  ; nextCheckpointX: x position of the next check point
                  ; nextCheckpointY: y position of the next check point
                  ; nextCheckpointDist: distance to the next checkpoint
