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 +