Mercurial > vba-clojure
annotate 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 |
rev | line source |
---|---|
rlm@145 | 1 (ns com.aurellem.exp.rival-name |
rlm@145 | 2 (:use (com.aurellem.gb gb-driver)) |
rlm@145 | 3 (:import [com.aurellem.gb.gb_driver SaveState])) |
rlm@145 | 4 |
rlm@145 | 5 (defn talk-to-rival [] |
rlm@145 | 6 (read-state "talk-to-rival")) |
rlm@145 | 7 |
rlm@145 | 8 |
rlm@145 | 9 ;; determined by naming rival "ZZZZZZZ" and noticing the |
rlm@145 | 10 ;; pattern in the memory past the item list. |
rlm@145 | 11 |
rlm@145 | 12 (def rival-name-start 0xD349) |
rlm@145 | 13 |
rlm@145 | 14 (defn set-rival-name [^SaveState state codes] |
rlm@145 | 15 (set-state! state) |
rlm@145 | 16 (let [mem (memory state)] |
rlm@145 | 17 (dorun (map (fn [index val] |
rlm@145 | 18 (aset mem index val)) |
rlm@145 | 19 (range rival-name-start |
rlm@145 | 20 (+ rival-name-start |
rlm@145 | 21 (count codes))) codes)) |
rlm@145 | 22 (write-memory! mem) |
rlm@145 | 23 (update-state))) |
rlm@145 | 24 |
rlm@145 | 25 (defn view-rival-name [name-codes] |
rlm@145 | 26 (-> |
rlm@145 | 27 (set-rival-name (talk-to-rival) name-codes) |
rlm@145 | 28 (step [:a]) |
rlm@145 | 29 (play 50))) |
rlm@145 | 30 |
rlm@145 | 31 (defn rival-name-sequence [] |
rlm@145 | 32 (let [i (atom 1)] |
rlm@145 | 33 (fn [] |
rlm@145 | 34 (let [codes (range @i (+ 5 @i))] |
rlm@145 | 35 (println codes) |
rlm@145 | 36 (view-rival-name codes) |
rlm@145 | 37 (reset! i (+ 5 @i)))))) |
rlm@145 | 38 |
rlm@145 | 39 |
rlm@145 | 40 ;; results: |
rlm@145 | 41 |
rlm@145 | 42 ;; 0x00 : end-of-name-sentinel |
rlm@145 | 43 ;; 0x01 : |
rlm@145 | 44 ;; 0x02 : |
rlm@145 | 45 ;; 0x03 : |
rlm@145 | 46 ;; 0x04 : |
rlm@145 | 47 ;; 0x05 : |
rlm@145 | 48 ;; 0x06 : |
rlm@145 | 49 ;; 0x07 : |
rlm@145 | 50 ;; 0x08 : |
rlm@145 | 51 ;; 0x09 : |
rlm@145 | 52 ;; 0x0A : |
rlm@145 | 53 ;; 0x0B : |
rlm@145 | 54 ;; 0x0C : |
rlm@145 | 55 ;; 0x0D : |
rlm@145 | 56 ;; 0x0E : |
rlm@145 | 57 ;; 0x0F : |
rlm@145 | 58 ;; 0x10 : |
rlm@145 | 59 ;; 0x11 : |
rlm@145 | 60 ;; 0x12 : |
rlm@145 | 61 ;; 0x13 : |
rlm@145 | 62 ;; 0x14 : |
rlm@145 | 63 ;; 0x15 : |
rlm@145 | 64 ;; 0x16 : |
rlm@145 | 65 ;; 0x17 : |
rlm@145 | 66 ;; 0x18 : |
rlm@145 | 67 ;; 0x19 : |
rlm@145 | 68 ;; 0x1A : |
rlm@145 | 69 ;; 0x1B : |
rlm@145 | 70 ;; 0x1C : |
rlm@145 | 71 ;; 0x1D : |
rlm@145 | 72 ;; 0x1E : |
rlm@145 | 73 ;; 0x1F : |
rlm@145 | 74 ;; 0x20 : |
rlm@145 | 75 ;; 0x21 : |
rlm@145 | 76 ;; 0x22 : |
rlm@145 | 77 ;; 0x23 : |
rlm@145 | 78 ;; 0x24 : |
rlm@145 | 79 ;; 0x25 : |
rlm@145 | 80 ;; 0x26 : |
rlm@145 | 81 ;; 0x27 : |
rlm@145 | 82 ;; 0x28 : |
rlm@145 | 83 ;; 0x29 : |
rlm@145 | 84 ;; 0x2A : |
rlm@145 | 85 ;; 0x2B : |
rlm@145 | 86 ;; 0x2C : |
rlm@145 | 87 ;; 0x2D : |
rlm@145 | 88 ;; 0x2E : |
rlm@145 | 89 ;; 0x2F : |
rlm@145 | 90 ;; 0x30 : |
rlm@145 | 91 ;; 0x31 : |
rlm@145 | 92 ;; 0x32 : |
rlm@145 | 93 ;; 0x33 : |
rlm@145 | 94 ;; 0x34 : |
rlm@145 | 95 ;; 0x35 : |
rlm@145 | 96 ;; 0x36 : |
rlm@145 | 97 ;; 0x37 : |
rlm@145 | 98 ;; 0x38 : |
rlm@145 | 99 ;; 0x39 : |
rlm@145 | 100 ;; 0x3A : |
rlm@145 | 101 ;; 0x3B : |
rlm@145 | 102 ;; 0x3C : |
rlm@145 | 103 ;; 0x3D : |
rlm@145 | 104 ;; 0x3E : |
rlm@145 | 105 ;; 0x3F : |
rlm@145 | 106 ;; 0x40 : |
rlm@145 | 107 ;; 0x41 : |
rlm@145 | 108 ;; 0x42 : |
rlm@145 | 109 ;; 0x43 : |
rlm@145 | 110 ;; 0x44 : |
rlm@145 | 111 ;; 0x45 : |
rlm@145 | 112 ;; 0x46 : |
rlm@145 | 113 ;; 0x47 : |
rlm@145 | 114 ;; 0x48 : |
rlm@145 | 115 ;; 0x49 : |
rlm@145 | 116 ;; 0x4A : |
rlm@145 | 117 ;; 0x4B : |
rlm@145 | 118 ;; 0x4C : |
rlm@145 | 119 ;; 0x4D : |
rlm@145 | 120 ;; 0x4E : |
rlm@145 | 121 ;; 0x4F : |
rlm@145 | 122 ;; 0x50 : |
rlm@145 | 123 ;; 0x51 : |
rlm@145 | 124 ;; 0x52 : |
rlm@145 | 125 ;; 0x53 : |
rlm@145 | 126 ;; 0x54 : |
rlm@145 | 127 ;; 0x55 : |
rlm@145 | 128 ;; 0x56 : |
rlm@145 | 129 ;; 0x57 : |
rlm@145 | 130 ;; 0x58 : |
rlm@145 | 131 ;; 0x59 : |
rlm@145 | 132 ;; 0x5A : |
rlm@145 | 133 ;; 0x5B : |
rlm@145 | 134 ;; 0x5C : |
rlm@145 | 135 ;; 0x5D : |
rlm@145 | 136 ;; 0x5E : |
rlm@145 | 137 ;; 0x5F : |
rlm@145 | 138 ;; 0x60 : A (small-bold) |
rlm@145 | 139 ;; 0x61 : B (small-bold) |
rlm@145 | 140 ;; 0x62 : C (small-bold) |
rlm@145 | 141 ;; 0x63 : D (small-bold) |
rlm@145 | 142 ;; 0x64 : E (small-bold) |
rlm@145 | 143 ;; 0x65 : F (small-bold) |
rlm@145 | 144 ;; 0x66 : G (small-bold) |
rlm@145 | 145 ;; 0x67 : H (small-bold) |
rlm@145 | 146 ;; 0x68 : I (small-bold) |
rlm@145 | 147 ;; 0x69 : V (small-bold) |
rlm@145 | 148 ;; 0x6A : S (small-bold) |
rlm@145 | 149 ;; 0x6B : L (small-bold) |
rlm@145 | 150 ;; 0x6C : M (small-bold) |
rlm@145 | 151 ;; 0x6D : |
rlm@145 | 152 ;; 0x6E : |
rlm@145 | 153 ;; 0x6F : |
rlm@145 | 154 ;; 0x70 : |
rlm@145 | 155 ;; 0x71 : |
rlm@145 | 156 ;; 0x72 : |
rlm@145 | 157 ;; 0x73 : |
rlm@145 | 158 ;; 0x74 : |
rlm@145 | 159 ;; 0x75 : |
rlm@145 | 160 ;; 0x76 : |
rlm@145 | 161 ;; 0x77 : |
rlm@145 | 162 ;; 0x78 : |
rlm@145 | 163 ;; 0x79 : |
rlm@145 | 164 ;; 0x7A : |
rlm@145 | 165 ;; 0x7B : |
rlm@145 | 166 ;; 0x7C : |
rlm@145 | 167 ;; 0x7D : |
rlm@145 | 168 ;; 0x7E : |
rlm@145 | 169 ;; 0x7F : |
rlm@145 | 170 ;; 0x80 : A |
rlm@145 | 171 ;; 0x81 : B |
rlm@145 | 172 ;; 0x82 : C |
rlm@145 | 173 ;; 0x83 : D |
rlm@145 | 174 ;; 0x84 : E |
rlm@145 | 175 ;; 0x85 : F |
rlm@145 | 176 ;; 0x86 : G |
rlm@145 | 177 ;; 0x87 : H |
rlm@145 | 178 ;; 0x88 : I |
rlm@145 | 179 ;; 0x89 : J |
rlm@145 | 180 ;; 0x8A : K |
rlm@145 | 181 ;; 0x8B : L |
rlm@145 | 182 ;; 0x8C : M |
rlm@145 | 183 ;; 0x8D : N |
rlm@145 | 184 ;; 0x8E : O |
rlm@145 | 185 ;; 0x8F : P |
rlm@145 | 186 ;; 0x90 : Q |
rlm@145 | 187 ;; 0x91 : R |
rlm@145 | 188 ;; 0x92 : S |
rlm@145 | 189 ;; 0x93 : T |
rlm@145 | 190 ;; 0x94 : U |
rlm@145 | 191 ;; 0x95 : V |
rlm@145 | 192 ;; 0x96 : W |
rlm@145 | 193 ;; 0x97 : X |
rlm@145 | 194 ;; 0x98 : Y |
rlm@145 | 195 ;; 0x99 : Z |
rlm@145 | 196 ;; 0x9A : ( |
rlm@145 | 197 ;; 0x9B : ) |
rlm@145 | 198 ;; 0x9C : : |
rlm@145 | 199 ;; 0x9D : ; |
rlm@145 | 200 ;; 0x9E : |
rlm@145 | 201 ;; 0x9F : |
rlm@145 | 202 ;; 0xA0 : a |
rlm@145 | 203 ;; 0xA1 : b |
rlm@145 | 204 ;; 0xA2 : c |
rlm@145 | 205 ;; 0xA3 : d |
rlm@145 | 206 ;; 0xA4 : e |
rlm@145 | 207 ;; 0xA5 : f |
rlm@145 | 208 ;; 0xA6 : g |
rlm@145 | 209 ;; 0xA7 : h |
rlm@145 | 210 ;; 0xA8 : i |
rlm@145 | 211 ;; 0xA9 : j |
rlm@145 | 212 ;; 0xAA : k |
rlm@145 | 213 ;; 0xAB : l |
rlm@145 | 214 ;; 0xAC : m |
rlm@145 | 215 ;; 0xAD : n |
rlm@145 | 216 ;; 0xAE : o |
rlm@145 | 217 ;; 0xAF : p |
rlm@145 | 218 ;; 0xB0 : q |
rlm@145 | 219 ;; 0xB1 : r |
rlm@145 | 220 ;; 0xB2 : s |
rlm@145 | 221 ;; 0xB3 : t |
rlm@145 | 222 ;; 0xB4 : u |
rlm@145 | 223 ;; 0xB5 : v |
rlm@145 | 224 ;; 0xB6 : w |
rlm@145 | 225 ;; 0xB7 : x |
rlm@145 | 226 ;; 0xB8 : y |
rlm@145 | 227 ;; 0xB9 : z |
rlm@145 | 228 ;; 0xBA : e-with-grave |
rlm@145 | 229 ;; 0xBB : |
rlm@145 | 230 ;; 0xBC : |
rlm@145 | 231 ;; 0xBD : |
rlm@145 | 232 ;; 0xBE : |
rlm@145 | 233 ;; 0xBF : |
rlm@145 | 234 ;; 0xC0 : |
rlm@145 | 235 ;; 0xC1 : |
rlm@145 | 236 ;; 0xC2 : |
rlm@145 | 237 ;; 0xC3 : |
rlm@145 | 238 ;; 0xC4 : |
rlm@145 | 239 ;; 0xC5 : |
rlm@145 | 240 ;; 0xC6 : |
rlm@145 | 241 ;; 0xC7 : |
rlm@145 | 242 ;; 0xC8 : |
rlm@145 | 243 ;; 0xC9 : |
rlm@145 | 244 ;; 0xCA : |
rlm@145 | 245 ;; 0xCB : |
rlm@145 | 246 ;; 0xCC : |
rlm@145 | 247 ;; 0xCD : |
rlm@145 | 248 ;; 0xCE : |
rlm@145 | 249 ;; 0xCF : |
rlm@145 | 250 ;; 0xD0 : |
rlm@145 | 251 ;; 0xD1 : |
rlm@145 | 252 ;; 0xD2 : |
rlm@145 | 253 ;; 0xD3 : |
rlm@145 | 254 ;; 0xD4 : |
rlm@145 | 255 ;; 0xD5 : |
rlm@145 | 256 ;; 0xD6 : |
rlm@145 | 257 ;; 0xD7 : |
rlm@145 | 258 ;; 0xD8 : |
rlm@145 | 259 ;; 0xD9 : |
rlm@145 | 260 ;; 0xDA : |
rlm@145 | 261 ;; 0xDB : |
rlm@145 | 262 ;; 0xDC : |
rlm@145 | 263 ;; 0xDD : |
rlm@145 | 264 ;; 0xDE : |
rlm@145 | 265 ;; 0xDF : |
rlm@145 | 266 ;; 0xE0 : ' |
rlm@145 | 267 ;; 0xE1 : PK |
rlm@145 | 268 ;; 0xE2 : MN |
rlm@145 | 269 ;; 0xE3 : |
rlm@145 | 270 ;; 0xE4 : |
rlm@145 | 271 ;; 0xE5 : |
rlm@145 | 272 ;; 0xE6 : ? |
rlm@145 | 273 ;; 0xE7 : ! |
rlm@145 | 274 ;; 0xE8 : . |
rlm@145 | 275 ;; 0xE9 : |
rlm@145 | 276 ;; 0xEA : |
rlm@145 | 277 ;; 0xEB : |
rlm@145 | 278 ;; 0xEC : |
rlm@145 | 279 ;; 0xED : |
rlm@145 | 280 ;; 0xEE : |
rlm@145 | 281 ;; 0xEF : male-symbol |
rlm@145 | 282 ;; 0xF0 : pokemon-money-symbol |
rlm@145 | 283 ;; 0xF1 : . |
rlm@145 | 284 ;; 0xF2 : / |
rlm@145 | 285 ;; 0xF3 : , |
rlm@145 | 286 ;; 0xF4 : female-symbol |
rlm@145 | 287 ;; 0xF5 : |
rlm@145 | 288 ;; 0xF6 : 0 |
rlm@145 | 289 ;; 0xF7 : 1 |
rlm@145 | 290 ;; 0xF8 : 2 |
rlm@145 | 291 ;; 0xF9 : 3 |
rlm@145 | 292 ;; 0xFA : 4 |
rlm@145 | 293 ;; 0xFB : 5 |
rlm@145 | 294 ;; 0xFC : 6 |
rlm@145 | 295 ;; 0xFD : 7 |
rlm@145 | 296 ;; 0xFE : 8 |
rlm@145 | 297 ;; 0xFF : 9 |
rlm@145 | 298 |
rlm@145 | 299 |
rlm@145 | 300 |
rlm@145 | 301 |