152 lines
4.5 KiB
Haskell
152 lines
4.5 KiB
Haskell
{-# 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])
|
|
)
|
|
)
|