public static void Main(string[] args)
var resultMatrix2 = new int[] { 0, 0, 0, 0, 0, 0, 0 };
var resultMatrix3 = new int[] { 0, 0, 0, 0, 0, 0, 0 };
var resultMatrix4 = new int[] { 0, 0, 0, 0, 0, 0, 0 };
var resultMatrix5 = new int[] { 0, 0, 0, 0, 0, 0, 0 };
var resultMatrix6 = new int[] { 0, 0, 0, 0, 0, 0, 0 };
var resultMatrix7 = new int[] { 0, 0, 0, 0, 0, 0, 0 };
for (int die1 = 1; die1 < 7; die1++)
for (int die2 = 1; die2 < 7; die2++)
for (int die3 = 1; die3 < 7; die3++)
for (int die4 = 1; die4 < 7; die4++)
resultMatrix2[GetOutput(2, die1, die2, die3, die4)]++;
resultMatrix3[GetOutput(3, die1, die2, die3, die4)]++;
resultMatrix4[GetOutput(4, die1, die2, die3, die4)]++;
resultMatrix5[GetOutput(5, die1, die2, die3, die4)]++;
resultMatrix6[GetOutput(6, die1, die2, die3, die4)]++;
resultMatrix7[GetOutput(7, die1, die2, die3, die4)]++;
Console.Write("Target\t\t\t");
Console.Write("0 hits\t");
Console.Write("1 hits\t");
Console.Write("2 hits\t");
Console.Write("3 hits\t");
Console.Write("4 hits\t");
Console.Write("5 hits\t");
Console.Write("6 hits\t");
Console.Write("Hit Sum\t");
Console.Write("Rolls\t");
PrintMatrix(resultMatrix2, 2);
PrintMatrix(resultMatrix3, 3);
PrintMatrix(resultMatrix4, 4);
PrintMatrix(resultMatrix5, 5);
PrintMatrix(resultMatrix6, 6);
PrintMatrix(resultMatrix7, 7);
private static void PrintMatrix(int[] resultMatrix2, int header)
Console.Write(string.Format("Number targeted: {0}\t", header));
foreach (var item in resultMatrix2)
Console.Write(resultMatrix2.Skip(1).Sum(x => x));
Console.Write(resultMatrix2.Sum(x => x));
private static int GetOutput(int targetNumber, int die1, int die2, int die3, int die4)
if (die1 + die2 == targetNumber
if (die1 + die3 == targetNumber
if (die1 + die4 == targetNumber
if (die2 + die3 == targetNumber
if (die2 + die4 == targetNumber
if (die3 + die4 == targetNumber