Mercurial > vba-clojure
comparison clojure/com/aurellem/run/bootstrap_0.clj @ 255:d9e0752da684
unicode walking :)
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Mon, 26 Mar 2012 06:00:30 -0500 |
parents | b7f682bb3090 |
children | 8d1a354f7471 |
comparison
equal
deleted
inserted
replaced
254:5dafe6188ca5 | 255:d9e0752da684 |
---|---|
3 (:use (com.aurellem.run title save-corruption)) | 3 (:use (com.aurellem.run title save-corruption)) |
4 (:use (com.aurellem.exp item-bridge))) | 4 (:use (com.aurellem.exp item-bridge))) |
5 | 5 |
6 | 6 |
7 (defn-memo boot-root [] | 7 (defn-memo boot-root [] |
8 [(root) []]) | 8 [ [] (root)]) |
9 | 9 |
10 (defn-memo to-rival-name | |
11 ([] (to-rival-name (boot-root))) | |
12 ([script] | |
13 (-> script | |
14 title | |
15 oak | |
16 name-entry-rlm | |
17 scroll-text | |
18 scroll-text | |
19 scroll-text | |
20 scroll-text | |
21 scroll-text | |
22 ))) | |
10 | 23 |
24 (defn-memo name-rival-bootstrap | |
25 ([] (name-rival-bootstrap (to-rival-name))) | |
26 ([script] | |
27 (->> script | |
28 (advance [] [:a]) | |
29 (advance [] [:r] DE) | |
30 (play-moves | |
31 [[] | |
32 [:r] [] [:r] [] [:r] [] [:r] [] | |
33 [:r] [] [:r] [] [:r] [] [:d] [] | |
34 [:d] [:a] ;; space | |
35 [:l] [] [:d] [:a] ;; [PK] | |
36 [:u] [] [:u] [] [:u] [] [:l] [:a] ;; G | |
37 [:d] [] [:d] [] [:d] [] [:r] [:a] ;; [PK] | |
38 [:u] [] [:u] [] [:u] [] [:l] [:a] ;; G | |
39 [:d] [] [:d] [] [:d] [] [:r] [:a] ;; [PK] | |
11 | 40 |
41 [:d] [] [:r] [:a] ;; finish | |
42 ])))) | |
43 | |
44 (defn walk | |
45 "Move the character along the given directions." | |
46 [directions script] | |
47 (reduce (fn [script direction] | |
48 (move direction script)) | |
49 script directions)) | |
50 | |
51 (def ↑ [:u]) | |
52 (def ↓ [:d]) | |
53 (def ← [:l]) | |
54 (def → [:r]) | |
55 | |
56 (defn-memo leave-house | |
57 ([] (leave-house (name-rival-bootstrap))) | |
58 ([script] | |
59 (->> script | |
60 finish-title | |
61 start-walking | |
62 walk-to-stairs | |
63 walk-to-door | |
64 (walk [↓ ↓])))) | |
65 | |
66 (defn-memo to-pallet-town-edge | |
67 ([] (to-pallet-town-edge (leave-house))) | |
68 ([script] | |
69 (->> script | |
70 start-walking | |
71 (walk [→ → → → → | |
72 ↑ ↑ ↑ ↑ ↑ ↑])))) | |
73 | |
74 |