module Model.Point ( Point , pointMove , pointSize , pointSpeed , pointSpawnDist , pointAwayDist ) where import Model.Vec2 exposing (..) import Model.Board exposing (boardDiagonal) type alias Point = { initTime : Float , initPos : Vec2 , initDest : Vec2 , move : Float -> Vec2 -> Vec2 -> Float -> Vec2 } pointMove : Point -> Float -> Vec2 pointMove {initTime, initPos, initDest, move} time = move initTime initPos initDest time pointSize : Float pointSize = 10 pointSpeed : Float -> Float pointSpeed dt = dt / 20 pointSpawnDist : Vec2 -> Float pointSpawnDist boardSize = (boardDiagonal boardSize) * 2.5 / 5 + pointSize pointAwayDist : Vec2 -> Float pointAwayDist boardSize = (boardDiagonal boardSize) * 3 / 5 + pointSize