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