Texas Holdem Online
Free Holdem Online
PokerStrategy
BankrollMob
Your Poker Cash
888 Poker Online
PokerSource
Gratis poker bonus Texas Holdem poker bonus
Play texas holdem
Play Online Poker with Titan Poker
Poker ohne einzahlung
Gutshot Straight(2014) - Steven Seagal - 5/10
Rounders (1998) - Matt Damon, Edward Norton, John Malkovich - 8/10
The Cincinnati Kid (1965) - Steve McQueen - 8/10
All In: The Poker Movie (2009) - Matt Damon - 7/10
Maverick (1994) - Mel Gibson, Jodie Foster, Graham Greene - 7/10
Casino Royale (2006) - Daniel Craig, Eva Green - 8/10
High Roller: The Stu Ungar Story (2003) - 6/10
Lucky You (2007) - Eric Bana, Drew Barrymore - 6/10
Runner Runner (2013) - Justin Timberlake, Ben Affleck, Gemma Arterton - 6/10
The Grand (2007) - Dennis Farina - 6/10
Shade (2003) - Melanie Griffith, Sylvester Stallone - 7/10
Deal (2008) - Burt Reynolds - 7/10
Bet Raise Fold (2013) - 7/10
Players (2012) - Movie - 6/10
Freeze Out (2005) - 8/10
Luckytown (2000) - Kirsten Dunst - 7/10
Casino (1995) - Robert De Niro, Sharon Stone - 8/10
Ocean's Eleven (2001) - George Clooney, Brad Pitt, Matt Damon, Julia Roberts - 8/10
Ocean's Twelve (2004) - George Clooney, Brad Pitt, Catherine Zeta-Jones, Matt Damon - 7/10
Ocean's Thirteen (2007) - George Clooney, Brad Pitt, Al Pacino - 7/10
21 (2008) - Kevin Spacey, Laurence Fishburne - 8/10
Owning Mahowny (2003) - Philip Seymour Hoffman - 7/10
Lock Stock and Two Smoking Barrels (1998) - Jason Flemyng, Jason Statham - 8/10
Revolver (2005) - Jason Statham, Ray Liotta - 7/10
The Color of Money (1986) - Tom Cruise - 7/10
Bugsy (1991) - Warren Beatty, Annette Bening - 7/10
The Hangover (2009) - Bradley Cooper - 8/10
The Hangover Part II (2011) - Bradley Cooper - 7/10
The Hangover Part III (2013) - Bradley Cooper - 7/10
Las Vegas Parano (1998) - Johnny Depp, Benicio Del Toro - 8/10
Rat Race (2001) - Rowan Atkinson, Cuba Gooding Jr. - 7/10
California Split (1974) - 7/10
The Cooler (2003) - William H. Macy, Alec Baldwin - 7/10
Vegas Vacation (1997) - Chevy Chase - 7/10
The Gambler (2014) - Mark Wahlberg - 7/10
Lesser Prophets (1997) - Scott Glenn, John Turturro - 6/10
Croupier (1998) - Clive Owen - 7/10
Two for the Money (2005) - Al Pacino, Matthew McConaughey, Rene Russo - 7/10
Atlantic City (1980) - Burt Lancaster - 8/10
Havana (1990) - Robert Redford - 7/10
Bad Lieutenant (1992) - Harvey Keitel - 7/10
House of Games (1987) - Joe Mantegna - 7/10
Sydney (1996) - Philip Seymour Hoffman, Samuel L. Jackson, Gwyneth Paltrow - 7/10
Eight Men Out (1988) - John Cusack, Charlie Sheen - 7/10
Very Bad Things (1998) - Cameron Diaz, Christian Slater - 7/10
The Good Thief (2002) - Nick Nolte, Ralph Fiennes - 6/10
Phoenix (1998) - Ray Liotta, Anthony LaPaglia - 7/10
The Big Town (1987) - Matt Dillon, Tommy Lee Jones - 6/10
Factotum (2005) - Matt Dillon, Fisher Stevens - 7/10
The Music of Chance (1993) - Mandy Patinkin, M. Emmet Walsh - 8/10
Dinner Rush (2000) - Danny Aiello - 7/10
Intacto (2001) - Leonardo Sbaraglia - 7/10
All or Nothing (2013) - 7/10
Even Money (2006) - Kim Basinger, Danny DeVito, Forest Whitaker - 7/10
Winged Creatures (2008) - Kate Beckinsale, Guy Pearce - 6/10
Guns, Girls and Gambling (2012) - Gary Oldman, Christian Slater - 5/10
Killing Them Softly (2012) - Brad Pitt - 6/10
Leaving Las Vegas (1995) - Nicolas Cage, Elisabeth Shue - 8/10
The Game (1997) - Michael Douglas, Sean Penn, Deborah Kara Unger - 8/10
In Time (2011) - Justin Timberlake, Amanda Seyfried, Olivia Wilde - 8/10
Rain Man (1988) - Dustin Hoffman, Tom Cruise - 8/10
What Happens in Vegas (2008) - Cameron Diaz, Ashton Kutcher - 7/10
Waking Ned (1998) - 8/10
Casino Jack (2010) - Kevin Spacey - 6/10
no deposit poker new poker bankroll gratis bonus
Poker ohne einzahlung
песні пра покер і азартных гульняў
ABC покер
рулетка сістэмы
Як выйграць у рулетку
сістэма Мартингейл
сістэма Shaun
Вуліцы рулетка сістэма
Фібаначы сістэма - Суадносіны стол
Сістэмы рулетка - Parlay сістэма
Сістэмы рулетка - Сістэма 63
Сістэмы рулетка - Labouchere
Даламбера сістэмы - System D'Alembert
гулец у покер і гулец псіхалогія
покер жарты і анекдоты
Картачныя гульні
бонус за рэгістрацыю
Даунсвинг, полоса неудач
Покер форум - водгукі аб лепшых у свеце
Покер як праца - дадатковая крыніца даходу
Бонус без дэпазітаў
бясплатна покер грошы
дысцыпліна, якая з'яўляецца найбольш прадказальным
Умовы Спартыўныя стаўкі
Гулец Дэкалог - правілы стаўкі для пачаткоўцаў
Самы вялікі выйгрыш у букмекерскай канторы
алгарытм гуляць у покер у PHP
інтэрв'ю з зоркамі покера
покер адзенне - глабальныя покер крамы
no deposit poker new poker bankroll gratis bonus
Свабодныя грошы Покер
Правілы покера Тэхаскі Холдэн - флоп - Уключыце
Дылер у покер і сляпой
Гласарый тэрмінаў покера
Гуляючы на рэальныя грошы (покер у Інтэрнэце)
Poker Freeroll - Покер фрироллы
Гісторыя Сусветны Серыі Покер (WSOP)
2-7 Lowball Draw Poker - Лоуболл от двойки до семёрки
888 Poker Network - сайты ў сеткі
BOSS міжнародная покер сетка - Сайты унутры сеткі
Entraction покер сетка - Сайты унутры сеткі
Ipoker сетка - Сайты унутры сеткі
Merge Gaming Network - зліццё гульні сетка - Сайты унутры сеткі
Ongame Network - сайты ў сеткі
Бэстсэлеры Покер Кнігі
Як Твітэр Фарміраванне Свет покера
Viktor Blom Віктар Блом інтэрв'ю - Isildur1 інтэрв'ю
no deposit poker new poker bankroll gratis bonus
Texas hold em poker Texas Holdem Online
Spanish
Belarusian
Estonian
Bulgarian
Greek
Croatian
Finnish
Swedish
Portuguese
Taiwanese
Hungarian
Turkish
Ukrainian
Russian
Arabic
Poland
Japanese
Switzerland
Austria
Italian
Dutch
Belgium
Czech
Slovak
Brazil
German
French
Danish
Filipino
Georgian
Indonesian
Kannada
Latvian
Lithuanian
Romanian
Serbian
Slovenian
Vietnamese
Hebrew
Gratis startkapital Texas Holdem poker bonus
Texas Holdem Poker

Online Poker



Texas Hold em Poker


 
texas holdem poker алгарытм гуляць у покер у PHP
 



Мая адзіная экспазіцыя ў гульні ў покер была некалькі гадзін у апошнія пару тыдняў чытання з дапамогай розных правілаў рука рэйтынгу. Здаецца, што праблема хуткага пошуку пераможцы ў гульні простая і яшчэ не ўдаецца. Такім чынам, ідэя стварэння адпаведнасці паміж покер і невялікі абмежаванай асобы, падумаў я, варта некаторы даследаванне. Код ззаду гэтым артыкуле доказ канцэпцыі гэтых сухіх вылічальнай працэдуры.

Фон
Першапачаткова фрагмент кода быў створаны ў адказ на 4-гадзінны тэст распрацоўніка праграмнага забеспячэння. Яна ўключала наступныя задачы:

Ажыццяўляць

Бібліятэка (на мове праграмавання па вашаму выбару), які ацэньвае якія Пераможца (і) з некалькіх 5 картачны покер рукі (http://en.wikipedia.org/wiki/List_of_poker_hands). Заўвага для гэтага праекта, які "неабходна рэалізаваць толькі падмноства рэгулярных покерных рук:

Западліцо
Тройка
Два аднолькавых прадмета
Старэйшая карта
Уваход

Калекцыя гульцоў у сутычцы: імя гульца і 5 карт (кожная з указаннем колькасці і масць карты) - напрыклад,

Джо, 3H, 4H, 5H, 6H, 8H
Боб, 3С, 3D, 3S, 8C, 10D
Салі пераменнага току, 10C, 5C, 2S, 2C
Выхад

Калекцыя узнагарод гульцоў (больш аднаго ў выпадку нічыёй) - напрыклад,

Джо
Калі ласка, пакажыце любыя здагадкі, якія вы зрабілі.

Рэалізацыя
З моманту першапачатковага завяршэння задачы, рэалізацыя каталог вы падоўжаны гэтая падтрымка поўны набор стандартных покерных рук.

JavaScript быў абраны за яго гнуткасці і прастаты выкарыстання.

Здагадкі

Лідэры рэйтынгу рукі (як у стандартнай сістэме рэйтынгу покер рукі, [^]) з'яўляецца выйгрышная рука. Існуе заўсёды па крайняй меры адзін пераможца.
Колькасць руках станоўчае выпадковае цэлы лік.
Карт у руцэ нумар станоўчае выпадковае цэлы лік менш, чым 13 карт у руцэ не вельмі Любая нумар, але гэта мае сэнс, што гэта не будзе перавышаць 13.
Карты ў рукі прыходзяць з адной палубы. Гэты працэс можа быць мадыфікаваны, якія падтрымліваюць множныя палубы, але гэта будзе губляць частку сваёй празрыстасці.
Кожная карта ўяўляе сабой 2-літары слова, дзе 1-й літары пазначае ранг (г.зн., у мностве [1..10, J, Q, K, A]) і 2-га лісты ідэнтыфікуе набор (г.зн. у мностве [Н, Н, З, S])
Уваход змяшчае на шэрагу, імя гульца і набор карт, які фармуе руку гульца, дзе суб'екты, падзеленых коскамі. Некалькі радкоў Пазначана некалькі гульцоў. Ніякіх праверак не дадаў каб пераканацца, што гульцы з'яўляюцца унікальнымі, мець аднолькавую колькасць карт, і яны выкарыстоўваюць калоду карт.
Імя гульца не ўтрымлівае прабелаў; калі гэта адбудзецца, яны не будуць прысутнічаць на выхадзе.
Алгарытм

Мэта ў тым, што прысвоіць значэнне рукі карты, які адлюстроўвае яго трываласць / лічыльнікі Згодна стандартнай сістэмы рэйтынгу покер рукі і пазбегнуць неабходнасці сартаваць, параўноўваць, і пошуку індывідуальных рукі. Пераможцам гульні лічыцца гулец з найвышэйшымі баламі.

Для таго, каб вылічыць кошт, у мэтах кожную руку ў двухмернай матрыцы. Вынікі ўсёй слупкоў дае нам дастаткова інфармацыі, гэта вывесці Ці маем мы карэ, фулл-хаўс, тройка, дзве пары, або адна пара. Сумы па радках дае нам дастаткова інфармацыі, што мы маем вывесці флэш Ці, прама ці стрыт-флэш. Апошняя радок таксама парушае высокія карты і кикать.

Напрыклад, вось як 2Н, 9D, 3S, 2C, КТ выглядае як у сухім і матрыцы:

Схаваць Скапіяваць код
 + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
 | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
 + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
 | D | | | | | | | | | | 1 | | | 1 | | | 0 |
 | Н | | | 1 | | | | | | | | | | | | | 0 |
 | З | | | 1 | | | | | | | | | | | | | 0 |> - Col => карты нумароў (флэш, [0,5+])
 | S | | | | 1 | | | | | | | | | | | | 0 |
 + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
 | | | | 2 | 1 | | | | | | 1 | | | 1 | | | 0 |> - радкі => карткі рангу (N ў сваім родзе, [1..4 +])
 + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
                                                   ^ ---- Сотавыя => карты ў паслядоўнасці (прамы, [0,5+])
У гэтым выпадку, у нас ёсць пара з 3 трамплінаў (не прама, не западліцо).

Мы вылічаем з злева направа, які гарантуе нам, што мы заўсёды выкарыстоўваем самыя даступныя карты для ачкоў і што алгарытм працуе так жа, як і для рук 7-карт, напрыклад.

Гэты падыход вызваляе нас ад сартавання картак, Параўноўваючы рукі, або пры выкананні пошуку. Ён выкарыстоўвае фіксаваную мяжу памяці на беднай 15 х 4 матрыцы. Для аднаго боку, яна праходзіць у сталай часу, O (1), неабходна, каб сума па радках і слупках. Калі гульня змяшчае п рукі, гэта зойме O (N) часу, каб набраць іх усе.

Хітрасць заключаецца ў прысваенні балаў Гэта значыць «унікальны». Разгледзім наступныя формулы:

Схаваць Скапіяваць код
 Ручной Катэгорыі | Big Endian | Little Endian
 ---------------- | ------------ + --------------------
 Стрыт-Флэш | р & F -> 8 | кикера
 Карэ | d4 -> 7 | d4
 Поўны дом | P1 і К3 -> 6 | Р1 + K 3 * (10 ^ 2)
 Флэш | е -> 5 | кикера
 Прамыя | р -> 4 | кикера
 Тройка | К3 -> 3 | к3
 Дзве пары | р2 -> 2 | P2 + P1 * (10 ^ 2)
 Адна пара | Р1 -> 1 | P1
 Старэйшая карта | -> 0 | кикера
дзе:

кикера = сума (г * (10 ^ (- 15 + я))), дзе г ранг я-я-карты з магутнасцю 1, які гуляе
F = лік карт адной масці, калі гэта 5 або больш, у адваротным выпадку 0
S = колькасць карт ў паслядоўнасці, калі 5 або больш, 0 у адваротным выпадку
d4 = R * (10 ^ -4), дзе г найвышэйшы ранг карткі з магутнасці 4
К3 = R * (10 ^ -4), дзе г высокага рангу карткі з магутнасці 3
р2 = г * (10 ^ -4), дзе г-другое высокага рангу карткі з магутнасці 2
P1 = R * (10 ^ -4), дзе г высокага рангу карткі з магутнасці 2
то адзнака = (катэгорыя || 0) * (катэгорыя ў вялікі байтаў + Little Endian катэгорыі са) + кикера.

Прыклады:

Вось як 2Н, 9D, 3S, 2С КТ (адна пара) вылічаецца адзнака:

Схаваць Скапіяваць код
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
| D | | | | | | | | | | 1 | | | 1 | | | 0 |
| Н | | | 1 | | | | | | | | | | | | | 0 |
| З | | | 1 | | | | | | | | | | | | | 0 |
| S | | | | 1 | | | | | | | | | | | | 0 |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
| | | | 2 | 1 | | | | | | 1 | | | 1 | | | 0 |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
  
Ручной Катэгорыі | Big Endian | Little Endian | Вынік
---------------- | ------------------ + ------------ | - ------------
Стрыт-Флэш | р & F -> 8 | кикера | 0
Карэ | d4 -> 7 | d4 | 0
Поўны дом | P1 і К3 -> 6 | Р1 + K 3 * (10 ^ 2) | 0
Флэш | е -> 5 | кикера | 3 * (10 ^ -14) + 9 * (10 ^ -13) + 12 * (10 ^ -12)
Прама | р -> 4 | кикера | 0
Тройка | К3 -> 3 | к3 | 0
Дзве пары | р2 -> 2 | P2 + P1 * (10 ^ 2) | 0
Адна пара | Р1 -> 1 | P1 | 0,0002 = 2 * (10 ^ -4)
Старэйшая карта | -> 0 | кикера | 1.2930000000000001e-11
  
Ацэнка = 1,0002000000129 = (P1) * (1 + 0,0002) + 1.2930000000000001e-11
Вось як 10S, 10С, 10Н, 4D, 4C (Full House) адзнака вылічаецца:

Схаваць Скапіяваць код
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
| D | | | | | 1 | | | | | | | | | | | 0 |
| Н | | | | | | | | | | | 1 | | | | | 0 |
| З | | | | | 1 | | | | | | 1 | | | | | 0 |
| S | | | | | | | | | | | 1 | | | | | 0 |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +
| | | | | | 2 | | | | | | 3 | | | | | 0 |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - +

Ручной Катэгорыі | Big Endian | Little Endian | Вынік
---------------- | ------------------ + ------------ | - ------------
Стрыт-Флэш | р & F -> 8 | кикера | 0
Карэ | d4 -> 7 | d4 | 0
Поўны дом | P1 і К3 -> 6 | Р1 + K 3 * (10 ^ 2) | 0,1004 = 0,0004 + 0,001 (10 ^ 2)
Флэш | е -> 5 | кикера | 0
Прама | р -> 4 | кикера | 0
Тройка | К3 -> 3 | D3 | 0001 = 10 (10 ^ -4)
Дзве пары | р2 -> 2 | P2 + P1 * (10 ^ 2) | 0
Адна пара | Р1 -> 1 | P1 | = 0,0004 4 * (10 ^ -4)
Старэйшая карта | -> 0 | кикера | 0

адзнака = 6,1004 = (P1 & K3) * (6 + 0,1004) + 0
Звярніце ўвагу, што гэта магчыма, што аднавіць руку ад рахунку.

Прадукцыйнасць

У Chrome 10.0.648.205 (, AMD Turion, 1.6GHz, 512 L2, 2 Гб DDR2), ацэнка адной рукой бярэ ~ 1 мс.

Схаваць Скапіяваць код
10 -> ~ 1 мс
100 -> ~ 6 мс
1000 -> ~ 60 мс
10000 -> ~ 600 мс
100000 -> ~ 6000 мс
Гэта запусціць яго самастойна, адкрыць укладзены файл HTML у браўзэры JavaScript уключаны с.

Цалкам верагодна, што той жа каталог рэалізацыя на іншай мове дасць лепшыя вынікі.

Праблемы

Разуменне і праверкі розных покер рэйтынгу правілы
Забеспячэнне мін / макс значэнне кожнай катэгорыі без перакрыцця -> Паўнамоцтвы 10, вялікі / маленькі Endian
Разлік трамплінаў супраць старэйшай карты -> Паўнамоцтвы 10, магутнасць
Ужываючы Ace як 1 або 14, у прамых -> кіраўніцтва пры скідзе
Альтэрнатыўныя падыходы (гл Глядзіце таксама)

Выкарыстоўвайце падставы 13 разлікаў
Выкарыстанне простых лікаў, дзе твор двух простых лікаў "унікальны" нумар
Частка 2

Дадаць Заключэнне
Прыдумайце спосаб, каб уключыць верагоднасці
Рэалізацыя на іншай мове (Haskell?), Ці ёсць агульная прадукцыйнасць лепш
Код

Hide   Shrink    Copy Code
var evalHand = function(input){
    if (!input) return;

    input = input.replace(/\s+/g, '').replace(/,[Jj]/g, ',11').replace
    (/,[Qq]/g, ',12').replace(/,[Kk]/g, ',13').replace(/,
    [Aa]/g, ',14').toUpperCase().split(',');

    var hand = {D: [], H: [], C: [], S:[]};
    for (var i = 1, len = input.length; i < len; i++)
    {
        input[i] && (hand[input[i].slice(input[i].length - 1)]
    [input[i].slice(0, input[i].length - 1)] = 1);
    }

    var card = function(suite, rank){return hand[suite][rank] || 0};
    var cards = function(rank){ return card('D', rank) + card('H', rank) +
    card('C', rank) + card('S', rank); };
    var kickers = function(idx){ // http://en.wikipedia.org/wiki/Kicker_(poker)       
        idx = idx || -15;
        var notplayed = Math.max(input.length - 1/*player input*/ - 5, 0);
        return function(all, cardinality, rank) {
            return (all || 0) + (((cardinality == 1) && (notplayed-- <= 0)) ?
        rank * Math.pow(10, ++idx) : 0);
        };
    }();
  
    var tag = function(a, b, always) {a = a || 0; b = Math.min(b || 0, 1);
    return (b || always) ? a + b : 0};
    var reset = function(a) { return (a < 5) ? 0 : a};

    var cardsofrank = [];
    var hc = 0;         // high card
    var k4 = 0;         // four of a kind
    var k3 = 0;         // three of a kind
    var p2 = 0;         // two pair / two one pairs
    var p1 = 0;         // one pair / two of a kind
    var k = 0;          // kickers
    var sd = cards(14); // straight discriminant: count A as 1 or 14
    for (var i = 2; i < 15; i++)
    {
        cardsofrank[i] = cards(i);
        hc = (cardsofrank[i]) ? i * Math.pow(10, -4) : hc;
        k4 = (cardsofrank[i] === 4) ? hc : k4;
        k3 = (cardsofrank[i] === 3) ? hc : k3;
        p2 = (cardsofrank[i] === 2) ? p1 : p2;
        p1 = (cardsofrank[i] === 2) ? hc : p1;
        k = kickers(k, cardsofrank[i], i);
        sd = tag(sd, cardsofrank[i], sd >= 5);
    };
    var s = reset(sd); // straight

    if (s && cards(14) && !cards(13))
    { k = k - 14 * Math.pow(10, sd); } // adjust for A as 1 or 14

    var cardsofsuite = {D: 0, H: 0, C: 0, S: 0};
    for (var i = 2; i < 15; i++)
    {
        cardsofsuite['D'] = tag(cardsofsuite['D'], card('D', i), true);
        cardsofsuite['H'] = tag(cardsofsuite['H'], card('H', i), true);
        cardsofsuite['C'] = tag(cardsofsuite['C'], card('C', i), true);
        cardsofsuite['S'] = tag(cardsofsuite['S'], card('S', i), true);
    }
    var f = reset(cardsofsuite['D']) + reset(cardsofsuite['H']) +
    reset(cardsofsuite['C']) + reset(cardsofsuite['S']);  // flush

    var score = function(cond, bigendian, littleendian)
    { return (cond ? 1 : 0) * (bigendian + littleendian); };

    return {
        player: input[0], 
        score: (score(s && f, 8, k)                              // straightflush
                || score(k4, 7, k4)                              // fourofakind
                || score(p1 && k3, 6, p1 + k3 * Math.pow(10, 2)) // fullhouse
                || score(f, 5, k)                                // flush
                || score(s, 4, k)                                // straight
                || score(k3, 3, k3)                              // threeofakind
                || score(p2, 2, p2 + p1 * Math.pow(10, 2))       // twopair
                || score(p1, 1, p1))                             // onepair
            + score(hc, 0, k)                                    // highcard - tie breaker
    };
};


 
 
Template by Poker Template & USA Online Casino