其他分享
首页 > 其他分享> > 闲谈-从35行的贪吃蛇说起

闲谈-从35行的贪吃蛇说起

作者:互联网

明天就是上学期的最后一门考试了(感觉哪里怪怪的XD),考完以后白天就闲下来,可以做自己的事情了。本来小学期计划好多的说,结果这么快已经过半了,选上了某老师的linux课,说是上三周课(一周两次),结果第三次上课了有个妹子还没装linux_(:3JL)_。所以只能靠自己了,两本鸟哥看完半本了,然并卵,都是会的,估计不会的都在剩下的部分里面。

打算上一门函数式编程的,在上一篇已经说过了,选定了clojure,在图书馆借了一本《clojure程序设计》,被里面提到的35行贪吃蛇吓哭了。

代码:

12345678910111213141516171819202122232425262728293031323334
(import '(java.awt Color) '(javax.swing JPanel JFrame Timer)         '(java.awt.event KeyEvent ActionListener KeyListener)) (defn gen-apple [_] [(rand-int 750) (rand-int 550)])(defn move [{:keys [body dir] :as snake} & grow]  (assoc snake :body (cons (vec (map #(+ (dir %) ((first body) %)) [0  1]))                            (if grow body (butlast body)))))(defn turn [snake newdir] (if newdir (assoc snake :dir newdir) snake))(defn collision? [{[b] :body} a]   (every? #(<= (- (a %) 10) (b %) (+ 10 (a %))) [0 1]))(defn paint [g p c] (.setColor g c) (.fillRect g (p 0) (p 1) 10 10)) (def dirs {KeyEvent/VK_LEFT [-10 0] KeyEvent/VK_RIGHT [10 0]            KeyEvent/VK_UP   [0 大专栏

标签:body,rand,35,newdir,贪吃蛇,snake,闲谈,defn,dir
来源: https://www.cnblogs.com/dajunjun/p/11699312.html