From 6145eac8411ab298f7c6c6eb96406dd7fb2a6436 Mon Sep 17 00:00:00 2001 From: Ivy Date: Sat, 20 Feb 2021 15:10:02 +0100 Subject: [PATCH] Now the game describes when parsing JSON gives an error --- src/Dungeon.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Dungeon.hs b/src/Dungeon.hs index 7bf232b..149b501 100644 --- a/src/Dungeon.hs +++ b/src/Dungeon.hs @@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings #-} + module Dungeon where import Data.Aeson @@ -6,7 +7,6 @@ import Data.Matrix import Linear.V2 import Data.Tuple import Data.Maybe -import Data.Either data Cell = Solid | Empty @@ -38,7 +38,9 @@ instance FromJSON Dungeon where makeDungeonFromFile :: FilePath -> IO Dungeon makeDungeonFromFile f = do eithDun <- eitherDecodeFileStrict f - return $ fromRight (error "") eithDun + return $ case eithDun of + Left err -> error err + Right dun -> dun dungeonToLists :: Dungeon -> [[Cell]] dungeonToLists (Dungeon m) = toLists m