diff options
Diffstat (limited to 'src/Cloud.elm')
-rw-r--r-- | src/Cloud.elm | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Cloud.elm b/src/Cloud.elm new file mode 100644 index 0000000..081862c --- /dev/null +++ b/src/Cloud.elm @@ -0,0 +1,31 @@ +module Cloud where + +import Point (..) +import Player (..) +import Geometry (distance) + +type Cloud = + { greenPoints : [Point] + , redPoints : [Point] + , spawn : Float + , lastSpawn : Float + } + +initCloud : Cloud +initCloud = + let spawn = 200 + in { greenPoints = [] + , redPoints = [] + , spawn = spawn + , lastSpawn = -spawn + } + +playerPointsCollision : Float -> Player -> [Point] -> Bool +playerPointsCollision time player points = + let collision = playerPointCollision time player + in length (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 |