Mercurial > vba-clojure
diff clojure/com/aurellem/exp/rival_name.clj @ 145:412ca096a9ba
major refactoring complete.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Mon, 19 Mar 2012 21:23:46 -0500 |
parents | |
children |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/clojure/com/aurellem/exp/rival_name.clj Mon Mar 19 21:23:46 2012 -0500 1.3 @@ -0,0 +1,301 @@ 1.4 +(ns com.aurellem.exp.rival-name 1.5 + (:use (com.aurellem.gb gb-driver)) 1.6 + (:import [com.aurellem.gb.gb_driver SaveState])) 1.7 + 1.8 +(defn talk-to-rival [] 1.9 + (read-state "talk-to-rival")) 1.10 + 1.11 + 1.12 +;; determined by naming rival "ZZZZZZZ" and noticing the 1.13 +;; pattern in the memory past the item list. 1.14 + 1.15 +(def rival-name-start 0xD349) 1.16 + 1.17 +(defn set-rival-name [^SaveState state codes] 1.18 + (set-state! state) 1.19 + (let [mem (memory state)] 1.20 + (dorun (map (fn [index val] 1.21 + (aset mem index val)) 1.22 + (range rival-name-start 1.23 + (+ rival-name-start 1.24 + (count codes))) codes)) 1.25 + (write-memory! mem) 1.26 + (update-state))) 1.27 + 1.28 +(defn view-rival-name [name-codes] 1.29 + (-> 1.30 + (set-rival-name (talk-to-rival) name-codes) 1.31 + (step [:a]) 1.32 + (play 50))) 1.33 + 1.34 +(defn rival-name-sequence [] 1.35 + (let [i (atom 1)] 1.36 + (fn [] 1.37 + (let [codes (range @i (+ 5 @i))] 1.38 + (println codes) 1.39 + (view-rival-name codes) 1.40 + (reset! i (+ 5 @i)))))) 1.41 + 1.42 + 1.43 +;; results: 1.44 + 1.45 +;; 0x00 : end-of-name-sentinel 1.46 +;; 0x01 : 1.47 +;; 0x02 : 1.48 +;; 0x03 : 1.49 +;; 0x04 : 1.50 +;; 0x05 : 1.51 +;; 0x06 : 1.52 +;; 0x07 : 1.53 +;; 0x08 : 1.54 +;; 0x09 : 1.55 +;; 0x0A : 1.56 +;; 0x0B : 1.57 +;; 0x0C : 1.58 +;; 0x0D : 1.59 +;; 0x0E : 1.60 +;; 0x0F : 1.61 +;; 0x10 : 1.62 +;; 0x11 : 1.63 +;; 0x12 : 1.64 +;; 0x13 : 1.65 +;; 0x14 : 1.66 +;; 0x15 : 1.67 +;; 0x16 : 1.68 +;; 0x17 : 1.69 +;; 0x18 : 1.70 +;; 0x19 : 1.71 +;; 0x1A : 1.72 +;; 0x1B : 1.73 +;; 0x1C : 1.74 +;; 0x1D : 1.75 +;; 0x1E : 1.76 +;; 0x1F : 1.77 +;; 0x20 : 1.78 +;; 0x21 : 1.79 +;; 0x22 : 1.80 +;; 0x23 : 1.81 +;; 0x24 : 1.82 +;; 0x25 : 1.83 +;; 0x26 : 1.84 +;; 0x27 : 1.85 +;; 0x28 : 1.86 +;; 0x29 : 1.87 +;; 0x2A : 1.88 +;; 0x2B : 1.89 +;; 0x2C : 1.90 +;; 0x2D : 1.91 +;; 0x2E : 1.92 +;; 0x2F : 1.93 +;; 0x30 : 1.94 +;; 0x31 : 1.95 +;; 0x32 : 1.96 +;; 0x33 : 1.97 +;; 0x34 : 1.98 +;; 0x35 : 1.99 +;; 0x36 : 1.100 +;; 0x37 : 1.101 +;; 0x38 : 1.102 +;; 0x39 : 1.103 +;; 0x3A : 1.104 +;; 0x3B : 1.105 +;; 0x3C : 1.106 +;; 0x3D : 1.107 +;; 0x3E : 1.108 +;; 0x3F : 1.109 +;; 0x40 : 1.110 +;; 0x41 : 1.111 +;; 0x42 : 1.112 +;; 0x43 : 1.113 +;; 0x44 : 1.114 +;; 0x45 : 1.115 +;; 0x46 : 1.116 +;; 0x47 : 1.117 +;; 0x48 : 1.118 +;; 0x49 : 1.119 +;; 0x4A : 1.120 +;; 0x4B : 1.121 +;; 0x4C : 1.122 +;; 0x4D : 1.123 +;; 0x4E : 1.124 +;; 0x4F : 1.125 +;; 0x50 : 1.126 +;; 0x51 : 1.127 +;; 0x52 : 1.128 +;; 0x53 : 1.129 +;; 0x54 : 1.130 +;; 0x55 : 1.131 +;; 0x56 : 1.132 +;; 0x57 : 1.133 +;; 0x58 : 1.134 +;; 0x59 : 1.135 +;; 0x5A : 1.136 +;; 0x5B : 1.137 +;; 0x5C : 1.138 +;; 0x5D : 1.139 +;; 0x5E : 1.140 +;; 0x5F : 1.141 +;; 0x60 : A (small-bold) 1.142 +;; 0x61 : B (small-bold) 1.143 +;; 0x62 : C (small-bold) 1.144 +;; 0x63 : D (small-bold) 1.145 +;; 0x64 : E (small-bold) 1.146 +;; 0x65 : F (small-bold) 1.147 +;; 0x66 : G (small-bold) 1.148 +;; 0x67 : H (small-bold) 1.149 +;; 0x68 : I (small-bold) 1.150 +;; 0x69 : V (small-bold) 1.151 +;; 0x6A : S (small-bold) 1.152 +;; 0x6B : L (small-bold) 1.153 +;; 0x6C : M (small-bold) 1.154 +;; 0x6D : 1.155 +;; 0x6E : 1.156 +;; 0x6F : 1.157 +;; 0x70 : 1.158 +;; 0x71 : 1.159 +;; 0x72 : 1.160 +;; 0x73 : 1.161 +;; 0x74 : 1.162 +;; 0x75 : 1.163 +;; 0x76 : 1.164 +;; 0x77 : 1.165 +;; 0x78 : 1.166 +;; 0x79 : 1.167 +;; 0x7A : 1.168 +;; 0x7B : 1.169 +;; 0x7C : 1.170 +;; 0x7D : 1.171 +;; 0x7E : 1.172 +;; 0x7F : 1.173 +;; 0x80 : A 1.174 +;; 0x81 : B 1.175 +;; 0x82 : C 1.176 +;; 0x83 : D 1.177 +;; 0x84 : E 1.178 +;; 0x85 : F 1.179 +;; 0x86 : G 1.180 +;; 0x87 : H 1.181 +;; 0x88 : I 1.182 +;; 0x89 : J 1.183 +;; 0x8A : K 1.184 +;; 0x8B : L 1.185 +;; 0x8C : M 1.186 +;; 0x8D : N 1.187 +;; 0x8E : O 1.188 +;; 0x8F : P 1.189 +;; 0x90 : Q 1.190 +;; 0x91 : R 1.191 +;; 0x92 : S 1.192 +;; 0x93 : T 1.193 +;; 0x94 : U 1.194 +;; 0x95 : V 1.195 +;; 0x96 : W 1.196 +;; 0x97 : X 1.197 +;; 0x98 : Y 1.198 +;; 0x99 : Z 1.199 +;; 0x9A : ( 1.200 +;; 0x9B : ) 1.201 +;; 0x9C : : 1.202 +;; 0x9D : ; 1.203 +;; 0x9E : 1.204 +;; 0x9F : 1.205 +;; 0xA0 : a 1.206 +;; 0xA1 : b 1.207 +;; 0xA2 : c 1.208 +;; 0xA3 : d 1.209 +;; 0xA4 : e 1.210 +;; 0xA5 : f 1.211 +;; 0xA6 : g 1.212 +;; 0xA7 : h 1.213 +;; 0xA8 : i 1.214 +;; 0xA9 : j 1.215 +;; 0xAA : k 1.216 +;; 0xAB : l 1.217 +;; 0xAC : m 1.218 +;; 0xAD : n 1.219 +;; 0xAE : o 1.220 +;; 0xAF : p 1.221 +;; 0xB0 : q 1.222 +;; 0xB1 : r 1.223 +;; 0xB2 : s 1.224 +;; 0xB3 : t 1.225 +;; 0xB4 : u 1.226 +;; 0xB5 : v 1.227 +;; 0xB6 : w 1.228 +;; 0xB7 : x 1.229 +;; 0xB8 : y 1.230 +;; 0xB9 : z 1.231 +;; 0xBA : e-with-grave 1.232 +;; 0xBB : 1.233 +;; 0xBC : 1.234 +;; 0xBD : 1.235 +;; 0xBE : 1.236 +;; 0xBF : 1.237 +;; 0xC0 : 1.238 +;; 0xC1 : 1.239 +;; 0xC2 : 1.240 +;; 0xC3 : 1.241 +;; 0xC4 : 1.242 +;; 0xC5 : 1.243 +;; 0xC6 : 1.244 +;; 0xC7 : 1.245 +;; 0xC8 : 1.246 +;; 0xC9 : 1.247 +;; 0xCA : 1.248 +;; 0xCB : 1.249 +;; 0xCC : 1.250 +;; 0xCD : 1.251 +;; 0xCE : 1.252 +;; 0xCF : 1.253 +;; 0xD0 : 1.254 +;; 0xD1 : 1.255 +;; 0xD2 : 1.256 +;; 0xD3 : 1.257 +;; 0xD4 : 1.258 +;; 0xD5 : 1.259 +;; 0xD6 : 1.260 +;; 0xD7 : 1.261 +;; 0xD8 : 1.262 +;; 0xD9 : 1.263 +;; 0xDA : 1.264 +;; 0xDB : 1.265 +;; 0xDC : 1.266 +;; 0xDD : 1.267 +;; 0xDE : 1.268 +;; 0xDF : 1.269 +;; 0xE0 : ' 1.270 +;; 0xE1 : PK 1.271 +;; 0xE2 : MN 1.272 +;; 0xE3 : 1.273 +;; 0xE4 : 1.274 +;; 0xE5 : 1.275 +;; 0xE6 : ? 1.276 +;; 0xE7 : ! 1.277 +;; 0xE8 : . 1.278 +;; 0xE9 : 1.279 +;; 0xEA : 1.280 +;; 0xEB : 1.281 +;; 0xEC : 1.282 +;; 0xED : 1.283 +;; 0xEE : 1.284 +;; 0xEF : male-symbol 1.285 +;; 0xF0 : pokemon-money-symbol 1.286 +;; 0xF1 : . 1.287 +;; 0xF2 : / 1.288 +;; 0xF3 : , 1.289 +;; 0xF4 : female-symbol 1.290 +;; 0xF5 : 1.291 +;; 0xF6 : 0 1.292 +;; 0xF7 : 1 1.293 +;; 0xF8 : 2 1.294 +;; 0xF9 : 3 1.295 +;; 0xFA : 4 1.296 +;; 0xFB : 5 1.297 +;; 0xFC : 6 1.298 +;; 0xFD : 7 1.299 +;; 0xFE : 8 1.300 +;; 0xFF : 9 1.301 + 1.302 + 1.303 + 1.304 +