module SetValue (setBoardCells , setMState , resetMState , setDState , setSwitchGameMode , setButtonDiplay) where import Graphics.Rendering.OpenGL import Graphics.UI.GLUT import Data.IORef import States import qualified Data.Map as Map import System.Random setBoardCells :: Map.Map (Vector2 GLint) GStone setBoardCells = Map.fromList [((Vector2 3 3) , SWhite) , ((Vector2 3 4) , SBlack) , ((Vector2 4 3) , SBlack) , ((Vector2 4 4) , SWhite)] setEvents :: Map.Map EventKey Eventx setEvents = Map.fromList [(EReset , (Eventx 0 False AppOnce)) ] setMState :: StdGen -> MState setMState rndg = (MState SBlack Turn1P SelectCell setBoardCells (DGameBoard (-0.8) (-0.8) 1.0 1.0 (Cell 0.01 0.01)) 8 8 setEvents setSwitchGameMode GameTitle rndg) setDState :: DState setDState = DState 500 500 setEButtons setCounters setEButtons :: (Map.Map ButtonName EButton) setEButtons = Map.fromList [(ButtonStart1P , (EButton (containerMD (-0.5) 0.0 0.5 0.2 ) False KeyButtonStart1P)) , (ButtonStart2P , (EButton (containerMD (-0.5) (-0.4) 0.5 0.2 ) False KeyButtonStart2P))] setCounters :: (Map.Map CounterKey Counter) setCounters = Map.fromList [(CBlack , (Counter (containerMD 0.5 0.5 0.2 0.2) 2 KeyTexNum 2)) , (CWhite , (Counter (containerMD 0.75 0.5 0.2 0.2) 2 KeyTexNum 2))] resetMState :: MState -> MState resetMState mst = let divX = divBoardNumX mst divY = divBoardNumY mst gMode = gameMode mst rndg = randGen mst in (MState SBlack Turn1P SelectCell setBoardCells (DGameBoard (-0.8) (-0.8) 1.0 1.0 (Cell 0.01 0.01)) divX divY setEvents setSwitchGameMode gMode rndg) setSwitchGameMode :: SwitchGameMode setSwitchGameMode = Map.fromList [((GameTitle , (ButtonEvent ButtonStart2P)) , GamePlay2P) , ((GameTitle , (ButtonEvent ButtonStart1P)) , GamePlay1P)] setButtonDiplay :: ButtonDisplay setButtonDiplay = Map.fromList [(GameTitle , [ButtonStart1P , ButtonStart2P]) ]