module Model.Game ( Game , initialGame ) where import Random exposing (..) import Char exposing (KeyCode) import Time exposing (Time) import Set import Set exposing (Set) import Model.Player exposing (..) import Model.Cloud exposing (..) import Model.Vec2 exposing (Vec2) import Model.Config exposing (..) import Model.Round exposing (Round) import Model.Board exposing (initBoardSize) type alias Game = { elapsedTime : Float , boardSize : Vec2 , keysDown : Set KeyCode , currentScore : Int , player : Player , cloud : Cloud , rounds : List Round , seed : Seed } initialGame : Seed -> Game initialGame seed = { elapsedTime = 0 , boardSize = initBoardSize , keysDown = Set.empty , currentScore = 0 , player = initPlayer , cloud = initCloud , rounds = [] , seed = seed }