module Skat.AI.Stupid where import Skat.Player import Skat.Pile import Skat.Card import Skat.Preperation import Skat.Bidding data Stupid = Stupid { getTeam :: Team , getHand :: Hand } deriving Show instance Player Stupid where team = getTeam hand = getHand chooseCard p _ _ hand = do trumpCol <- trump turnCol <- turnColour let possible = filter (isAllowed trumpCol turnCol hand) hand return (toCard $ head possible, p) newtype NoBidder = NoBidder Hand deriving Show -- | no bidding from that player instance Bidder NoBidder where hand (NoBidder h) = h askBid _ _ bid = return $ Just 20 askResponse _ _ bid = if bid < 24 then return True else return False askGame _ _ = return $ Grand Hand askHand _ _ = return True askSkat _ _ _ = undefined -- never called toPlayer (NoBidder h) team = PL $ Stupid team h onStart _ = return ()