blob: dcb5477265fbfe061af03d267b1752b9f0ce0f78 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
record Pick {
n = 0
}
record Item {
n = 0
}
state items: list of Item
state more: list of Item
state hits = 0
input seed = message { n: number }
input grow = message { step: number }
input add = message { step: number }
on seed {
items.append(Item { n: seed.n })
}
on grow {
for i in items {
more.append(Item { n: i.n + grow.step })
}
for m in more {
items.append(Item { n: m.n })
}
for m in more {
more.remove(m)
}
}
on add {
hits = hits + add.step
}
view count = count(i in items where i.n > 0)
view total = hits
view summed {
let t = 0
for i in items { t = t + i.n }
return t
}
view picked {
let ps: list of Pick
for i in items {
if i.n > 9 { ps.append(Pick { n: i.n }) }
}
return ps.count
}
|