{-# LANGUAGE LambdaCase #-} module Server.Map.Snippets where import qualified Data.Matrix as M import Library.Types catalogue :: [Map] catalogue = convertCatalogue [ M.fromLists [ [ ' ', ' ' ] , [ ' ', ' ' ] ] , M.fromLists [ [ ' ', ' ', ' '] , [ ' ', ' ', ' '] , [ ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', ' ', ' '] , [ ' ', ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', '#', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', '#', ' ', ' '] , [ ' ', ' ', '#', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', '#', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', '#', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', '#', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', '#', '#', ' ', ' '] , [ ' ', ' ', '#', '#', '#', ' ', ' '] , [ ' ', ' ', '#', '#', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] ] , M.fromLists [ [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', '#', '#', ' ', ' ', ' '] , [ ' ', ' ', ' ', '#', '#', ' ', ' ', ' '] , [ ' ', ' ', '#', ' ', ' ', '#', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] , [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] ] ] convertCatalogue :: [ M.Matrix Char ] -> [ Map ] convertCatalogue = map (fmap (\case '#' -> Wall ' ' -> Air x -> error ("unexpected element: " ++ [x]) ) )