Я пытаюсь создать программу, которая генерирует случайные числа; индексирует таблицу; сохраняет результаты в некоторых списках; затем показывает результаты из списков на более позднем этапе. У меня есть переменная int с именем FreqMod, которую я пытаюсь присвоить случайному результату из массива с именем FrequencyModifiers []. Это вызывает ошибку времени выполнения «OutOfRange», как будто он получает нулевое значение. Но я не вижу как. Дайте мне посмотреть, смогу ли я опубликовать весь соответствующий код:
int TheHour = 0, TheMinute = 0, PlaceHolder = 0, FreqMod = 0;
int[] FrequencyModifier =
{
-3, -2, -1, 0, 0, 0, 1, 2, 3, 4, 6
};// int array FrequencyModifier
DiceResult = 0;
DiceResult = RollDice.TwoD6();
FreqMod = FrequencyModifier[DiceResult - 1];
Это будет модификатор, добавленный к результатам последующих бросков костей.
попробовал это после некоторого исследования и все еще не радует:
int[] FrequencyModifier =
{
-3, -2, -1, 0, 0, 0, 1, 2, 3, 4, 6
} ;// int array FrequencyModifier
FrequencyModifier = new int[11];
DiceResult = 0;
DiceResult = RollDice.TwoD6();
FreqMod = FrequencyModifier[DiceResult - 1];
из класса с именем dice, объектом которого является RollDice:
public int TwoD6()
{
diceresult = 0;
numdice = 2;
for(int i = 1; i <= numdice; i++)
{
dieresult = 0;
lowest = 1;
highest = 6;
diceresult = diceresult + (1 + Rolldie.Next(lowest-1, highest));
}
return diceresult;
DiceResult должен быть случайное число, возвращаемое методом RollDice.TwoD6.
Я пытаюсь использовать его для назначения соответствующего номера из массива FreqMod. Таким образом, если возвращаемое случайное число равно 3, оно будет присвоено -2.
До Рождества прошло почти 20 лет с тех пор, как я посмотрел на C и C ++; Я сейчас пытаюсь выучить C#.