123456789101112131415161718 |
- module Rolling.FITD (roll) where
- import Rolling.Common
- judge :: Int -> Result
- judge n
- | n <= 3 = Failure
- | n <= 5 = Partial
- | otherwise = Success
- roll :: Int -> Prob Result
- roll 0 = normalize $ do
- a <- die 6
- b <- die 6
- return (judge (a `min` b))
- roll n = normalize $ do
- dice <- sequence [die 6 | _ <- [1 .. n]]
- return (judge (maximum dice))
|