module Main where
import Battlesnake.API.GameRequest
import qualified Battlesnake.API.InfoResponse as Info
import Battlesnake.API.MoveResponse
import Battlesnake.Core.Direction
import Battlesnake.Server
main :: IO ()
main =
runBattlesnakeServer
snakeInfo
startHandler
moveHandler
endHandler
snakeInfo :: IO Info.InfoResponse
snakeInfo =
return
Info.InfoResponse
{ Info.apiversion = Info.APIVersion1
, -- Optional Customization:
Info.author = Nothing -- TODO: Your Battlsnake username here
, Info.color = Nothing -- TODO: pesonalize
, Info.head = Nothing -- TODO: pesonalize
, Info.tail = Nothing -- TODO: pesonalize
, Info.version = Nothing -- TODO: Version number or tag for your battlesnake
}
-- TODO:
-- implement start handler if you need to allocate ressources or data at the
-- beginning of a game
startHandler :: GameRequest -> IO ()
startHandler = const $ return ()
-- TODO:
-- implement your game logic here.
moveHandler :: GameRequest -> IO MoveResponse
moveHandler g = do
print g
return $ MoveResponse UP (Just "always going up!")
-- TODO:
-- implement end handler if you want to clean up after a game has ended
endHandler :: GameRequest -> IO ()
endHandler = const $ return ()