From 4521cdf1bb5725c9d497e5fb0c03943ad03a052f Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Sun, 5 Oct 2014 23:10:18 +0200 Subject: Adding multiple moving points to catch --- src/Cloud.elm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/Cloud.elm (limited to 'src/Cloud.elm') 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 -- cgit v1.2.3