MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

D&D Dice NoteBook

  • To: mathgroup at smc.vnet.net
  • Subject: [mg38011] D&D Dice NoteBook
  • From: "AngleWyrm" <no_spam_anglewyrm at hotmail.com>
  • Date: Mon, 25 Nov 2002 01:58:16 -0500 (EST)
  • Reply-to: "AngleWyrm" <no_spam_anglewyrm at hotmail.com>
  • Sender: owner-wri-mathgroup at wolfram.com

Hey,
For anyone interested, I've done some handy work on Dungeons & Dragons dice
math.
This notebook creates a table, lookup function, and accompanying graph for
any dice combination!
Good for the over-zelous DM :)

Just copy all the text below, and paste/interpret into mathematica
-:|:-
AngleWyrm

Notebook[{
Cell[BoxData[{
    StyleBox["Dice",
      "Title"], "\[IndentingNewLine]",
    StyleBox[\(\(Dungeons\  &\)\ Dragons\ Dice\ Math\),
      "Subtitle"]}], "Input",
  CellFrame->{{0, 0}, {2, 0}}],

Cell[BoxData[{
    \(The\ formula\ for\ any\ homgenous\ dice\ combination\ \(is : \
\((\[Sum]\+\(i = 1\)\%sidesPerDie x\^i)\)\^numDice\)\), "\n",
    \(The\ polynomial\ expansion\ of\ this\ expression\ lists\ the\ number\
\
of\ occurances\ of\ every\ possible\ combination . For\ instance,
    with\ 3 \( \(d6\)\(:\)\)\)}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(TraditionalForm\`Expand[\((\[Sum]\+\(i = 1\)\%6 x\^i)\)\^3]\)],
"Input",

  FontSize->16],

Cell[BoxData[
    \(x\^3 + 3\ x\^4 + 6\ x\^5 + 10\ x\^6 + 15\ x\^7 + 21\ x\^8 + 25\ x\^9 +
      27\ x\^10 + 27\ x\^11 + 25\ x\^12 + 21\ x\^13 + 15\ x\^14 + 10\ x\^15
+
      6\ x\^16 + 3\ x\^17 + x\^18\)], "Output"]
}, Open  ]],

Cell["\<\
The power of x represents the die totals, and the coefficient lists the \
number of ways to achieve that total. Let us make a useful function to \
extract the coefficient of any dice roll, given the number of dice, and the
\
sides per die:\
\>", "Text"],

Cell[BoxData[
    \(Chances[\ numDice_, \ sidesPerDie_, \ roll_] :=
      Coefficient[\((\[Sum]\+\(i = 1\)\%sidesPerDie x\^i)\)\^numDice,
        x\^roll]\)], "Input"],

Cell[BoxData[
    \(For\ instance, with\ 3  d6, \
    how\ many\ ways\ \((out\ of\ 6\^3 = 216)\)
      are\ there\ to\ get\ a\ \(\(13\)\(?\)\)\)], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Chances[3, 6, 13]\)], "Input"],

Cell[BoxData[
    \(21\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Which can be confirmed by looking at the coefficient for ",
  Cell[BoxData[
      \(TraditionalForm\`x\^13\)]],
  "in the polynomial expansion of ",
  Cell[BoxData[
      \(TraditionalForm\`\((x + x\^2 + x\^3 + x\^4 + x\^5 + x\^6)\)\^3\)]],
  " above. Let us create a table, listing in order:\nRoll, Chances, \
PercentageChance, and Frequency:"
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[{
    \(die = 3; \ sides = 6;\), "\[IndentingNewLine]",
    \(Table[\ {i, Chances[die, sides, i], \
          N[Chances[die, sides, i]\/sides\^die],
          sides\^die\/Chances[die, sides, i]}, \ {i, die, \
          die\[Times]sides}] // TableForm\), "\[IndentingNewLine]",
    \(ListPlot[\
      Table[{i, \ Chances[die, sides, i]}, {i, die, \
          die\[Times]sides}]]\)}], "Input"],

Cell[BoxData[
    TagBox[GridBox[{
          {"3", "1", "0.004629629629629629`", "216"},
          {"4", "3", "0.013888888888888888`", "72"},
          {"5", "6", "0.027777777777777776`", "36"},
          {"6", "10", "0.046296296296296294`", \(108\/5\)},
          {"7", "15", "0.06944444444444445`", \(72\/5\)},
          {"8", "21", "0.09722222222222222`", \(72\/7\)},
          {"9", "25", "0.11574074074074074`", \(216\/25\)},
          {"10", "27", "0.125`", "8"},
          {"11", "27", "0.125`", "8"},
          {"12", "25", "0.11574074074074074`", \(216\/25\)},
          {"13", "21", "0.09722222222222222`", \(72\/7\)},
          {"14", "15", "0.06944444444444445`", \(72\/5\)},
          {"15", "10", "0.046296296296296294`", \(108\/5\)},
          {"16", "6", "0.027777777777777776`", "36"},
          {"17", "3", "0.013888888888888888`", "72"},
          {"18", "1", "0.004629629629629629`", "216"}
          },
        RowSpacings->1,
        ColumnSpacings->3,
        RowAlignments->Baseline,
        ColumnAlignments->{Left}],
      (TableForm[ #]&)]], "Output"]
}, Open  ]]
},
FrontEndVersion->"4.0 for Microsoft Windows",
ScreenRectangle->{{0, 1024}, {0, 695}},
WindowToolbars->"EditBar",
WindowSize->{972, 572},
WindowMargins->{{0, Automatic}, {Automatic, 14}}
]



  • Prev by Date: Re: Number of cyclic subgroups of order 15 in Z_90 (+) Z_36
  • Next by Date: Re: Automatic Closing of Animation Graphics Cells
  • Previous by thread: Re: Setting Options Back to Default Values? (and other graphics queries)
  • Next by thread: Limits to zooming graphics in 4.2 ?