/
CirclesModel.elm
42 lines (32 loc) · 944 Bytes
/
CirclesModel.elm
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
module CirclesModel where
import Color exposing (Color, rgb)
import Time exposing (Time)
import Random exposing (generate, int, initialSeed)
type alias Position = { x: Int, y: Int }
type alias CircleSpec = {
radius: Int,
xv: Int,
yv: Int,
col: Color,
creationTime: Time
}
type alias Circle = {
position: Position,
circleSpec: CircleSpec
}
makeCircleSpec : Time -> CircleSpec
makeCircleSpec time =
let seed1 = initialSeed (round time)
(radius,seed2) = generate (int 10 30) seed1
(xv,seed3) = generate (int 10 50) seed2
(yv,seed4) = generate (int 10 50) seed3
(r,seed5) = generate (int 10 220) seed4
(g,seed6) = generate (int 10 220) seed5
(b,_) = generate (int 10 220) seed6
in
{ radius = radius
, xv = xv
, yv = yv
, col = rgb r g b
, creationTime = time
}