implement grand and null mechanics, fix some online player issues
This commit is contained in:
+8
-7
@@ -12,6 +12,7 @@ import Skat.Card
|
||||
import Skat.Operations
|
||||
import Skat.Player
|
||||
import Skat.Pile
|
||||
import Skat.Bidding
|
||||
|
||||
import Skat.AI.Stupid
|
||||
import Skat.AI.Online
|
||||
@@ -37,7 +38,7 @@ runAI = do
|
||||
env <- shuffledEnv
|
||||
let ps = piles env
|
||||
cs = handCards Hand3 ps
|
||||
trs = filter (isTrump Spades) cs
|
||||
trs = filter (isTrump $ TrumpColour Spades) cs
|
||||
if length trs >= 5 && any ((==32) . getID) cs
|
||||
then do
|
||||
pts <- fst <$> evalStateT turn env
|
||||
@@ -46,11 +47,11 @@ runAI = do
|
||||
else runAI
|
||||
|
||||
env :: SkatEnv
|
||||
env = SkatEnv piles Nothing Spades playersExamp Hand1
|
||||
env = SkatEnv piles Nothing (Colour Spades Einfach) playersExamp Hand1
|
||||
where piles = distribute allCards
|
||||
|
||||
envStupid :: SkatEnv
|
||||
envStupid = SkatEnv piles Nothing Spades pls2 Hand1
|
||||
envStupid = SkatEnv piles Nothing (Colour Spades Einfach) pls2 Hand1
|
||||
where piles = distribute allCards
|
||||
|
||||
playersExamp :: Players
|
||||
@@ -68,22 +69,22 @@ pls2 = Players
|
||||
shuffledEnv :: IO SkatEnv
|
||||
shuffledEnv = do
|
||||
cards <- shuffleCards
|
||||
return $ SkatEnv (distribute cards) Nothing Spades playersExamp Hand1
|
||||
return $ SkatEnv (distribute cards) Nothing (Colour Spades Einfach) playersExamp Hand1
|
||||
|
||||
shuffledEnv2 :: IO SkatEnv
|
||||
shuffledEnv2 = do
|
||||
cards <- shuffleCards
|
||||
return $ SkatEnv (distribute cards) Nothing Spades pls2 Hand1
|
||||
return $ SkatEnv (distribute cards) Nothing (Colour Spades Einfach) pls2 Hand1
|
||||
|
||||
env2 :: SkatEnv
|
||||
env2 = SkatEnv piles Nothing Hearts playersExamp Hand2
|
||||
env2 = SkatEnv piles Nothing (Colour Hearts Einfach) playersExamp Hand2
|
||||
where hand1 = [Card Eight Hearts, Card Queen Hearts, Card Ace Clubs, Card Queen Diamonds]
|
||||
hand2 = [Card Seven Hearts, Card King Hearts, Card Ten Hearts, Card Queen Spades]
|
||||
hand3 = [Card Seven Spades, Card King Spades, Card Ace Spades, Card Queen Clubs]
|
||||
piles = emptyPiles hand1 hand2 hand3 []
|
||||
|
||||
env3 :: SkatEnv
|
||||
env3 = SkatEnv piles Nothing Diamonds pls2 Hand3
|
||||
env3 = SkatEnv piles Nothing (Colour Diamonds Einfach) pls2 Hand3
|
||||
where hand1 = [ Card Jack Diamonds, Card Jack Clubs, Card Nine Spades, Card King Spades
|
||||
, Card Seven Diamonds, Card Nine Diamonds, Card Seven Clubs, Card Eight Clubs
|
||||
, Card Ten Clubs, Card Eight Hearts ]
|
||||
|
||||
+3
-2
@@ -5,6 +5,7 @@ import Skat.Card
|
||||
import Skat.Pile
|
||||
import Skat.Player
|
||||
import Skat.AI.Stupid
|
||||
import Skat.Bidding
|
||||
|
||||
pls2 :: Players
|
||||
pls2 = Players
|
||||
@@ -13,7 +14,7 @@ pls2 = Players
|
||||
(PL $ Stupid Single Hand3)
|
||||
|
||||
env3 :: SkatEnv
|
||||
env3 = SkatEnv piles Nothing Diamonds pls2 Hand3
|
||||
env3 = SkatEnv piles Nothing (Colour Diamonds Einfach) pls2 Hand3
|
||||
where hand1 = [ Card Jack Diamonds, Card Jack Clubs, Card Nine Spades, Card King Spades
|
||||
, Card Seven Diamonds, Card Nine Diamonds, Card Seven Clubs, Card Eight Clubs
|
||||
, Card Ten Clubs, Card Eight Hearts ]
|
||||
@@ -28,4 +29,4 @@ env3 = SkatEnv piles Nothing Diamonds pls2 Hand3
|
||||
shuffledEnv2 :: IO SkatEnv
|
||||
shuffledEnv2 = do
|
||||
cards <- shuffleCards
|
||||
return $ SkatEnv (distribute cards) Nothing Spades pls2 Hand1
|
||||
return $ SkatEnv (distribute cards) Nothing (Colour Spades Einfach) pls2 Hand1
|
||||
|
||||
Reference in New Issue
Block a user