handle ueberreizung
This commit is contained in:
+5
-4
@@ -48,9 +48,9 @@ continue (UnfinishedGame skatEnv prepEnv tricks) comm1 comm2 comm3 = do
|
||||
|
||||
match :: PrepEnv -> IO (Either Unfinished (Maybe Match))
|
||||
match prepEnv = do
|
||||
maySkatEnv <- runReaderT runPreperation prepEnv
|
||||
(maySkatEnv, prepEnv') <- runStateT runPreperation prepEnv
|
||||
case maySkatEnv of
|
||||
Just skatEnv -> runGame prepEnv skatEnv
|
||||
Just skatEnv -> runGame prepEnv' skatEnv
|
||||
Nothing -> putStrLn "no one wanted to play" >> return (Right Nothing)
|
||||
|
||||
runGame :: PrepEnv -> SkatEnv -> IO (Either Unfinished (Maybe Match))
|
||||
@@ -69,6 +69,7 @@ runGame prepEnv skatEnv = do
|
||||
if isFinished then do
|
||||
let res = getResults
|
||||
(skatGame skatEnv)
|
||||
(Skat.Preperation.current prepEnv)
|
||||
(skatSinglePlayer skatEnv)
|
||||
(Skat.Preperation.piles prepEnv)
|
||||
(Skat.piles finalEnv)
|
||||
@@ -111,7 +112,7 @@ singleWithBidding comm = do
|
||||
(BD $ PrepOnline Hand1 comm h1)
|
||||
(BD $ NoBidder Hand2)
|
||||
(BD $ NoBidder Hand3)
|
||||
env = PrepEnv ps bs
|
||||
env = makePrep ps bs
|
||||
void $ match env
|
||||
|
||||
pvp :: Communicator c => c -> c -> c -> IO (Either Unfinished (Maybe Match))
|
||||
@@ -125,5 +126,5 @@ pvp comm1 comm2 comm3 = do
|
||||
(BD $ PrepOnline Hand1 comm1 $ h1)
|
||||
(BD $ PrepOnline Hand2 comm2 $ h2)
|
||||
(BD $ PrepOnline Hand3 comm3 $ h3)
|
||||
env = PrepEnv ps bs
|
||||
env = makePrep ps bs
|
||||
match env
|
||||
|
||||
Reference in New Issue
Block a user