comparison clojure/com/aurellem/gb/items.clj @ 339:93e74ed34305

rewriting basic-writer assemly so that it is valid items
author Robert McIntyre <rlm@mit.edu>
date Sun, 08 Apr 2012 03:00:51 -0500
parents b7f682bb3090
children 3b3cd62b6106
comparison
equal deleted inserted replaced
338:92f0011925d2 339:93e74ed34305
140 0xE8 :TM32 ;; double team 140 0xE8 :TM32 ;; double team
141 0xE9 :TM33 ;; reflect 141 0xE9 :TM33 ;; reflect
142 0xEA :TM34 ;; bide 142 0xEA :TM34 ;; bide
143 0xEB :TM35 ;; metronome 143 0xEB :TM35 ;; metronome
144 0xEC :TM36 ;; self destruct 144 0xEC :TM36 ;; self destruct
145 0xED :TM37 ;; eggbomb 145 0xED :TM37 ;; egg bomb
146 0xEE :TM38 ;; fire blast 146 0xEE :TM38 ;; fire blast
147 0xEF :TM39 ;; swift 147 0xEF :TM39 ;; swift
148 0xF0 :TM40 ;; skull bash 148 0xF0 :TM40 ;; skull bash
149 0xF1 :TM41 ;; softboiled 149 0xF1 :TM41 ;; softboiled
150 0xF2 :TM42 ;; dream eater 150 0xF2 :TM42 ;; dream eater
165 165
166 (def item-name->item-code 166 (def item-name->item-code
167 (zipmap (vals item-code->item-name) 167 (zipmap (vals item-code->item-name)
168 (keys item-code->item-name))) 168 (keys item-code->item-name)))
169 169
170 (defn inventory [^SaveState state] 170 (defn raw-inventory->inventory
171 (let [items (item-list state)] 171 [raw-inventory]
172 (map 172 (map
173 (fn [[item-code quantity]] 173 (fn [[item-code quantity]]
174 [(item-code->item-name 174 [(item-code->item-name
175 item-code 175 item-code
176 item-code) 176 item-code)
177 quantity]) 177 quantity])
178 (partition 178 (partition
179 2 179 2
180 (next (take-while (partial not= 255) items)))))) 180 raw-inventory)))
181
182 (defn inventory [^SaveState state]
183 (let [items (item-list state)]
184 (raw-inventory->inventory
185 (next (take-while (partial not= 255) items)))))
181 186
182 (defn print-inventory 187 (defn print-inventory
183 ([] (print-inventory @current-state)) 188 ([] (print-inventory @current-state))
184 ([^SaveState state] 189 ([^SaveState state]
185 (println 190 (println