aboutsummaryrefslogtreecommitdiff
path: root/src/Cloud.elm
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