blob: 45a1dcb009d64e53ca9df7df9bd18403a844e09f (
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
|
module Cloud where
import List
import Point (..)
import Player (..)
import Config (..)
import Geometry (distance)
type alias Cloud =
{ points : Config -> List Point
, spawn : Float
, lastSpawn : Float
}
initCloud : Cloud
initCloud =
let spawn = 600
in { points config =
case config of
White -> []
Black -> []
, spawn = spawn
, lastSpawn = -spawn
}
playerPointsCollision : Float -> Player -> List Point -> Bool
playerPointsCollision time player points =
let collision = playerPointCollision time player
in List.length (List.filter collision points) > 0
playerPointCollision : Float -> Player -> Point -> Bool
playerPointCollision time player point =
let pointPos = pointMove point time
in (distance pointPos player.pos) < pointSize + playerSize
|