File tree Expand file tree Collapse file tree 5 files changed +11
-8
lines changed Expand file tree Collapse file tree 5 files changed +11
-8
lines changed Original file line number Diff line number Diff line change @@ -9,11 +9,11 @@ DEPENDENCIES
9
9
10
10
This version of the sample code has been tested with:
11
11
12
- Clojure SVN revision 1195
13
- svn co -r 1195 http://clojure.googlecode.com/svn/trunk/ clojure
12
+ Clojure SVN revision 1205
13
+ svn co -r 1205 http://clojure.googlecode.com/svn/trunk/ clojure
14
14
15
- Clojure-Contrib SVN revision 335 :
16
- svn co -r 335 http://clojure-contrib.googlecode.com/svn/trunk/ clojure-contrib
15
+ Clojure-Contrib SVN revision 368 :
16
+ svn co -r 368 http://clojure-contrib.googlecode.com/svn/trunk/ clojure-contrib
17
17
18
18
-------------------------------------------------------------------------------
19
19
You can run the completed Compojure example with
Original file line number Diff line number Diff line change 6
6
; part of normal Clojure style
7
7
8
8
(ns examples.snake
9
- (:import (java.awt Color) (javax.swing JPanel JFrame Timer JOptionPane)
9
+ (:import (java.awt Color Dimension)
10
+ (javax.swing JPanel JFrame Timer JOptionPane)
10
11
(java.awt.event ActionListener KeyListener))
11
12
(:use clojure.contrib.import-static
12
13
[clojure.contrib.seq-utils :only (includes? )]))
69
70
70
71
; START: lose?
71
72
(defn head-overlaps-body? [{[head & body] :body }]
72
- ; have proposed to SS that argument order be reversed:
73
- (includes? head body))
73
+ (includes? body head))
74
74
75
75
(def lose? head-overlaps-body? )
76
76
; END: lose?
144
144
(.repaint this))
145
145
(keyPressed [e] ; <label id="code.game-panel.keyPressed"/>
146
146
(update-direction snake (dirs (.getKeyCode e))))
147
+ (getPreferredSize []
148
+ (Dimension. (* (inc width) point-size)
149
+ (* (inc height) point-size)))
147
150
(keyReleased [e])
148
151
(keyTyped [e])))
149
152
; END: game-panel
160
163
(.addKeyListener panel))
161
164
(doto frame ; <label id="code.game.frame"/>
162
165
(.add panel)
163
- (.setSize ( * width point-size) ( * height point-size) )
166
+ (.pack )
164
167
(.setVisible true ))
165
168
(.start timer) ; <label id="code.game.timer"/>
166
169
[snake, apple, timer])) ; <label id="code.game.return"/>
You can’t perform that action at this time.
0 commit comments