Skip to content

Commit a3e08e7

Browse files
committed
Made simalq.keyboard a little friendlier-looking for editing.
1 parent 77f4c02 commit a3e08e7

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

simalq/commands.hy

+3-3
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,12 @@
7777

7878

7979
(defn get-command [key]
80-
(import simalq.keyboard [read-dir-key cmd-keys])
80+
(import simalq.keyboard [read-dir-key command-keys])
8181
(when (setx v (read-dir-key key))
8282
(return (if (= v 'center)
8383
(Wait)
8484
(Walk v))))
85-
(when (setx v (.get cmd-keys (str key)))
85+
(when (setx v (.get command-keys (str key)))
8686
(return (if (isinstance v list)
8787
((get v 0) #* (cut v 1 None))
8888
(v))))
@@ -336,7 +336,7 @@
336336

337337
(defn help-text []
338338
(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)
340340
:setv [cmd arg] (if (isinstance cmd list) cmd [cmd None])
341341
(+ k " - " (.format
342342
(re.sub r"\s+" " " cmd.__doc__)

simalq/keyboard.hy

+17-16
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,34 @@
22

33

44
(import
5-
simalq.geometry [Direction]
5+
simalq.geometry [Direction :as D]
66
simalq.commands *)
77

88

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 {
2214
"?" Help
2315
"!" Quit
2416
"S" [SaveGame 'main]
2517
"C" [SaveGame 'checkpoint]
2618
"L" LoadGame
2719
"e" [ShiftHistory -1] ; Undo
28-
"E" [ShiftHistory -10]
20+
"E" [ShiftHistory -10] ; Undo several times
2921
"r" [ShiftHistory +1] ; Redo
30-
"R" [ShiftHistory +10]
22+
"R" [ShiftHistory +10] ; Redo several times
3123
";" Look
3224
"f" GonnaShoot
3325
"i" Inventory
3426
"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)))

0 commit comments

Comments
 (0)