2016-06-12 2 views
-2

Я не такой одаренный, как некоторые, и после просмотра примеров здесь я не могу понять, почему я получаю одинаковый номер для каждого набора рулонов , Я думал, что использовал только 1 экземпляр, как сказал на форумах. Может кто-то, пожалуйста, поправьте меня?Случайный номер тот же, что и думал Im Im Im, используя 1 экземпляр по мере необходимости

static void Main(string[] args) 
{ 
    Console.WriteLine("Hi choose a type of dice to throw"); 
    int dice = Convert.ToInt16(Console.ReadLine()); 

    Console.WriteLine("Now how many of that dice to throw"); 
    int numberOfDice = Convert.ToInt16(Console.ReadLine()); 

    Console.WriteLine("Now how many times to reroll"); 
    int rerolls = Convert.ToInt16(Console.ReadLine()); 


    for (int i = 1; i <= rerolls; i++) 
    { 
     int result = diceThrower(numberOfDice, dice); 

     Console.WriteLine("\nRoll #{0} is {1}",i, result); 

    } 
    Console.ReadLine(); 

} 

private static int diceThrower(int numberOfDice, int sideOfDice) 
{ 
    Random rnd = new Random(); 
    int diceResult = 0; 
    int diceRoll; 

    for (int i = 1; i < numberOfDice; i++) 
    { 
     diceRoll = rnd.Next(1, sideOfDice + 1); 
     diceResult = diceResult + diceRoll; 
    } 

    return diceResult; 

} 
+2

Нет, вы не используете только один экземпляр, вы создаете много и так быстро, что они все еще получают в то же время, что и семена. Используйте один случайный экземпляр как переменную класса lvel! – TaW

ответ

1

Создание объекта RND в главном методе и передать в качестве аргумента функции diceThrower

Смежные вопросы