> http://www.flickr.com/photos/nakkaya/4200386988/in/set-72157623036408444/
>
> I would very much like to hear your feedback on the code.
I watched the movie -- very cool stuff! Great way to spend a weekend :)
I only skimmed your code. It looks pretty decent, though there are
opportunities for simplification. E.g.,
(if (= p :1) (:x (:1 @player)) (:x (:2 @player)))
if p is always either :1 or :2, this can be turned into
(:x (p @player))
Similarly, in something like move-ball:
(cond (= 1 (:x (:dir @ball))) (+ (:x @ball) (:right step))
(= -1 (:x (:dir @ball))) (+ (:x @ball) (:left step))
:else (:x @ball))
I'd define
(defn direction [d]
(cond (= d 1) :right
(= d -1) :left
:else (constantly 0)))
-- the only reason you can't use a map is that boxed Java numerics
don't hash
the same -- and alter move-ball to use
(+ (:x @ball)
((direction (:x (:dir @ball))) step)
There are a few other changes you can make by altering
representations... for
example, you use :1 and :2 for the players, but you could also use 0
and 1 and
directly index an array.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en