From a3f96d481addd0865164cbb349d62e61971a0007 Mon Sep 17 00:00:00 2001 From: Jeanne-Kamikaze Date: Fri, 22 Feb 2013 17:42:15 +0100 Subject: Added subGame functions --- Spear/Game.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Spear/Game.hs b/Spear/Game.hs index 6bb1fa6..cf33ccb 100644 --- a/Spear/Game.hs +++ b/Spear/Game.hs @@ -15,6 +15,8 @@ module Spear.Game -- * Running and IO , runGame , runGame' +, runSubGame +, runSubGame' , evalSubGame , execSubGame , gameIO @@ -75,6 +77,14 @@ runGame game state = runErrorT . R.runResourceT . runStateT game $ state runGame' :: Game s a -> s -> IO () runGame' game state = runGame game state >> return () +-- | Run the given game. +runSubGame :: Game s a -> s -> Game t (a,s) +runSubGame game state = lift $ runStateT game state + +-- | Run the given game. +runSubGame' :: Game s a -> s -> Game t () +runSubGame' game state = runSubGame game state >> return () + -- | Run the given game and return its result. evalSubGame :: Game s a -> s -> Game t a evalSubGame g s = lift $ evalStateT g s -- cgit v1.2.3