БиллиУбили, не страдаю ещё пока запутыванием памяти
БиллиУбили, цель правильно и аккуратно обработать информацию А сколько строк это уже не важно
Твоя цель написать человекоподобно играющую программу... У человека в голове миллиарды "строк" кода и то что в тысячи укладывается это хорошо ... Не видел ты проекты с Овер 20-30к строк кода... Вот там думаю легко запутаться , та ещё вселенная кодинга, но если комментарии есть думаю ничего страшного)
Есть второй путь самурая китайского Это rl & neural networks:troll: Там мало строк но все сложно
Цитата (c00l0ne @ 2.4.2020) Твоя цель написать человекоподобно играющую программу...
Моя цель - разложить стартер с ошибкой не более 1 куш. И пока я не нашёл опровержения тому, что ошибка будет больше. Да, возможны наложения типа примеров, что ты привёл. Но те же JJ и АА(или JJ и AKQ) - в последнем И предпоследнем подьёмах. Ну, лечится это как-то. Дойти до этого надо. Хотя бы считать за 2-3 минуты. Ты летишь впереди паровоза. Давай продолжим вечером
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) Быстрей, чем искать бонусы за линию в массиве.
Спасибо, друг. Спасибо, что поделился. Тоже думал над этим. Пока считаю по-старинке, вызовом функции. А на счёт 10(!) месяцев не обижайся. Разные люди бывают. Кто-то мгновенно информацию воспринимает, кому-то надо потыкаться, сравнить разные варианты. Дай бог, общими усилиями заборем разложение ))
Добро пожаловать на грабли. Снова. Так как мне нужно положить 2 карты из стартера, я зачем-то организовывал новые "массивы" по 2 карты, (физически) удалял эти (2) карты из стартера, потом добавлял к "новому" стартеру набор из 9 карт. Мракобесие. Зачем, если можно оперировать не самими картами, а их индексом в стартере?? Например, стартер Разложение(любое) надо хранить не как \\, а как 1\04\32 А я смотрю, что-то тяжело идёт...
Первый прогон разложения стартера, а точнее определить, какие 2 карты лучше положить вниз. 100 разложений = 6 сек. Возможно, кое-что удастся улучшить, пока так. Проблемы, которые предстоит решить. 1. Дерево из 3ёх карточных комбинаций. 2. Учёт большего разнообразия комбинаций(сейчас 7) 3. Учёт кикеров, особенно для комбинаций равного достоинста(Флаш старше флашБ ?) 4. Учёт не только разложения по фен-шую с макс. очками, но и на шаг меньше. Подозреваю, что макс. очков связан с кол-вом вариантов его собрать. Например, 18 очков можно собрать ХХ вариантами, а 12 - УУ, где YY >> XX
Цитата (Jak @ 2.4.2020) Для картахай - $000abcde - 5 кикеров (abcde), для пары - $010abcde+пара (a)+3 кикера (bcd) , e=0 и т.д. Эти ответы можно сравнивать между собой на старшинство, можно тут же узнать силу комбы и отдельно все киверы, если надо.
Jak, извини ещё раз, что возможно плохо прочитал твой пост. А как быть с 3ёх карточными комбинациями? Их же тоже надо сравнивать с 5 карточными? Заполнять 2 "лишних" кикера двойкой и тройкой? Чтобы в топе были младше в середине? ( < )
Цитата (БиллиУбили @ 3.4.2020) Jak, извини ещё раз, что возможно плохо прочитал твой пост. А как быть с 3ёх карточными комбинациями? Их же тоже надо сравнивать с 5 карточными? Заполнять 2 "лишних" кикера двойкой и тройкой? Чтобы в топе были младше в середине? ( < )
Для 3 карт построй hr3 в котором итоговый результат в том же формате. Если ты всё понял, то это дело максимум получаса.
Ок, ограничусь 2 байтами для записи комбинаций. 4 бита для записи самой комбинации(стрит, флаш и т.д.), 4 для записи "силы" и 8 - для записи 2ух кикеров. Таким образом, будет комбинация Карта Кикер1 Кикер2 РоялФлаш --- -- -- СтритФлаш -- старш.карта млад.карта Каре Х -- --- ФулХаус Х(тройка) -- --- Флаш Кик1 Кик2 Кик3 Стрит --- старш.карта млад.карта Трипс Х --- --- 2 пары Старш.пара Млад пара Кикер пара Х Кик1 Кик2 Картахай Кик1 Кик2 Кик3
Ну, тут нам повезло. Картахай, трипс и пара в топе однозначно сравнивается с картахай, трипсом и парой в середине, а больше нам и не надо. Флаш на флаш будут учитываться по 3ём кикерам...достаточная точность, чтобы не захламлять дерево.
18304 "КартаХай". Как с куста. И всего лишь 1Мб. Красота
Jak, зачем ставишь минусы? У меня нет времени делать все кикеры, мне нужно получить результат, пусть с небольшой ошибкой. Одно дело играться с деревьями(массивами), а другое - разложить стартер.
Минусы ставлю, потому что не согласен. А для чего их ставят? Еще раз напишу главное правило программиста: "не упрощай себе жизнь! потом это аукнется!" Делай сразу по-максимуму.
Цитата (c00l0ne @ 5.4.2020) За правку конституции не вздумайте голосовать
а то что ты сделаешь?
Цитата (БиллиУбили @ 5.4.2020) У трипсов нет кикера
Появилась очень хорошая идея. Набор из 14 карт. Значит...больше 4 трипсов мы не соберём.
Значит...и более 2 флашей мы не соберём, как бы не старались.
Это опять флаши меня запутали. Почему-то предполагал, что их может быть С(14,5)*С(9,5) Спутал конкретную реализацию с общим кол-вом вариантов
С фулхаузами чуть сложнее, но скорее всего не более 5 уникальных штук. А то и вообще 4. А раз цифры такие незначительные...можно использовать контейнеры... Хм...это меняет дело
Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
На каждой странице будет видно, где появились новые посты и комментарии.
Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.
что приводит к ТЫСЯЧАМ строк, в который ты(и я, и любой) запутывается.
Ничего нового.