Пилю программку по обсчёту китайского покера

22
Статистика
Статистика
22
Статистика темы
  • Популярность
    Топ-444
  • Постов
    2,261
  • Просмотров
    153,149
  • Подписок
    22
  • Карма автора
    -55
Лучшие посты автора
1 48 68 69 70 71 90 114
  • c00l0ne @ 2.4.2020
    я к тому что не такой большой объем информации надо то обработать...

    что приводит к ТЫСЯЧАМ строк, в который ты(и я, и любой) запутывается.
    Ничего нового.
    Ответить Цитировать
    586/741
    + 0
  • БиллиУбили, не страдаю ещё пока запутыванием памяти

    БиллиУбили, цель правильно и аккуратно обработать информацию
    А сколько строк это уже не важно

    Твоя цель написать человекоподобно играющую программу... У человека в голове миллиарды "строк" кода и то что в тысячи укладывается это хорошо ... Не видел ты проекты с Овер 20-30к строк кода... Вот там думаю легко запутаться , та ещё вселенная кодинга, но если комментарии есть думаю ничего страшного)

    Есть второй путь самурая китайского
    Это rl & neural networks:troll:
    Там мало строк но все сложно
    Ответить Цитировать
    411/882
    + 0
  • c00l0ne @ 2.4.2020
    Твоя цель написать человекоподобно играющую программу...

    Моя цель - разложить стартер с ошибкой не более 1 куш. И пока я не нашёл опровержения тому, что ошибка будет больше. Да, возможны наложения типа примеров, что ты привёл. Но те же JJ и АА(или JJ и AKQ) - в последнем И предпоследнем подьёмах.
    Ну, лечится это как-то. Дойти до этого надо. Хотя бы считать за 2-3 минуты.
    Ты летишь впереди паровоза.
    Давай продолжим вечером
    Ответить Цитировать
    587/741
    + 0
  • 10 месяцев назад !!!, я написал как записана комба в массиве HR, там не номер комбы по порядку, а конкретно закодирована комбинация и все 5 кикеров (максимально).
    Формат $0n0acbde - n-сила комбы, пара, сет, стрит и т.д. abcde - кикеры.

    Для картахай - $000abcde - 5 кикеров (abcde), для пары - $010abcde+пара (a)+3 кикера (bcd) , e=0 и т.д. Эти ответы можно сравнивать между собой на старшинство, можно тут же узнать силу комбы и отдельно все киверы, если надо.

    Я потом тут немного изменил, добавил сюда еще бонусы, щас выглядит по-другому, но тоже можно сравнивать на старшинство + есть бонусы. $nabcdexx - xx это бонусы, имею два массива, один для низа, другой для мида, у них бонусы разные за комбу.

    Считаю так, собрал линии, проверил на старшинство линий, (низ >= мида и тд, два сравнения) если все ок, затёр старшие биты, в младших 8 битах бонус за линию, сложил три числа для каждой линии - и ответ! Быстрей, чем искать бонусы за линию в массиве.
    А еще быстрей, вначале сложить все три линии, а потом затереть старшие биты.
    (bot+mid+top) and $FF
    Сообщение отредактировал Jak - 2.4.2020, 11:59
    Ответить Цитировать
    130/314
    + 1
  • Jak @ 2.4.2020
    Быстрей, чем искать бонусы за линию в массиве.

    Спасибо, друг. Спасибо, что поделился. Тоже думал над этим. Пока считаю по-старинке, вызовом функции.
    А на счёт 10(!) месяцев не обижайся. Разные люди бывают. Кто-то мгновенно информацию воспринимает, кому-то надо потыкаться, сравнить разные варианты.
    Дай бог, общими усилиями заборем разложение ))

    ушёл
    Ответить Цитировать
    588/741
    + 0
  • Jak, молодец, а выше приведенные примеры ? Как то поборол?
    Ответить Цитировать
    412/882
    + 0
  • Добро пожаловать на грабли. Снова.
    Так как мне нужно положить 2 карты из стартера, я зачем-то организовывал новые "массивы" по 2 карты, (физически) удалял эти (2) карты из стартера, потом добавлял к "новому" стартеру набор из 9 карт. Мракобесие. Зачем, если можно оперировать не самими картами, а их индексом в стартере??
    Например, стартер
    Разложение(любое) надо хранить не как \\,
    а как 1\04\32
    А я смотрю, что-то тяжело идёт...
    Ответить Цитировать
    589/741
    + 0
  • c00l0ne @ 2.4.2020
    а выше приведенные примеры ? Как то поборол?

    их не надо бороть в данной парадигме. Проект переписывается заново(на новой архитектуре/принципе). Внедрять костыли подобно самоубийству.
    Ответить Цитировать
    590/741
    + 0
  • D8FLzwKXkAIlNV8.jpg

    Первый прогон разложения стартера, а точнее определить, какие 2 карты лучше положить вниз.
    100 разложений = 6 сек. Возможно, кое-что удастся улучшить, пока так.
    Проблемы, которые предстоит решить.
    1. Дерево из 3ёх карточных комбинаций.
    2. Учёт большего разнообразия комбинаций(сейчас 7)
    3. Учёт кикеров, особенно для комбинаций равного достоинста(Флаш старше флашБ ?)
    4. Учёт не только разложения по фен-шую с макс. очками, но и на шаг меньше.
    Подозреваю, что макс. очков связан с кол-вом вариантов его собрать. Например, 18 очков можно собрать ХХ вариантами, а 12 - УУ, где YY >> XX
    Ответить Цитировать
    591/741
    + 0
  • Jak @ 2.4.2020
    Для картахай - $000abcde - 5 кикеров (abcde), для пары - $010abcde+пара (a)+3 кикера (bcd) , e=0 и т.д. Эти ответы можно сравнивать между собой на старшинство, можно тут же узнать силу комбы и отдельно все киверы, если надо.

    Jak, извини ещё раз, что возможно плохо прочитал твой пост.
    А как быть с 3ёх карточными комбинациями? Их же тоже надо сравнивать с 5 карточными? Заполнять 2 "лишних" кикера двойкой и тройкой?
    Чтобы в топе были младше в середине?
    ( < )
    Ответить Цитировать
    592/741
    + 0
  • БиллиУбили @ 3.4.2020
    Jak, извини ещё раз, что возможно плохо прочитал твой пост.
    А как быть с 3ёх карточными комбинациями? Их же тоже надо сравнивать с 5 карточными? Заполнять 2 "лишних" кикера двойкой и тройкой?
    Чтобы в топе были младше в середине?
    ( < )


    Для 3 карт построй hr3 в котором итоговый результат в том же формате.
    Если ты всё понял, то это дело максимум получаса.
    Ответить Цитировать
    3/6
    + 1
  • Ок, ограничусь 2 байтами для записи комбинаций.
    4 бита для записи самой комбинации(стрит, флаш и т.д.), 4 для записи "силы" и 8 - для записи 2ух кикеров.
    Таким образом, будет
    комбинация Карта Кикер1 Кикер2
    РоялФлаш --- -- --
    СтритФлаш -- старш.карта млад.карта
    Каре Х -- ---
    ФулХаус Х(тройка) -- ---
    Флаш Кик1 Кик2 Кик3
    Стрит --- старш.карта млад.карта
    Трипс Х --- ---
    2 пары Старш.пара Млад пара Кикер
    пара Х Кик1 Кик2
    Картахай Кик1 Кик2 Кик3

    Ну, тут нам повезло. Картахай, трипс и пара в топе однозначно сравнивается с картахай, трипсом и парой в середине, а больше нам и не надо.
    Флаш на флаш будут учитываться по 3ём кикерам...достаточная точность, чтобы не захламлять дерево.
    Ответить Цитировать
    593/741
    + -1
  • Расти, маленькое дерево, расти.
    Трипсы ушли. Маслята, прям со склада. 52 штуки.
    Ответить Цитировать
    594/741
    + 0
  • 18304 "КартаХай". Как с куста.
    И всего лишь 1Мб. Красота

    Jak, зачем ставишь минусы? У меня нет времени делать все кикеры, мне нужно получить результат, пусть с небольшой ошибкой. Одно дело играться с деревьями(массивами), а другое - разложить стартер.
    Ответить Цитировать
    595/741
    + 0
  • Минусы ставлю, потому что не согласен. А для чего их ставят?
    Еще раз напишу главное правило программиста: "не упрощай себе жизнь! потом это аукнется!" Делай сразу по-максимуму.
    Ответить Цитировать
    131/314
    + 0
  • 3744 пары ушли. Теперь надо переписать большОе дерево.

    Jak @ 5.4.2020
    Делай сразу по-максимуму.

    Первый раз слышу такое правило. Что-то из категории "мы за всё хорошее против всего плохого". Муть короче ))
    Ответить Цитировать
    596/741
    + 0
  • БиллиУбили @ 5.4.2020
    Теперь надо переписать большОе дерево.

    Думаю тут ограничиться парой, КартаХай и трипс. Остальное оставим в покое. При ситуации "Флаш на флаш" можно кинуть монетку.
    Ответить Цитировать
    597/741
    + 0
  • У трипсов нет кикера, поэтому зашли как
    Заходит как-то Путин в бар и говорит:
    – Всем пива за счёт заведения!


    Отдохнём, потом продолжим.
    Музыкальная пауза
    Ответить Цитировать
    598/741
    + 0
  • БиллиУбили @ 5.4.2020
    Заходит как-то Путин в бар и говорит:
    – Всем пива обнулить за счёт заведения!

    За правку конституции не вздумайте голосовать
    Калинов мост гуд
    Ответить Цитировать
    413/882
    + 0
  • c00l0ne @ 5.4.2020
    За правку конституции не вздумайте голосовать

    а то что ты сделаешь?

    БиллиУбили @ 5.4.2020
    У трипсов нет кикера

    Появилась очень хорошая идея. Набор из 14 карт. Значит...больше 4 трипсов мы не соберём.

    Значит...и более 2 флашей мы не соберём, как бы не старались.
    Это опять флаши меня запутали. Почему-то предполагал, что их может быть С(14,5)*С(9,5) Спутал конкретную реализацию с общим кол-вом вариантов

    С фулхаузами чуть сложнее, но скорее всего не более 5 уникальных штук. А то и вообще 4.
    А раз цифры такие незначительные...можно использовать контейнеры...
    Хм...это меняет дело
    Ответить Цитировать
    599/741
    + 0
1 48 68 69 70 71 90 114
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.