Przeglądaj źródła

fix announcing wrong single player

master
flavis 6 lat temu
rodzic
commit
cc9223245b
3 zmienionych plików z 14 dodań i 7 usunięć
  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 Wyświetl plik

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

+ 4
- 3
src/Skat/Operations.hs Wyświetl plik

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

+ 6
- 0
src/Skat/Player.hs Wyświetl plik

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

Ładowanie…
Anuluj
Zapisz