File tree 2 files changed +20
-19
lines changed
2 files changed +20
-19
lines changed Original file line number Diff line number Diff line change 77
77
78
78
79
79
(defn get-command [key]
80
- (import simalq.keyboard [read-dir-key cmd -keys])
80
+ (import simalq.keyboard [read-dir-key command -keys])
81
81
(when (setx v (read-dir-key key))
82
82
(return (if (= v 'center)
83
83
(Wait )
84
84
(Walk v))))
85
- (when (setx v (.get cmd -keys (str key)))
85
+ (when (setx v (.get command -keys (str key)))
86
86
(return (if (isinstance v list)
87
87
((get v 0 ) #* (cut v 1 None ))
88
88
(v ))))
336
336
337
337
(defn help-text []
338
338
(setv controls (.join " \n " (lfor
339
- [k cmd] (.items hy.I.simalq/keyboard.cmd -keys)
339
+ [k cmd] (.items hy.I.simalq/keyboard.command -keys)
340
340
:setv [cmd arg] (if (isinstance cmd list) cmd [cmd None ])
341
341
(+ k " - " (.format
342
342
(re.sub r" \s +" " " cmd.__doc__)
Original file line number Diff line number Diff line change 2
2
3
3
4
4
(import
5
- simalq.geometry [Direction]
5
+ simalq.geometry [Direction :as D ]
6
6
simalq.commands *)
7
7
8
8
9
- (defn read-dir-key [key]
10
- (.get _dir-keys (str key) (.get _dir-keys key.name)))
11
- (setv _dir-keys (dfor
12
- :setv D Direction
13
- [k v] (partition 2 [
14
- [" 7" " y" " HOME" ] D.NW [" 8" " k" " UP" ] D.N [" 9" " u" " PGUP" ] D.NE
15
- [" 4" " h" " LEFT" ] D.W [" 5" " ." " ESCAPE" ] 'center [" 6" " l" " RIGHT" ] D.E
16
- [" 1" " b" " END" ] D.SW [" 2" " j" " DOWN" ] D.S [" 3" " n" " PGDOWN" ] D.SE])
17
- s k
18
- (if (> (len s) 1 ) (+ " KEY_" s) s) v))
19
-
20
-
21
- (setv cmd-keys {
9
+ (setv direction-keys {
10
+ " 7/y/HOME" D.NW " 8/k/UP" D.N " 9/u/PGUP" D.NE
11
+ " 4/h/LEFT" D.W " 5/./ESCAPE" 'center " 6/l/RIGHT" D.E
12
+ " 1/b/END" D.SW " 2/j/DOWN" D.S " 3/n/PGDOWN" D.SE})
13
+ (setv command-keys {
22
14
" ?" Help
23
15
" !" Quit
24
16
" S" [SaveGame 'main]
25
17
" C" [SaveGame 'checkpoint]
26
18
" L" LoadGame
27
19
" e" [ShiftHistory -1 ] ; Undo
28
- " E" [ShiftHistory -10 ]
20
+ " E" [ShiftHistory -10 ] ; Undo several times
29
21
" r" [ShiftHistory +1] ; Redo
30
- " R" [ShiftHistory +10]
22
+ " R" [ShiftHistory +10] ; Redo several times
31
23
" ;" Look
32
24
" f" GonnaShoot
33
25
" i" Inventory
34
26
" a" GonnaUseItem})
27
+
28
+
29
+ (setv direction-keys (dfor
30
+ :setv D Direction
31
+ [k v] (.items direction-keys)
32
+ s (.split k " /" )
33
+ (if (> (len s) 1 ) (+ " KEY_" s) s) v))
34
+ (defn read-dir-key [key]
35
+ (.get direction-keys (str key) (.get direction-keys key.name)))
You can’t perform that action at this time.
0 commit comments