aboutsummaryrefslogtreecommitdiff
path: root/src/Game/Map.hs
diff options
context:
space:
mode:
authorJuan J. Martinez <jjm@usebox.net>2023-04-25 22:18:54 +0100
committerJuan J. Martinez <jjm@usebox.net>2023-04-25 22:18:54 +0100
commit1cd60a951b2c2f83b927a6b6961cbd3206bf5316 (patch)
tree59861ba4125ed15ff8711ccd55e4b5a24fd3235c /src/Game/Map.hs
parenta5ac165b1e9adbdf459ebc9df42edc024389e9b8 (diff)
downloadspace-plat-hs-1cd60a951b2c2f83b927a6b6961cbd3206bf5316.tar.gz
space-plat-hs-1cd60a951b2c2f83b927a6b6961cbd3206bf5316.zip
Added "tracker" enemy
Diffstat (limited to 'src/Game/Map.hs')
-rw-r--r--src/Game/Map.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Game/Map.hs b/src/Game/Map.hs
index 6c01061..2a85dbe 100644
--- a/src/Game/Map.hs
+++ b/src/Game/Map.hs
@@ -45,6 +45,7 @@ data Object
| RobotEntity Int Int Dir
| ShooterEntity Int Int Dir
| RunnerEntity Int Int Dir
+ | TrackerEntity Int Int Dir
deriving (Show, Eq, Ord)
data JsonMapData = JsonMapData
@@ -92,6 +93,8 @@ instance JSON Object where
ShooterEntity <$> valFromObj "x" obj <*> valFromObj "y" obj <*> pure DirRight
Just "Runner" ->
RunnerEntity <$> valFromObj "x" obj <*> valFromObj "y" obj <*> pure DirRight
+ Just "Tracker" ->
+ TrackerEntity <$> valFromObj "x" obj <*> valFromObj "y" obj <*> pure DirRight
Just "Slime-l" ->
SlimeEntity <$> valFromObj "x" obj <*> valFromObj "y" obj <*> pure DirLeft
Just "Robot-l" ->
@@ -100,6 +103,8 @@ instance JSON Object where
ShooterEntity <$> valFromObj "x" obj <*> valFromObj "y" obj <*> pure DirLeft
Just "Runner-l" ->
RunnerEntity <$> valFromObj "x" obj <*> valFromObj "y" obj <*> pure DirLeft
+ Just "Tracker-l" ->
+ TrackerEntity <$> valFromObj "x" obj <*> valFromObj "y" obj <*> pure DirLeft
Just (JSString (JSONString s)) -> Error $ "unsupported entity " ++ show s
e -> Error $ "unsupported entity in " ++ show e
readJSON _ = mzero