add pvp mode, add chan communicator instance, fix json instances
This commit is contained in:
+13
-4
@@ -1,5 +1,5 @@
|
||||
module Skat.Matches (
|
||||
singleVsBots
|
||||
singleVsBots, pvp
|
||||
) where
|
||||
|
||||
import Control.Monad.State
|
||||
@@ -31,11 +31,20 @@ cardDistr = emptyPiles hand1 hand2 hand3 skt
|
||||
|
||||
singleVsBots :: Communicator c => c -> IO ()
|
||||
singleVsBots comm = do
|
||||
--let gen = mkStdGen 123
|
||||
-- cards = shuffleCardsWithGen gen
|
||||
cards <- shuffleCards
|
||||
let ps = Players
|
||||
(PL $ OnlineEnv Team Hand1 comm)
|
||||
(PL $ Stupid Team Hand2)
|
||||
(PL $ mkAIEnv Single Hand3 10)
|
||||
env = SkatEnv cardDistr Nothing Spades ps Hand1
|
||||
env = SkatEnv (distribute cards) Nothing Spades ps Hand1
|
||||
liftIO $ evalStateT (publishGameStart Hand3 >> turn >>= publishGameResults) env
|
||||
|
||||
pvp :: Communicator c => c -> c -> c -> IO ()
|
||||
pvp comm1 comm2 comm3 = do
|
||||
cards <- shuffleCards
|
||||
let ps = Players
|
||||
(PL $ OnlineEnv Team Hand1 comm1)
|
||||
(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
|
||||
|
||||
Reference in New Issue
Block a user