Mercurial > rlm
comparison src/rlm/play.clj @ 0:78a630e650d2
initial import
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Tue, 18 Oct 2011 00:57:08 -0700 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:78a630e650d2 |
---|---|
1 (ns rlm.play) | |
2 | |
3 (defn play | |
4 ([] (play 10)) | |
5 ([n] | |
6 (loop [i 0 | |
7 state false | |
8 turned-on (vec (repeat n false)) | |
9 turned-off 0] | |
10 (if (== turned-off (dec n)) | |
11 i | |
12 (let [p (rand-int n) | |
13 i (inc i)] | |
14 (if (not= p 0) | |
15 (if (and (not state) (not (turned-on p))) | |
16 (recur i true (assoc turned-on p true) turned-off) | |
17 (recur i state turned-on turned-off)) | |
18 (if state | |
19 (recur i false turned-on (inc turned-off)) | |
20 (recur i state turned-on turned-off)))))))) | |
21 | |
22 |