import Graphics.Rendering.OpenGL import Graphics.UI.GLUT import Data.IORef import Display import Idle import States import Texture import KeyboardMouseC import SetValue --import MouseMoveC import qualified Data.Map as Map import System.Random main = do (progname,_) <- getArgsAndInitialize initialDisplayMode $= [DoubleBuffered] createWindow "Reversi" let texTemp = Map.empty gen <- getStdGen texObGp <- newIORef texTemp windowSize $= (Size (windowWidth setDState) (windowHeight setDState)) textureSet texObGp dState <- newIORef $ setDState kState <- newIORef $ KState Nothing Nothing Nothing Nothing mState <- newIORef $ setMState gen keyboardMouseCallback $= Just (keyboardMouse dState kState mState) idleCallback $= Just (idle mState kState dState) displayCallback $= (display mState dState texObGp) mainLoop