{-| Module : Main Description : Test the game Copyright : (c) Truong Dung, 2017 License : GPL-3 Maintainer : checkraiser11@gmail.com Stability : experimental Portability : POSIX -} module Main(main) where import Graphics.Gloss import Pong (PongGame, render, initialState) import Animation(moveBall) import Collision(wallBounce2) import EventHandler(handleKeys) width, height, offset :: Int width = 300 height = 300 offset = 10 window :: Display window = InWindow "Nice Window" (width, height) (offset, offset) background :: Color background = black main1 :: IO () main1 = animate window background frame where frame :: Float -> Picture frame seconds = render $ moveBall seconds initialState -- | Number of frames to show per second. fps :: Int fps = 120 main :: IO () main = play window background fps initialState render handleKeys update -- | Update the game by moving the ball and bouncing off walls. update :: Float -> PongGame -> PongGame update seconds = (wallBounce2 width) . moveBall seconds