3 ms·
Why not. If all players/dice have an equal chance of rolling highest, then...?
by verve_rat 5y ago
Why not. If all players/dice have an equal chance of rolling highest, then...?
- dllthomas 5y agoIf that, then yes, of course. But does that hold? For the Grimes dice, unless I've made an error, it would seem not. I get `(Sum {getSum = 1416},Sum {getSum = 2160},Sum {getSum = 2160},Sum {getSum = 1440},Sum {getSum = 600})` from the following program: {-# LANGUAGE LambdaCase #-} import Data.Monoid oneIf x = Sum $ if x then 1 else 0 toRed = \case 1 -> 4 2 -> 4 3 -> 4 4 -> 4 5 -> 4 6 -> 9 toYellow = \case 1 -> 3 2 -> 3 3 -> 3 4 -> 3 5 -> 8 6 -> 8 toBlue = \case 1 -> 2 2 -> 2 3 -> 2 4 -> 7 5 -> 7 6 -> 7 toMagenta = \case 1 -> 1 2 -> 1 3 -> 6 4 -> 6 5 -> 6 6 -> 6 toOlive = \case 1 -> 0 2 -> 5 3 -> 5 4 -> 5 5 -> 5 6 -> 5 main = print $ mconcat $ do red <- toRed <$> [1..6] yellow <- toYellow <$> [1..6] blue <- toBlue <$> [1..6] magenta <- toMagenta <$> [1..6] olive <- toOlive <$> [1..6] let first = maximum [red, yellow, blue, magenta, olive] [ ( oneIf $ first == red , oneIf $ first == yellow , oneIf $ first == blue , oneIf $ first == magenta , oneIf $ first == olive ) ]