packages feed

starter-snake-haskell-1.0.0: src/Battlesnake/API/GameRequest.hs

{-# LANGUAGE DeriveGeneric #-}

module Battlesnake.API.GameRequest where

import Battlesnake.Core.Battlesnake (Battlesnake)
import Battlesnake.Core.Board (Board)
import Battlesnake.Core.Game (Game)
import Data.Aeson (FromJSON)
import GHC.Generics

{-|
  The request sent to your battlesnake server on each turn.
  This contains all the information you need to determine your snakes next move.}
-}
data GameRequest = GameRequest
  { game :: Game, -- ^ Information about the current game. (See "Battlesnake.Core.Game")
    turn :: Integer, -- ^ The turn beeing played.
    board :: Board, -- ^ The game board. (See "Battlesnake.Core.Board")
    you :: Battlesnake -- ^ Your snake. (See "Battlesnake.Core.Battlesnake"")
  }
  deriving (Show, Generic)

instance FromJSON GameRequest