Я генерации случайного числа в моей игре с помощью:псевдо генерации случайных чисел
System.Random rnd = new System.Random();
int TileType = rnd.Next (0, 8);
Проблема заключается в том, что номера слишком случайны. Цифры относятся к плиткам, и я не получал отдельную плитку за 20 рулонов.
Мне нужно руководство по созданию функции, которая генерирует «поддельные» случайные числа. Поэтому в основном я хотел бы удостовериться, что я генерирую каждый тип плитки в x рулонах. Я полагаю, 12 может быть хорошей отправной точкой для x, но хотелось бы настроить x.
Если кто-нибудь может указать мне в правильном направлении, было бы весьма полезно.
Update
Вот что я в настоящее время думает. Спасибо @Golo за то, что указал мне так. Мысли?
- Создайте список номеров, которые я хочу.
- Добавить еще несколько случайных чисел.
- Перемешать список -var shuffledList = unshuffledList.OrderBy (x => rand.Next()). ToList();
- Возьмите первый элемент и удалите из списка.
- Восстановить список, когда пуст.
Это должно означать, что все числа будут появляться часто, но у вас все еще есть повторы, чтобы он сохранял случайное чувство.
Вы ищете "перетасовки" ИЛИ "взвешенных случайных чисел" (в зависимости от ваших предпочтений). –