Анализ карт |
Начало Предыдущий Следующий |
В X-Feeder старшинство карт записывается следующим образом: 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A
Масть карты записывается так:
Пример: AS (туз пик), 10C (десятка треф), 8S (восьмерка пик), 2D (двойка бубен).
Вы можете указать триггерам сделать проверку карт, сданных конкретной руке.
X-Feeder предлагает множество путей анализа карт.
Анализ старшей и младшей карты исхода (руки)
В Poker и Omaha рукам сдается только две карты. Проверка старшей и младшей карты в этих играх - достаточно распространенная стратегия.
Вы можете проверять равенство старшей или младшей карты конкретному значению:
Выбрать старшинство карты можно из списка:
например:
Selection's Lowest Card is less than 6 Selection's Highest Card is between 10 and K Selection's Highest Card is outside 5 and J
Вы так же можете проверять масть сданной старшей/младшей карты. Например:
Any Selection's Highest Card is equal to S
Это условие отфильтрует руку, у которой старшая карта пик.
Any Selection's Highest Card is equal to AS
Означает: найти руку, старшая карта которой туз пик
Selection's Lowest Card is between 2H and 10H
Означает: проверить, является ли младшая карта выбранной руки равной 2, 3, 4, 5, 6, 7, 8, 9 или 10 червей.
Вместо прямого указания проверяемого значения вы можете использовать переменные, относящиеся к картам и выражения с их использованием. Например:
Selection's Lowest Card is equal or less than {hi_card - 2}
Проверить, является ли младшая карта у руки как минимум на 2 младше старшей карты той же руки. Например, 10 и 8, Q и 10, 4 и 2 и т.д.
Так же вы можете использовать арифметику карт.
Анализ карт по рангу
Переменные триггеров, относящиеся к картам дают вам доступ ко всем картам, сданным в игре. Включая HiLo и Poker community (прикуп) карты. Т.е. вы можете проверить значение всех этих карт. Механизм тот же, что и в старшей/младшей карте, только вы проверяете одну какую-то карту, номер которой вы указываете. Вам нужно использовать условие "Выражения триггеров" с указанием тела условия (собственно выражения).
Означает: проверить является ли самая старшая карта, сданная руке (в покере) младше короля.
Если переменная, относящаяся к картам, также относится к исходу, выражение будет применено к каждому исходу отдельно. Как только выражение будет отвечать условию, соответствующий исход будет отобран (matched).
Поиск неполного стрита или флеша
В Покере или Омахе начиная с третьего раунда у руки может быть неполный стрит или флеш, т.е. в комбинации карт руки и прикупа не хватает одной карты до стрита или флеша. Например:
Неполный стрит: 9, 10, -, Q, K.
Неполный флеш: 3, 5, 10, K бубен (1 карты не хватает).
Чтобы определить такую ситуацию понадобилось бы много сложных триггеров. Сейчас это возможно одним из условий:
(Any) Selection's Cards contain values incomplete straight
(Any) Selection's Cards contain values incomplete flush
Эти опции находятся внизу выпадающего списка.
Анализ двух и более карт
Вы также можете проверять несколько карт одновременно, не создавая условия для каждой карты в отдельности. Вы можете анализировать карты исхода, HiLo карты и карты прикупа в Poker. X-Feeder предлагает следующие опции для этого:
Выберите "Cards", чтобы проверить карты исхода.
Выберите "HiLo cards" чтобы проверить сданные карты в HiLo:
и наконец "Poker Community Cards" для доступа к картам прикупа в Poker и Omaha.
В таких случаях при использовании любых операторов сравнения, кроме "contain values" (содержит) и "do not contain values" (не содержит), параметр будет рассматриваться как "количество карт" и будет проверено сколько карт сдано, а не их состав.
Рассмотрим подробнее условия анализа состава карт "contain values" и "do not contain values". Прочитайте этот топик перед продолжением.
Простейший пример, в котором проверяется наличие определенной карты:
Selection's Cards contain values 2
Означает: проверить есть ли двойка у исхода. Программа просмотрит карты выбранного исхода и условие выполнится, если хотя бы одна карта - двойка.
Чтобы проверить была ли сдана руке одна из карт, вам нужно создать два условия, объединенных оператором OR:
Selection's Cards contain values 2 or Selection's Cards contain values 3
Если же вы хотите проверить являются ли ОБЕ карты определенными, достаточно написать одно условие:
Selection's Cards contain values 2, 3
Так же можно анализировать больше, чем две карты (если такое количество может быть сдано руке):
HiLo Cards contain values A, 2, 3, 4
Более сложный пример проверяет сданные карты на попадание в интервал:
Poker Community Cards contain values 4>, J<
Означает: проверить старше ли старшая карта четверки И следующая по старшенству карта младше вальта. Обратите внимание, следующий набор карт НЕ удовлетворяет условию:
3, J, A
Другой способ записать интервал проверки карт:
Selection's Cards contain values J-A, 2-4
Означает: проверить есть ли у руки картинка и карта между 2 и 4. Еще раз обращаем внимание, что условие выше НЕЛЬЗЯ записывать как Selection's Cards contain values 2-4,J-A - оно никогда не будет выполнено.
Использование переменных триггеров дает практически безграничные возможности записи условий.
Selection's Cards contain values h_1_card_1
Проверить, была ли сдана руке карта, равная старшей карте фаворита. Т.е. если фаворит имеет 10, 9 то возможные комбинации карт: Q,10 или 10,2 или 10,10 и другие с 10.
Классический пример поиска в покере ситуации, когда одна рука имеет ту же старшую карту и более старшую вторую, чем другая рука, а так же другая рука, которая имеет ту же младшую карту и более старшую вторую. Например:
Hand 1: A, 3 Hand 2: 3, 7 Hand 3: 7, 10
Обычно вы бы поставили ПРОТИВ Hand 2. Найти её достаточно просто:
Any Selection's Back Price is less than 20.0 and Any Other Selection's Cards contain values card_1>, card_2 and Any Other Selection's Cards contain values card_1, card_2>
Первое условие отбирает исходы, которые будем сравнивать с остальными. Второе условие получив исходы, отобранные в первом условии, анализирует для каждого из них "другие" исходы и их карты. Оно ищет карту, которая старше карт отобранной руки, и карту, равную второй карте отобранной руки. Переменные card_1 и card_2 принимают значения старшей и младшей карты для каждого отобранного в первом условии исхода. Третье условие аналогично второму. Разница лишь в том, что ищется та же карта, что и старшая карта отобранного исхода и карта, старше второй карты отобранного исхода.
Это даже нам сложно сразу понять ;-), возможно следующий скриншот вам поможет:
Объясним пошагово как "думает" программа.
1. Ищет все исходы, коэф. которых меньше 20.0. Все 4 исхода подходят.
2.1. Берет первый исход и определяет для него "All other selections". Это "Hand 2", "Hand 3" и "Hand 4" 2.2. Вычисляет переменные триггеров для первого исхода "Hand 1". card_1 = 7, card_2 = 4. 2.3. Проверяет сданы ли тем трем исходам какие-нибудь, которые больше 7 и вторая карта 4? Рассматривается каждая рука в отдельности. Никакая из трех не подходит. Таким образом, "Hand 1" не проходит.
3.1. Берет второй исход и определяет для него "All other selections". Это "Hand 1", "Hand 3" и "Hand 4". 3.2. Вычисляет переменные триггеров. card_1 = K, card_2 = 5. 3.3. Проверяет сданы ли тем трем исходам какие-нибудь, которые больше K и вторая карта 5? Рассматривается каждая рука в отдельности. "Hand 4" имеет 5, но 9 не старше K. Т.е. никакая рука из трех не подходит. "Hand 2" не проходит тоже.
4.1. Берет третий исход и определяет для него "All other selections". Это "Hand 1", "Hand 2" и "Hand 4". 4.2. Вычисляет переменные триггеров. card_1 = J, card_2 = 9. 4.3. Проверяет сданы ли тем трем исходам какие-нибудь, которые больше J и вторая карта 9? Рассматривается каждая рука в отдельности. "Hand 4" имеет 9, но 9 не старше J. Другие руки не имеют подходящих карт так же. "Hand 3" не проходит второе условие.
5.1. Берет четвертый исход и определяет для него "All other selections". Это "Hand 1", "Hand 2" and "Hand 3" 5.2. Вычисляет переменные триггеров. card_1 = 9, card_2 = 5. 5.3. Проверяет сданы ли тем трем исходам какие-нибудь, которые больше 9 и вторая карта 5? Рассматривается каждая рука в отдельности. Только одной руке была сдана 5. Это "Hand 2". А вторая карта старше 9? Да, K старше 9. Таким образом как минимум одна "other" рука подходит. Это означает, что "Hand 4" проходит второе условие дальше к проверке следующего третьего условия.
6.1. Берет исходы, прошедшие предыдущие условия. Это только "Hand 4". Ищет все "other" исходы для этого исхода. Это "Hand 1", "Hand 2", "Hand 3". 6.2. Вычисляет переменные триггеров. card_1 = 9, card_2 = 5. 6.3. Проверяет сданы ли какой-нибудь из этих рук 2 карты, одна из которых равна 9, а вторая старше 5? "Hand 1" не сдана 9, равно как и "Hand 2". Но "Hand 3" имеет 9, и вторая карта J, что старше 5. Таким образом как минимум один "other" исход удовлетворяет условию, значит "Hand 1" проходит третье условие.
Условий больше нет и все проверки прошел только один исход, на который и будет сделана ставка.
Определение когда карты, сданные в игре, различны
Если вам нужно знать не имеет ли рука одинаковых карт, используйте следующее условие:
Selection's Cards do not contain values same card as others
Для нахождение противоположной ситуации (если рука имеет хотя бы две одинаковые карты) удалите "do not" из условия:
Selection's Cards contain values same card as others
Если вам нужно найти руки, чьи карты отличаются от карт других рук, начните условие с "Any Selection's"
Any Selection's Cards do not contain values same card as others
Если вам нужно знать, что все исходы имеют различные карты, начните с "Every Selection's":
Every Selection's Cards do not contain values same card as others
Если исход не соответствует никакой руке, т.е. не имеет карт, он будет проигнорирован (не пройдет условие).
Это один из способов проверить были ли сданы разные карты руками. Условия выше не проверяют карты в прикупе Poker и Omaha. Если вам важно учитывать и эти карты, вам следует оперировать специальными переменными, начинающимися на "unicds_". Этот префикс позволяет вам оперировать уникальными картами различнх объектов игры. Так же вы можете контролировать количество карт у каждого объекта. Т.е. если вам нужно узнать количество уникальных карт в покере, включая карты прикупа, скажем во втором раунде:
Trigger Expression unicds_count is equal to 8
Т.к. в покере 4 руки и карт в прикупе во втором раунде еще нет, то это условие означает, что все карты во всех руках различны (8 уникальных карт).
В третьем раунде условие должно быть другим, т.к. карт сдано уже больше:
Trigger Expression unicds_count is equal to 11
В Omaha это число равно 15:
Trigger Expression unicds_count is equal to 15
|