В зависимости от того, насколько важна безопасность, все может быть в порядке (если речь идет о деньгах (вы или они), НЕ ДЕЛАЙТЕ ЭТО). Я не совсем уверен, что это будет менее случайно с точки зрения невежественного игрока.
а) Не рассчитывайте на то, что они не знают, что ваша программа может быть взломана, и тогда они узнают, какие кусочки идут впереди
б) Было бы очень сложно заполнить пакеты таким образом, чтобы вы не представляли уязвимости. Например, давайте возьмем наивный алгоритм случайного выбора одного из них и помещения его в первое ведро, его извлечения, а затем проделывания того же самого для второго ведра и так далее. Вы просто гарантировали, что если есть N фигур, у первого игрока была вероятность 1 / N выбрать данный кусок, у второго игрока 1 / (N-1), у третьего 1 / (N-3) и скоро. Игроки могут затем проанализировать уже сыгранные фигуры, чтобы выяснить вероятность того, что другие игроки держат определенные фигуры.
Я ДУМАЮ следующий алгоритм может работать лучше, но почти все люди ошибаются с вероятностью, когда впервые придумывают новый алгоритм. НЕ ИСПОЛЬЗУЙТЕ ЭТО, просто поймите, что это может покрывать уязвимость безопасности, о которой я говорил:
- Создайте список из N упорядоченных предметов и создайте экземпляры P игроков
- Марка 1 / P предметов случайным образом (с заменой) для каждого игрока
- Повторяйте это до тех пор, пока все N элементов не будут помечены и
количество предметов, помеченных для каждого игрока (ПРИМЕЧАНИЕ: может занять гораздо больше времени, чем вы можете жить в зависимости от N и P)
- Поместите соответствующие предметы в ведро игрока и случайным образом переставьте (НЕ используйте алгоритм обмена местами)
Даже тогда, после всего этого, у вас все еще может быть уязвимость, когда кто-то выясняет, что находится в его ведре из эксплойта. Палка с объединенным пулом, все еще сложно выбрать действительно случайно, но это сделает вашу жизнь проще.
Редактировать: Я знаю, что этот тон звучит отрывисто. В основном я включил все, что выделено жирным шрифтом для людей, которые могут прочитать это вне контекста и попробовать некоторые из этих алгоритмов. Я действительно желаю вам всего хорошего: -)
Редактировать 2: При дальнейшем рассмотрении, я думаю, что проблема с выбором по порядку могла бы сводиться к тому, чтобы игроки сначала ходили по очереди. Если это уже в правилах, это может не иметь значения.