Я знаю, что случайный класс C# не делает «истинные случайные» числа, но я приду в проблему с этим кодом: < /p>
public void autoAttack(enemy theEnemy)
{
//Gets the random number
float damage = randomNumber((int)(strength * 1.5), (int)(strength * 2.5));
//Reduces the damage by the enemy's armor
damage *= (100 / (100 + theEnemy.armor));
//Tells the user how much damage they did
Console.WriteLine("You attack the enemy for {0} damage", (int)damage);
//Deals the actual damage
theEnemy.health -= (int)damage;
//Tells the user how much health the enemy has left
Console.WriteLine("The enemy has {0} health left", theEnemy.health);
}
< /code>
Я затем вызову здесь функцию (я вызовал ее 5 раз ради проверки, если числа были случайными): < /p>
if (thePlayer.input == "fight")
{
Console.WriteLine("you want to fight");
thePlayer.autoAttack(enemy1);
thePlayer.autoAttack(enemy1);
thePlayer.autoAttack(enemy1);
}
< /code>
Однако, когда я проверяю вывод, я получаю одинаковое число для каждого 3 -х вызовов функции. Однако каждый раз, когда я запускаю программу, я получаю другое число (которое повторяется 3 раза), как это: < /p>
You attack the enemy for 30 damage.
The enemy has 70 health left.
You attack the enemy for 30 damage.
The enemy has 40 health left.
You attack the enemy for 30 damage.
The enemy has 10 health left.
Я затем восстановлю/отладка/запустить программу снова и получу другое число вместо 30, но он будет повторять все 3 раза.
Мой вопрос: как я могу убедиться, что я получаю другое случайное число каждый раз, когда я называю эту функцию? Я просто получаю то же «случайное» число снова и снова. /> private int randomNumber(int min, int max)
{
Random random = new Random();
return random.Next(min, max);
}
Подробнее здесь: https://stackoverflow.com/questions/725 ... ing-random
C# случайные числа не являются «случайными» ⇐ C#
Место общения программистов C#
-
Anonymous
1738897888
Anonymous
Я знаю, что случайный класс C# не делает «истинные случайные» числа, но я приду в проблему с этим кодом: < /p>
public void autoAttack(enemy theEnemy)
{
//Gets the random number
float damage = randomNumber((int)(strength * 1.5), (int)(strength * 2.5));
//Reduces the damage by the enemy's armor
damage *= (100 / (100 + theEnemy.armor));
//Tells the user how much damage they did
Console.WriteLine("You attack the enemy for {0} damage", (int)damage);
//Deals the actual damage
theEnemy.health -= (int)damage;
//Tells the user how much health the enemy has left
Console.WriteLine("The enemy has {0} health left", theEnemy.health);
}
< /code>
Я затем вызову здесь функцию (я вызовал ее 5 раз ради проверки, если числа были случайными): < /p>
if (thePlayer.input == "fight")
{
Console.WriteLine("you want to fight");
thePlayer.autoAttack(enemy1);
thePlayer.autoAttack(enemy1);
thePlayer.autoAttack(enemy1);
}
< /code>
Однако, когда я проверяю вывод, я получаю одинаковое число для каждого 3 -х вызовов функции. Однако каждый раз, когда я запускаю программу, я получаю другое число (которое повторяется 3 раза), как это: < /p>
You attack the enemy for 30 damage.
The enemy has 70 health left.
You attack the enemy for 30 damage.
The enemy has 40 health left.
You attack the enemy for 30 damage.
The enemy has 10 health left.
Я затем восстановлю/отладка/запустить программу снова и получу другое число вместо 30, но он будет повторять все 3 раза.
Мой вопрос: как я могу убедиться, что я получаю другое случайное число каждый раз, когда я называю эту функцию? Я просто получаю то же «случайное» число снова и снова. /> private int randomNumber(int min, int max)
{
Random random = new Random();
return random.Next(min, max);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/7251714/c-sharp-random-numbers-arent-being-random[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия