add testing card distribution utils
This commit is contained in:
+4
-1
@@ -6,7 +6,7 @@ module Skat.Card where
|
||||
|
||||
import Data.List
|
||||
import Data.Aeson
|
||||
import System.Random (newStdGen)
|
||||
import System.Random (newStdGen, StdGen)
|
||||
import Control.DeepSeq
|
||||
|
||||
import Skat.Utils
|
||||
@@ -123,6 +123,9 @@ shuffleCards = do
|
||||
gen <- newStdGen
|
||||
return $ shuffle gen allCards
|
||||
|
||||
shuffleCardsWithGen :: StdGen -> [Card]
|
||||
shuffleCardsWithGen gen = shuffle gen allCards
|
||||
|
||||
-- TESTING VARS
|
||||
|
||||
c1 :: Card
|
||||
|
||||
+21
-2
@@ -3,6 +3,7 @@ module Skat.Matches (
|
||||
) where
|
||||
|
||||
import Control.Monad.State
|
||||
import System.Random (mkStdGen)
|
||||
|
||||
import Skat
|
||||
import Skat.Operations
|
||||
@@ -14,12 +15,30 @@ import Skat.AI.Rulebased
|
||||
import Skat.AI.Online
|
||||
import Skat.AI.Stupid
|
||||
|
||||
-- | predefined card distribution for testing purposes
|
||||
cardDistr :: Piles
|
||||
cardDistr = Piles hands [] (map (putAt SkatP) skt)
|
||||
where hand3 = [Card Ace Spades, Card Jack Diamonds, Card Jack Clubs, Card King Spades,
|
||||
Card Nine Spades, Card Ace Diamonds, Card Queen Diamonds, Card Ten Clubs,
|
||||
Card Eight Clubs, Card King Clubs]
|
||||
hand1 = [Card Jack Spades, Card Jack Hearts, Card Ten Spades, Card Ace Hearts, Card Ten Hearts,
|
||||
Card Nine Hearts, Card Seven Clubs, Card Ace Clubs, Card King Diamonds,
|
||||
Card Ten Diamonds]
|
||||
hand2 = [Card Eight Spades, Card Queen Spades, Card Seven Spades, Card Seven Diamonds,
|
||||
Card Seven Hearts, Card Eight Hearts, Card Queen Hearts, Card King Hearts,
|
||||
Card Nine Diamonds, Card Eight Diamonds]
|
||||
hands = map (putAt Hand1) hand1
|
||||
++ map (putAt Hand2) hand2
|
||||
++ map (putAt Hand3) hand3
|
||||
skt = [Card Nine Clubs, Card Queen Clubs]
|
||||
|
||||
singleVsBots :: (Team -> Hand -> OnlineEnv) -> IO ()
|
||||
singleVsBots mkPlayer = do
|
||||
cards <- liftIO $ shuffleCards
|
||||
--let gen = mkStdGen 123
|
||||
-- cards = shuffleCardsWithGen gen
|
||||
let ps = Players
|
||||
(PL $ mkPlayer Team Hand1)
|
||||
(PL $ Stupid Team Hand2)
|
||||
(PL $ mkAIEnv Single Hand3 10)
|
||||
env = SkatEnv (distribute cards) Nothing Spades ps
|
||||
env = SkatEnv cardDistr Nothing Spades ps
|
||||
liftIO $ evalStateT (publishGameStart Hand3 >> turn Hand1 >>= publishGameResults) env
|
||||
|
||||
Reference in New Issue
Block a user