Итак, давайте представим, что у меня есть совершенно случайный набор карт. Для простоты все они одноцветные. Есть и другие цвета (бесцветные и разноцветные). Таким образом, выбор на основе циклического перебора не идеален.
card_colors = [ "W", "U", "B", "R", "G" ]
Предположим, что у меня есть 500 карт в пуле, который уже сбалансирован, и я бы выбрал случайным образом 100 карт.
Как мне добиться выбора таким образом, чтобы в конечном итоге у меня не было ситуации, когда эти 5 цветов не сбалансированы? Допустим, «отклонение» цвета от среднего не превышает 5 карт?
Некоторые идеи:
- Выберите 100 карт. Проверьте, какой (если) цвет или цвета несбалансированы. Допустим, их слишком много. Удалите случайно подходящее количество карт и добавьте такое же количество карт другого цвета. И повторите, если необходимо.
- Имейте некоторую форму динамического веса в процессе случайного выбора. Возможно, это звучит сложно.
Мобильная версия