Преглед изворни кода

fix announcing wrong single player

master
flavis пре 6 година
родитељ
комит
cc9223245b
3 измењених фајлова са 14 додато и 7 уклоњено
  1. +4
    -4
      src/Skat/Matches.hs
  2. +4
    -3
      src/Skat/Operations.hs
  3. +6
    -0
      src/Skat/Player.hs

+ 4
- 4
src/Skat/Matches.hs Прегледај датотеку

@@ -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."

+ 4
- 3
src/Skat/Operations.hs Прегледај датотеку

@@ -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 sglPlayer = do
publishGameStart :: Skat ()
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)

+ 6
- 0
src/Skat/Player.hs Прегледај датотеку

@@ -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

Loading…
Откажи
Сачувај