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

Последний пост:26.11.2023
22
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, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.