Я пишу программу, которая бросает _ количество _ односторонних кубиков _ раз, как указано пользователем. Это проект с установленными требованиями, такими как структура класса и тот факт, что мне нужно использовать массив , чтобы показать свои результаты. Предполагается, что результаты будут отображать каждую итоговую сумму, которую я мог получить, и количество раз, которое я получал по каждой итоговой сумме после броска в течение указанного количества раз.
Я написал свою попытку на это и полностью ожидал, что это сработает , но, конечно, это не так. Бросая 1000 раз и бросая 2 кубика с 6 сторонами, вот мои результаты:
4) 4
6) 4
8) 4
10) 4
12) 4
Я бы ожидал что-то вроде:
2) 85
3) 83
4) 84
5) 82
... until 12
Сумма не начинается с 2 это начинается с 4, он катится 20 раз вместо 1000, и все значения одинаковы. Есть идеи, что может быть не так?
Вот мой код:
private int[] myTotals;
private int possibleTotal = 2;
private int arrayLocation = 0;
private int myNumberOfDice;
private string results = "";
private static Random diceGenerator = new Random();
public DiceFactory()
{
}
public void rollDice(int numberOfRolls, int numberOfSides, int numberOfDice)
{
myNumberOfDice = numberOfDice;
myTotals = new int[numberOfRolls];
arrayLocation = possibleTotal - 2;
for (int i = 0; i < numberOfRolls; i++) {
myTotals[arrayLocation] = diceGenerator.Next(1, numberOfSides + 1);
myTotals[arrayLocation]++;
}
while (possibleTotal <= numberOfSides * myNumberOfDice)
{
results += (possibleTotal) + ") " + myTotals[arrayLocation] + "\r\n";
possibleTotal++;
}
}
public string getResults()
{
return results;
}
}