Common.hs 397 B

12345678910111213141516171819
  1. module Rolling.Common (Diagram (..), Prob, Result (..), normalize, die) where
  2. import Rolling.Prob
  3. data Diagram = Diagram
  4. { title :: String,
  5. filename :: String,
  6. rolls :: [(Int, Prob Result)]
  7. }
  8. die :: Int -> Prob Int
  9. die n = Prob [(d, P 1 n) | d <- [1 .. n]]
  10. -- the success metric for vaguely PbtA-ish games
  11. data Result
  12. = Success
  13. | Partial
  14. | Failure
  15. deriving (Eq, Show, Ord)