Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (ns t3)
- (defn- which-char? [coll]
- (let [freqs (frequencies coll)
- freq (fn [c] (get freqs c 0))]
- (cond
- (> (freq \x) (freq \0)) \0
- (< (freq \x) (freq \0)) \x
- :else (rand-nth "0x"))))
- (defn- player [coll]
- "0 gets to play first ... apparently :)"
- (let [freqs (frequencies coll)
- freq #(get freqs % 0)]
- (cond (every? #{\-} coll) \0
- (>= (freq \x) (freq \0)) \0
- :else \x)))
- (defn play [coll]
- (let [char (which-char? coll)
- place (fn [n] (flatten [(take n coll) char (drop (inc n) coll)]))
- free (map first (filter #(= (second %) \-) (map-indexed vector coll)))
- free? (fn [n] (some #(= % n) free))
- evens (filter even? free)]
- (apply str (place (cond
- (free? 4) 4
- (seq evens) (rand-nth evens)
- :else (rand-nth free))))))
Add Comment
Please, Sign In to add comment