Насколько я понял карта выбирается по принципу karta = random(23). Официальный ответ разработчиков был - "сложно реализовать алгоритм для 30ти разных игроков" . Так вот вам алгоритм : Рассмотрим упрощенный вариант для простоты понимания , допустим у нас есть 6 игроков и 4 карты ( в полной версии 30 игроков и 24 карты ). Для каждого игрока создаем табличку в бд , в коде одномерный массив для работы с таблицей. дальше мы записываем несколько последних карт на которых пользователь воевал , количество карт назовем углублением и обозначим int ug=2;. Теперь допустим что в процессе игры для каждой карты начиная с последний задается свой "вес" , для той карты на которой пользователь был в предыдущем бою вес самый большой и равен ug , в нашем случае 2. Для предпоследней ug-1, и так далее в зависимости от углубления , веса записываются в строку и суммируются, для понимания рассмотрим пример , допустим мы имеем 4 карты Map0,Map1,Map2,Map3 и наш пользователь играл последний бой на Map0 а предпоследний на Map2 тогда наша таблица в одну строку имеет вид __________Player0________ Map0___Map1____Map2__Map3 _2_______0________1_____0__ Еще пример последний бой на Map1 и предпоследний на Map1: __________Player0________ Map0___Map1____Map2__Map3 _0_______3________0_____0__ А дальше все просто , 5 человек нажимают кнопку в бой и суммируются 5 строк , то есть пример берем пять строк 2 0 1 0 0 0 2 1 3 0 0 0 2 1 0 0 0 3 0 0 ________ 7 4 2 1 Отсюда мы видим что вес в четвертой строке 1 , а значит карта номер 4 (Map3) встречалась реже всех за последние два боя среди всех 5ти игроков!!! А теперь берите 30 игроков и 24 карты как в игре с углублением равным 10 , я сделал программку на с++ , и даже смог доказать в ней что такой способ оптимальнее чем независимый от прошлых значений рандом.Но скидывать exe не стал а то точно тему не пропустят , думаю вы и сами сможете написать . Данный алгоритм распределения поможет разнообразить игру для всех и каждого иногда жертвуя меньшинством.Я понимаю что карт скоро будет больше 30ти , но проблему углубления то есть просчета не только последний карты а и предыдущих все равно придется решать.