92 lines
2.4 KiB
Haskell
92 lines
2.4 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
|
||
|
[ [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
|
||
|
, [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
|
||
|
, [ ' ', ' ', '#', ' ', ' ', '#', ' ', ' ']
|
||
|
, [ ' ', ' ', ' ', '#', '#', ' ', ' ', ' ']
|
||
|
, [ ' ', ' ', ' ', '#', '#', ' ', ' ', ' ']
|
||
|
, [ ' ', ' ', '#', ' ', ' ', '#', ' ', ' ']
|
||
|
, [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
|
||
|
, [ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
|
||
|
]
|
||
|
]
|
||
|
|
||
|
|
||
|
convertCatalogue
|
||
|
:: [ M.Matrix Char ]
|
||
|
-> [ Map ]
|
||
|
convertCatalogue =
|
||
|
map
|
||
|
(fmap
|
||
|
(\case
|
||
|
'#' -> Wall
|
||
|
' ' -> Air
|
||
|
x -> error ("unexpected element: " ++ [x])
|
||
|
)
|
||
|
)
|