fix announcing wrong single player
This commit is contained in:
+4
-4
@@ -39,7 +39,7 @@ singleVsBots comm = do
|
||||
(PL $ Stupid Team Hand2)
|
||||
(PL $ mkAIEnv Single Hand3 10)
|
||||
env = SkatEnv (distribute cards) Nothing Spades ps Hand1
|
||||
liftIO $ evalStateT (publishGameStart Hand3 >> turn >>= publishGameResults) env
|
||||
liftIO $ evalStateT (publishGameStart >> turn >>= publishGameResults) env
|
||||
|
||||
singleWithBidding :: Communicator c => c -> IO ()
|
||||
singleWithBidding comm = do
|
||||
@@ -54,7 +54,7 @@ singleWithBidding comm = do
|
||||
maySkatEnv <- liftIO $ runReaderT runPreperation env
|
||||
case maySkatEnv of
|
||||
Just skatEnv ->
|
||||
liftIO $ evalStateT (publishGameStart Hand3 >> turn >>= publishGameResults) skatEnv
|
||||
liftIO $ evalStateT (publishGameStart >> turn >>= publishGameResults) skatEnv
|
||||
Nothing -> putStrLn "No one wanted to play."
|
||||
|
||||
pvp :: Communicator c => c -> c -> c -> IO ()
|
||||
@@ -65,7 +65,7 @@ pvp comm1 comm2 comm3 = do
|
||||
(PL $ OnlineEnv Team Hand2 comm2)
|
||||
(PL $ OnlineEnv Team Hand3 comm3)
|
||||
env = SkatEnv (distribute cards) Nothing Spades ps Hand1
|
||||
liftIO $ evalStateT (publishGameStart Hand3 >> turn >>= publishGameResults) env
|
||||
liftIO $ evalStateT (publishGameStart >> turn >>= publishGameResults) env
|
||||
|
||||
pvpWithBidding :: Communicator c => c -> c -> c -> IO ()
|
||||
pvpWithBidding comm1 comm2 comm3 = do
|
||||
@@ -82,5 +82,5 @@ pvpWithBidding comm1 comm2 comm3 = do
|
||||
maySkatEnv <- liftIO $ runReaderT runPreperation env
|
||||
case maySkatEnv of
|
||||
Just skatEnv ->
|
||||
liftIO $ evalStateT (publishGameStart Hand3 >> turn >>= publishGameResults) skatEnv
|
||||
liftIO $ evalStateT (publishGameStart >> turn >>= publishGameResults) skatEnv
|
||||
Nothing -> putStrLn "No one wanted to play."
|
||||
|
||||
@@ -13,7 +13,7 @@ import Skat
|
||||
import Skat.Card
|
||||
import Skat.Pile
|
||||
import Skat.Player (chooseCard, Players(..), Player(..), PL(..),
|
||||
updatePlayer, playersToList, player, MonadPlayer)
|
||||
updatePlayer, playersToList, player, MonadPlayer, getSinglePlayer)
|
||||
import Skat.Utils (shuffle)
|
||||
|
||||
compareRender :: Card -> Card -> Ordering
|
||||
@@ -113,7 +113,8 @@ publishGameResults res = do
|
||||
pls <- gets players
|
||||
mapM_ (\p -> onGameResults p res) (playersToList pls)
|
||||
|
||||
publishGameStart :: Hand -> Skat ()
|
||||
publishGameStart sglPlayer = do
|
||||
publishGameStart :: Skat ()
|
||||
publishGameStart = do
|
||||
pls <- gets players
|
||||
let sglPlayer = getSinglePlayer pls
|
||||
mapM_ (\p -> onGameStart p sglPlayer) (playersToList pls)
|
||||
|
||||
@@ -83,3 +83,9 @@ updatePlayer p (Players p1 p2 p3) = case hand p of
|
||||
|
||||
playersToList :: Players -> [PL]
|
||||
playersToList (Players p1 p2 p3) = [p1, p2, p3]
|
||||
|
||||
getSinglePlayer :: Players -> Hand
|
||||
getSinglePlayer (Players p1 p2 p3) = case (team p1, team p2, team p3) of
|
||||
(Single, _, _) -> Hand1
|
||||
(_, Single, _) -> Hand2
|
||||
_ -> Hand3
|
||||
|
||||
Reference in New Issue
Block a user