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