Перейти к содержимому

andreyasu1

Игроки
  • Публикации

    18
  • Зарегистрирован

  • Посещение

  • Бои

    12559

О andreyasu1

  • День рождения 18.02.1982

Дополнительно

  • Пол
    М

Портал игры

Достижения пользователя andreyasu1

Рядовой

Рядовой (2/14)

0

Оценка

  1. Да смысл то В том ЧТО НЕ 10 строчек а 1 СТРОЧКА , одна , в которую поочередно записано десять карт вида 1,2,3,4... , и тут говорят про нагрузку , да эта нагрузка имела бы смысл если бы была хотя бы 1/50й от текущей , но текущие задачи которые выполняет сервер намного более серьезные. И он их выполняет так же для всех игроков одновременно
  2. Хм а тогда расчет боевой ситуации для 30ти игроков сразу убьет сервера. Все относительно то есть, это небольшая нагрузка для таких серверов и большая для домашнего компьютера насколько помню критерий оптимальности это немного другое а здесь критерий нормальности распределения или что то такое , вообщем проверку производил программно без углубления в математику по очень простому принципу проверялись ряды по 10 выпавших карт то есть берем ряд из миллиона карт по этому алгоритму и миллиона карт по чистому независимому рандому , дальше программа просто просмотрела все ряды по десять карт подряд то есть с 1й по 10ю, дальше со 2й по 11ю, итд , если в ряду встречались две одинаковые карты то +1 бал на счетчик (две пары +2) итд. Конечный коэффициент по моему методу был в разы меньше рандома. Про повтор , та тема посвящена другому алгоритму , и эта тема не является повторением а предлагает другой алгоритм которому она и посвящена!
  3. Насколько я понял карта выбирается по принципу 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ти , но проблему углубления то есть просчета не только последний карты а и предыдущих все равно придется решать.
  4. к сожалению таких игроков много
  5. нууу думаю дамаг у фарнцов хороший , они везде нужны
  6. было намного хуже , когда тт9 вначале сразу начал всех бить)
  7. проверял вообщем так и есть нужно больше экспериментировать)
  8. а по мне так Т34 лучший был , но теперь он будет прем)
×
×
  • Создать...