comparison clojure/com/aurellem/world/practice.clj @ 261:1b5c33614b0d

merge
author Robert McIntyre <rlm@mit.edu>
date Mon, 26 Mar 2012 19:57:25 -0500
parents b2f9a0cb13e3
children a44a2c459aeb
comparison
equal deleted inserted replaced
260:11cfe6dcb803 261:1b5c33614b0d
1 (ns com.aurellem.world.practice 1 (ns com.aurellem.world.practice
2 (:use (com.aurellem.gb gb-driver))
3
4 (:use (com.aurellem.gb saves util constants gb-driver vbm items assembly characters)) 2 (:use (com.aurellem.gb saves util constants gb-driver vbm items assembly characters))
5 (:use (com.aurellem.run title)) 3 (:use (com.aurellem.run title))
6 (:use (com.aurellem.exp pokemon)) 4 (:use (com.aurellem.exp pokemon))
7 (:use (com.aurellem.exp item-bridge)) 5 (:use (com.aurellem.exp item-bridge))
8 (:import [com.aurellem.gb.gb_driver SaveState])) 6 (:import [com.aurellem.gb.gb_driver SaveState]))
16 (defn nstep [state n] 14 (defn nstep [state n]
17 (if (zero? n) state 15 (if (zero? n) state
18 (recur (step state) (dec n)))) 16 (recur (step state) (dec n))))
19 17
20 18
21 (defn view-memory* [state start length] 19 (defn view-memory*
20 "View a region of indexable memory in the given state."
21 [state start length]
22 ((comp vec map) 22 ((comp vec map)
23 #((comp aget) (memory state) %) 23 #((comp aget) (memory state) %)
24 (range start (+ start length)))) 24 (range start (+ start length))))
25 25
26 26
179 (map (partial + (inc m)) 179 (map (partial + (inc m))
180 (find-sublists 180 (find-sublists
181 (drop (inc m) list) 181 (drop (inc m) list)
182 sub)))))) 182 sub))))))
183 183
184
185
186 (defn search-rom
187 "Search for the given codes in ROM, returning short snippets of
188 text around the results."
189 ([codes k]
190 (search-rom com.aurellem.gb.gb-driver/original-rom codes k))
191 ([rom codes k]
192 (map
193 (fn [n]
194 [(hex n)
195 (take k (drop n rom))])
196
197 (find-sublists
198 rom
199 codes))))
200
184 (defn spelling-bee 201 (defn spelling-bee
185 "Search for the given string in ROM, returning short snippets of 202 "Search for the given string in ROM, returning short snippets of
186 text around the results." 203 text around the results."
187 [str k] 204 ([str k]
188 (let [rom (rom(root))] 205 (spelling-bee com.aurellem.gb.gb-driver/original-rom str k))
189 (map 206 ([rom str k]
190 (fn [n] 207 (map
191 [(hex n) 208 (fn [[address snip]]
192 (character-codes->str (take k (drop n rom)))]) 209 [address (character-codes->str snip)]
210 (search-rom rom (str->character-codes str) k)))))
193 211
194 (find-sublists
195 rom
196 (str->character-codes str)))))
197 212
198 213
199 214
200 215
201 (defn change-speech 216 (defn change-speech