-3
私はHaskellプログラムで任意のインスタンスを作成する必要があります。私は(デッキタイプの)デッキを作成しています。デッキはカードのリストです。デッキプログラムは、新しいデッキをランダム化するために、mkStdGenと数字を使用してシードを促します。任意のインスタンスHaskell
このデッキでは、QuickTestプロパティテストに合格するために、任意のインスタンスが必要です。
ここではいくつかのコード
data Carta = C (Valor,Naipe) deriving (Eq,Ord)
instance Show Carta where
show (C (v,n)) =show v ++ show n
data Baralho = B [Carta]
instance Show Baralho where
show (B []) = ""
show (B [c]) = show c
show (B (c:cs)) = show C++ "," ++ show (B cs)
type Mao = [Carta]
baralho40 :: Baralho
baralho40 = B [C (x,y)|y<-[Paus .. Espadas],x<-[As .. Rei]]
baralhar :: StdGen -> Baralho -> Baralho
baralhar g (B baralho) = B $ map snd $ sort $ zip (randomRs (1,(length baralho)^3) g) baralho
カードの素敵なデッキ...あなたの質問は何ですか? –
@WillemVanOnsem私はTest.QuickCheckを使用できるようにするために任意のインスタンスにする必要がありますが、私はそれを行う方法がわかりません –