3v4l.org

run code in 300+ PHP versions simultaneously
<?php function sortCardsBySortOrder(Array $cards, $reverse = false): Array { $changeAce = false; if (isLowStraight($cards)) { $reverse = true; $changeAce = true; } $cards = sortCards($cards, $reverse); if ($changeAce) { $ace = array_pop($cards); //rebuild the array with ace first $tmpArr = []; $tmpArr['A'.$ace['suite']] = $ace; foreach ($cards as $card => $details) { $tmpArr[$card] = $details; } $cards = $tmpArr; } return $cards; } function sortCards(Array $cards, $reverse = false): Array { uasort($cards, function($a, $b) use($reverse) { $result = $a['sort'] <=> $b['sort']; if (!$reverse) { $result *= -1; } if ($result == 0) { $result = $a['suite'] <=> $b['suite']; } return $result; }); return $cards; } function sortCardsBySuite(Array $cards, $reverse = false): Array { uasort($cards, function($a, $b) use($reverse) { $result = $a['suite'] <=> $b['suite']; if ($result == 0) { $result = $a['sort'] <=> $b['sort']; } if (!$reverse) { $result *= -1; } return $result; }); return $cards; } function shuffleCards(Array $cards): Array { $shuffled = []; while ($cards) { $key = array_rand($cards); $shuffled[$key] = $cards[$key]; unset($cards[$key]); } return $shuffled; } function dealCards(Array $cards, $num = 1) { $result = [null, null]; for ($i = 0; $i < $num; $i++) { $key = array_rand($cards); $result[1][$key] = $cards[$key]; unset($cards[$key]); } $result[0] = $cards; return $result; } function getLargestSuite(Array $cards): Array { $result = []; $lastSuite = ""; $streak = []; foreach ($cards as $card => $details) { $suite = $details['suite']; if ($suite != $lastSuite) { $lastSuite = $suite; } $streak[$suite][$card] = [$card => $details]; } uasort($streak, function ($a, $b) { $result = count($a) <=> count($b); if ($result == 0) { $a = array_map(function ($v) { $s = 0; foreach($v as $x) { $s += $x['sort']; } return $s; }, $a); $b = array_map(function ($v) { $s = 0; foreach($v as $x) { $s += $x['sort']; } return $s; }, $b); $result = array_sum($a) <=> array_sum($b); } return $result; }); return array_pop($streak); } function getLargestSet(Array $cards): Array { $result = []; $lastType = ""; $streak = []; foreach ($cards as $card => $details) { $type = substr($card, 0, 1); if ($type != $lastType) { $lastType = $type; } $streak[$type][$card] = [$card => $details]; } uasort($streak, function ($a, $b) { $result = count($a) <=> count($b); return $result; }); return array_pop($streak); } function groupBySet(Array $cards): Array { $result = []; $lastType = ""; $streak = []; $cards = sortCardsBySortOrder($cards); foreach ($cards as $card => $details) { $type = substr($card, 0, 1); if ($type != $lastType) { $lastType = $type; } $streak[$type][$card] = [$card => $details]; } uasort($streak, function ($a, $b) { $result = count($a) <=> count($b); return $result * -1; }); $cards = []; foreach ($streak as $streaks) { foreach($streaks as $card => $details) { $cards[$card] = reset($details); } } return $cards; } function isStraightFlush(Array $cards): bool { // straight flush return isStraight($cards) && isFlush($cards); } function isQuads(Array $cards): bool { // quads $hand = sortCardsBySortOrder($cards); $hand = getLargestSet($hand); return count($hand) == 4; } function isFullHouse(Array $cards): bool { // full house return isPair($cards) && isTrips($cards); } function isFlush(Array $cards) { // flush $hand = sortCardsBySortOrder($cards); $hand = sortCardsBySuite($hand); $largest = getLargestSuite($cards); if (count($largest) == 5) { return true; } return false; } function isLowStraight(Array $cards): bool { // Check for special case where Ace is low $cards = sortCards($cards, true); $lowStraight = ["2", "3", "4", "5", "A"]; $tmpArr = []; $hasAce = false; // check if ace is there foreach ($cards as $card => $details) { if (substr($card, 0, 1) === "A") { $hasAce = true; } } if ($hasAce) { $tmpArr[] = "A"; } foreach (array_slice($cards, 0, 4) as $card => $details) { $tmpArr[] = substr($card, 0, 1); } sort($tmpArr); if ($tmpArr === $lowStraight) { return true; } return false; } function isStraight(Array $cards) { // straight $hand = sortCards($cards); $h = array_slice($hand, 0, 5); foreach (traverseCardsByTwo($h) as [$card1, $card2]) { if ($card2) { $delta = $card1['sort'] - $card2['sort']; if ($delta !== 1) { if (isLowStraight($hand)) { return true; } return false; } } } return true; } function isTrips(Array $cards): bool { // trips $hand = sortCardsBySortOrder($cards); $hand = getLargestSet($hand); return count($hand) == 3; } function isTwoPair(Array $cards): bool { // pair $result = []; $lastType = ""; $streak = []; $pairs = 0; foreach ($cards as $card => $details) { $type = substr($card, 0, 1); if ($type != $lastType) { $lastType = $type; } $streak[$type][$card] = [$card => $details]; } uasort($streak, function ($a, $b) { $result = count($a) <=> count($b); return $result * -1; }); foreach($streak as $s) { if (count($s) == 2) { $pairs++; } } return $pairs >= 2; } function isPair(Array $cards): bool { // pair $result = []; $lastType = ""; $streak = []; foreach ($cards as $card => $details) { $type = substr($card, 0, 1); if ($type != $lastType) { $lastType = $type; } $streak[$type][$card] = [$card => $details]; } uasort($streak, function ($a, $b) { $result = count($a) <=> count($b); return $result * -1; }); foreach($streak as $s) { if (count($s) == 2) { return true; } } return false; } function traverseCardsByTwo(Array $cards) { reset($cards); while(key($cards) !== null) { $card1 = current($cards); $card2 = next($cards); yield [$card1, $card2]; } } function getCardsAsString(Array $cards): String { $s = []; foreach ($cards as $card => $details) { $s[] = $card; } return implode(",", $s); } function combineHands(Array $hand1, Array $hand2): Array { foreach ($hand2 as $card => $details) { $hand1[$card] = $details; } return $hand1; } function DetermineHand($board, $player) { $hand = combineHands($board, $player); $taxonomies = [ "Straight Flush" => ["Straight Flush" => 9], "Quads" => ["Quads" => 8], "Full House" => ["Full House" => 7], "Flush" => ["Flush" => 6], "Straight" => ["Straight" => 5], "Trips" => ["Trips" => 4], "Two Pair" => ["Two Pair" => 3], "Pair" => ["Pair" => 2], "High Card" => ["High Card" => 1], ]; $h = sortCardsBySortOrder($hand); if (isStraightFlush($h)) { $h = getLargestSuite($h); $h = array_slice($h, 0, 5); $handResult = ["t" => $taxonomies["Straight Flush"], "h" => $h]; } elseif (isQuads($h)) { $h = groupBySet($h); $h = array_slice($h, 0, 5); $handResult = ["t" => $taxonomies["Quads"], "h" => $h]; } elseif (isFullHouse($h)) { $h = groupBySet($h); $h = array_slice($h, 0, 5); $handResult = ["t" => $taxonomies["Full House"], "h" => $h]; } elseif (isFlush($h)) { $h = getLargestSuite($h); $h = array_slice($h, 0, 5); $handResult = ["t" => $taxonomies["Flush"], "h" => $h]; } elseif (isStraight($h)) { $handResult = ["t" => $taxonomies["Straight"], "h" => $h]; } elseif (isTrips($h)) { $h = groupBySet($h); $h = array_slice($h, 0, 5); $handResult = ["t" => $taxonomies["Trips"], "h" => $h]; } elseif (isTwoPair($h)) { $h = groupBySet($h); $h = array_slice($h, 0, 5); $handResult = ["t" => $taxonomies["Two Pair"], "h" => $h]; } elseif (isPair($h)) { $h = groupBySet($h); $h = array_slice($h, 0, 5); $handResult = ["t" => $taxonomies["Pair"], "h" => $h]; } else { $handResult = ["t" => $taxonomies["High Card"], "h" => $h]; } return $handResult; } function DetermineWinnerByTie($hand1, $hand2) { // hand score is equal to sum of value plus taxonomy $s1 = $s2 = 0; foreach($hand1 as $x) { $s1 += $x['value']; } foreach($hand2 as $x) { $s2 += $x['value']; } return $s1 <=> $s2; } function DetermineWinner($hand1, $hand2) { // hand score is equal to sum of sort order plus taxonomy if (reset($hand1['t']) == reset($hand2['t'])) { $result = DetermineWinnerByTie($hand1['h'], $hand2['h']); } else { $result = reset($hand1['t']) <=> reset($hand2['t']); } return $result; } $cards = [ "AS" => ["sort" => 14, "suite" => "S", "value" => 11], "AC" => ["sort" => 14, "suite" => "C", "value" => 11], "AD" => ["sort" => 14, "suite" => "D", "value" => 11], "AH" => ["sort" => 14, "suite" => "H", "value" => 11], "KS" => ["sort" => 13, "suite" => "S", "value" => 10], "KC" => ["sort" => 13, "suite" => "C", "value" => 10], "KD" => ["sort" => 13, "suite" => "D", "value" => 10], "KH" => ["sort" => 13, "suite" => "H", "value" => 10], "QS" => ["sort" => 12, "suite" => "S", "value" => 10], "QC" => ["sort" => 12, "suite" => "C", "value" => 10], "QD" => ["sort" => 12, "suite" => "D", "value" => 10], "QH" => ["sort" => 12, "suite" => "H", "value" => 10], "JS" => ["sort" => 11, "suite" => "S", "value" => 10], "JC" => ["sort" => 11, "suite" => "C", "value" => 10], "JD" => ["sort" => 11, "suite" => "D", "value" => 10], "JH" => ["sort" => 11, "suite" => "H", "value" => 10], "10S" => ["sort" => 10, "suite" => "S", "value" => 10], "10C" => ["sort" => 10, "suite" => "C", "value" => 10], "10D" => ["sort" => 10, "suite" => "D", "value" => 10], "10H" => ["sort" => 10, "suite" => "H", "value" => 10], "9S" => ["sort" => 9, "suite" => "S", "value" => 9], "9C" => ["sort" => 9, "suite" => "C", "value" => 9], "9D" => ["sort" => 9, "suite" => "D", "value" => 9], "9H" => ["sort" => 9, "suite" => "H", "value" => 9], "8S" => ["sort" => 8, "suite" => "S", "value" => 8], "8C" => ["sort" => 8, "suite" => "C", "value" => 8], "8D" => ["sort" => 8, "suite" => "D", "value" => 8], "8H" => ["sort" => 8, "suite" => "H", "value" => 8], "7S" => ["sort" => 7, "suite" => "S", "value" => 7], "7C" => ["sort" => 7, "suite" => "C", "value" => 7], "7D" => ["sort" => 7, "suite" => "D", "value" => 7], "7H" => ["sort" => 7, "suite" => "H", "value" => 7], "6S" => ["sort" => 6, "suite" => "S", "value" => 6], "6C" => ["sort" => 6, "suite" => "C", "value" => 6], "6D" => ["sort" => 6, "suite" => "D", "value" => 6], "6H" => ["sort" => 6, "suite" => "H", "value" => 6], "5S" => ["sort" => 5, "suite" => "S", "value" => 5], "5C" => ["sort" => 5, "suite" => "C", "value" => 5], "5D" => ["sort" => 5, "suite" => "D", "value" => 5], "5H" => ["sort" => 5, "suite" => "H", "value" => 5], "4S" => ["sort" => 4, "suite" => "S", "value" => 4], "4C" => ["sort" => 4, "suite" => "C", "value" => 4], "4D" => ["sort" => 4, "suite" => "D", "value" => 4], "4H" => ["sort" => 4, "suite" => "H", "value" => 4], "3S" => ["sort" => 3, "suite" => "S", "value" => 3], "3C" => ["sort" => 3, "suite" => "C", "value" => 3], "3D" => ["sort" => 3, "suite" => "D", "value" => 3], "3H" => ["sort" => 3, "suite" => "H", "value" => 3], "2S" => ["sort" => 2, "suite" => "S", "value" => 2], "2C" => ["sort" => 2, "suite" => "C", "value" => 2], "2D" => ["sort" => 2, "suite" => "D", "value" => 2], "2H" => ["sort" => 2, "suite" => "H", "value" => 2], ]; $board = $player1 = $player2 = []; shuffleCards($cards); [$cards, $player1] = dealCards($cards, 2); [$cards, $player2] = dealCards($cards, 2); [$cards, $board] = dealCards($cards, 5); $board1 = combineHands($board, $player1); $board2 = combineHands($board, $player2); $board1 = sortCardsBySortOrder($board1); $b1 = array_slice($board1, 0, 5); $board2 = sortCardsBySortOrder($board2); $b2 = array_slice($board2, 0, 5); echo "Board: ", getCardsAsString($board), "\n"; echo "Player 1: ", getCardsAsString($player1), "\n"; echo "Player 2: ", getCardsAsString($player2), "\n\n"; $hand1 = DetermineHand($player1, $board); $hand2 = DetermineHand($player2, $board); echo "Player 1 has: ", key($hand1['t']), " - ", getCardsAsString($hand1['h']), "\n"; echo "Player 2 has: ", key($hand2['t']), " - ", getCardsAsString($hand2['h']), "\n"; if (($win = DetermineWinner($hand1, $hand2)) == -1) { echo "Player 2 wins!\n"; } elseif ($win == 1) { echo "Player 1 wins!\n"; } else { echo "It's a tie!\n"; }
Output for 7.4.4
Board: 9S,10H,2H,3S,7C Player 1: 4C,AD Player 2: 5S,8H Player 1 has: High Card - AD,10H,9S,7C,4C,3S,2H Player 2 has: High Card - 10H,9S,8H,7C,5S,3S,2H Player 1 wins!
Output for 7.4.3
Board: KS,3S,6C,KC,9S Player 1: 5D,2D Player 2: AD,9C Player 1 has: Pair - KC,KS,9S,6C,5D Player 2 has: Two Pair - 9C,9S,KC,KS,AD Player 2 wins!
Output for 7.4.2
Board: 9C,8S,6H,8H,5H Player 1: 8D,4C Player 2: 4S,AC Player 1 has: Trips - 8D,8H,8S,9C,6H Player 2 has: Pair - 8H,8S,AC,9C,6H Player 1 wins!
Output for 7.4.1
Board: QC,5S,7H,7D,7C Player 1: 9D,6C Player 2: 6S,5H Player 1 has: Trips - 7C,7D,7H,QC,9D Player 2 has: Full House - 7C,7D,7H,5H,5S Player 2 wins!
Output for 7.4.0
Board: 9D,3D,QD,9S,KC Player 1: AH,10S Player 2: 3C,6C Player 1 has: Pair - 9D,9S,AH,KC,QD Player 2 has: Two Pair - 9D,9S,3C,3D,KC Player 2 wins!
Output for 7.3.16
Board: 5H,JC,10D,AC,6D Player 1: 2H,4C Player 2: QH,5S Player 1 has: High Card - AC,JC,10D,6D,5H,4C,2H Player 2 has: Pair - 5H,5S,AC,QH,JC Player 2 wins!
Output for 7.3.15
Board: 7S,6S,8H,AH,AD Player 1: 10S,4H Player 2: AC,8C Player 1 has: Pair - AD,AH,10S,8H,7S Player 2 has: Full House - AC,AD,AH,8C,8H Player 2 wins!
Output for 7.3.14
Board: QS,8C,KH,8H,9H Player 1: 2D,QC Player 2: 3H,4D Player 1 has: Two Pair - QC,QS,8C,8H,KH Player 2 has: Pair - 8C,8H,KH,QS,9H Player 1 wins!
Output for 7.3.13
Board: QC,AC,QS,10D,3S Player 1: 8S,9C Player 2: 6H,10H Player 1 has: Pair - QC,QS,AC,10D,9C Player 2 has: Two Pair - 10D,10H,QC,QS,AC Player 2 wins!
Output for 7.3.12
Board: 8D,7D,3C,QS,8H Player 1: 3S,9D Player 2: 10D,6C Player 1 has: Two Pair - 8D,8H,3C,3S,QS Player 2 has: Pair - 8D,8H,QS,10D,7D Player 1 wins!
Output for 7.3.11
Board: 2C,3H,9C,QC,2H Player 1: KS,KH Player 2: 5H,AS Player 1 has: Two Pair - KH,KS,2C,2H,QC Player 2 has: Pair - 2C,2H,AS,QC,9C Player 1 wins!
Output for 7.3.10
Board: 3D,JD,KD,JH,6D Player 1: 8S,JC Player 2: 6S,AC Player 1 has: Trips - JC,JD,JH,KD,8S Player 2 has: Two Pair - JD,JH,6D,6S,AC Player 1 wins!
Output for 7.3.9
Board: 6H,7D,7S,2H,10C Player 1: 5D,3S Player 2: 4S,AH Player 1 has: Pair - 7D,7S,10C,6H,5D Player 2 has: Pair - 7D,7S,AH,10C,6H Player 2 wins!
Output for 7.3.8
Board: 10C,4H,7H,5D,9D Player 1: 2S,6D Player 2: AS,QS Player 1 has: High Card - 10C,9D,7H,6D,5D,4H,2S Player 2 has: High Card - AS,QS,10C,9D,7H,5D,4H Player 2 wins!
Output for 7.3.7
Board: 9S,5D,QD,4H,AS Player 1: 6H,8D Player 2: JH,9C Player 1 has: High Card - AS,QD,9S,8D,6H,5D,4H Player 2 has: Pair - 9C,9S,AS,QD,JH Player 2 wins!
Output for 7.3.6
Board: 5C,8H,4D,2D,7D Player 1: 9H,4H Player 2: 7S,8S Player 1 has: Pair - 4D,4H,9H,8H,7D Player 2 has: Two Pair - 8H,8S,7D,7S,5C Player 2 wins!
Output for 7.3.5
Board: JD,5H,9D,AH,8H Player 1: 6S,2S Player 2: 5C,AD Player 1 has: High Card - AH,JD,9D,8H,6S,5H,2S Player 2 has: Two Pair - AD,AH,5C,5H,JD Player 2 wins!
Output for 7.3.4
Board: AS,6H,4C,8S,9D Player 1: 3C,9S Player 2: KS,2S Player 1 has: Pair - 9D,9S,AS,8S,6H Player 2 has: High Card - AS,KS,9D,8S,6H,4C,2S Player 1 wins!
Output for 7.3.3
Board: 10H,JC,7H,3C,KC Player 1: 2D,10S Player 2: QH,QC Player 1 has: Pair - 10H,10S,KC,JC,7H Player 2 has: Pair - QC,QH,KC,JC,10H Player 2 wins!
Output for 7.3.2
Board: 2S,8S,7S,6S,10C Player 1: 3D,JS Player 2: 3C,3H Player 1 has: Flush - JS,8S,7S,6S,2S Player 2 has: Pair - 3C,3H,10C,8S,7S Player 1 wins!
Output for 7.3.1
Board: 10S,KH,JS,4D,5C Player 1: JD,KS Player 2: 10C,3S Player 1 has: Two Pair - KH,KS,JD,JS,10S Player 2 has: Pair - 10C,10S,KH,JS,5C Player 1 wins!
Output for 7.3.0
Board: 4H,JC,6H,10S,8S Player 1: AD,AH Player 2: AC,9H Player 1 has: Pair - AD,AH,JC,10S,8S Player 2 has: High Card - AC,JC,10S,9H,8S,6H,4H Player 1 wins!
Output for 7.2.29
Board: JD,3C,AS,2S,KC Player 1: 5D,4S Player 2: 7D,7H Player 1 has: Straight - AS,2S,3C,4S,5D,JD,KC Player 2 has: Pair - 7D,7H,AS,KC,JD Player 1 wins!
Output for 7.2.28
Board: 2D,KH,7C,6D,4D Player 1: 5S,4S Player 2: 10H,AD Player 1 has: Pair - 4D,4S,KH,7C,6D Player 2 has: High Card - AD,KH,10H,7C,6D,4D,2D Player 1 wins!
Output for 7.2.27
Board: 9C,5C,QD,QH,JC Player 1: 6D,6H Player 2: KC,AC Player 1 has: Two Pair - QD,QH,6D,6H,JC Player 2 has: Flush - AC,KC,JC,9C,5C Player 2 wins!
Output for 7.2.26
Board: QS,KD,7S,3C,AH Player 1: 5D,6D Player 2: QC,3S Player 1 has: High Card - AH,KD,QS,7S,6D,5D,3C Player 2 has: Two Pair - QC,QS,3C,3S,AH Player 2 wins!
Output for 7.2.25
Board: AS,QH,4S,5D,10C Player 1: 5H,JS Player 2: 9S,2H Player 1 has: Pair - 5D,5H,AS,QH,JS Player 2 has: High Card - AS,QH,10C,9S,5D,4S,2H Player 1 wins!
Output for 7.2.24
Board: 4S,2S,QH,9S,AS Player 1: 7H,6S Player 2: 5C,8S Player 1 has: Flush - AS,9S,6S,4S,2S Player 2 has: Flush - AS,9S,8S,4S,2S Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 403 Notice: Undefined index: value in /in/WhiSn on line 403 Notice: Undefined index: value in /in/WhiSn on line 403 Notice: Undefined index: value in /in/WhiSn on line 403 Notice: Undefined index: value in /in/WhiSn on line 403 It's a tie!
Output for 7.2.23
Board: KD,10H,7D,JS,7S Player 1: 2D,3D Player 2: JD,6S Player 1 has: Pair - 7D,7S,KD,JS,10H Player 2 has: Two Pair - JD,JS,7D,7S,KD Player 2 wins!
Output for 7.2.22
Board: KC,9C,7D,5C,6S Player 1: 2D,7H Player 2: JS,10H Player 1 has: Pair - 7D,7H,KC,9C,6S Player 2 has: High Card - KC,JS,10H,9C,7D,6S,5C Player 1 wins!
Output for 7.2.21
Board: 6C,8C,9S,JC,5D Player 1: 2H,10S Player 2: AS,7D Player 1 has: High Card - JC,10S,9S,8C,6C,5D,2H Player 2 has: High Card - AS,JC,9S,8C,7D,6C,5D Player 2 wins!
Output for 7.2.20
Board: JC,5S,5C,7D,2C Player 1: 10C,KC Player 2: 9D,6D Player 1 has: Flush - KC,JC,10C,5C,2C Player 2 has: Pair - 5C,5S,JC,9D,7D Player 1 wins!
Output for 7.2.19
Board: AH,2C,AC,8C,JC Player 1: KS,AS Player 2: 5D,8S Player 1 has: Trips - AC,AH,AS,KS,JC Player 2 has: Two Pair - AC,AH,8C,8S,JC Player 1 wins!
Output for 7.2.18
Board: 8S,AH,5D,7C,9C Player 1: 10S,5C Player 2: 6D,5H Player 1 has: Pair - 5C,5D,AH,10S,9C Player 2 has: Pair - 5D,5H,AH,9C,8S Player 1 wins!
Output for 7.2.17
Board: 6C,4D,2H,5D,8D Player 1: 10H,JD Player 2: 6H,3H Player 1 has: High Card - JD,10H,8D,6C,5D,4D,2H Player 2 has: Pair - 6C,6H,8D,5D,4D Player 2 wins!
Output for 7.2.16
Board: 6C,5D,AH,6S,QS Player 1: 8D,8C Player 2: 4D,QH Player 1 has: Two Pair - 8C,8D,6C,6S,AH Player 2 has: Two Pair - 6C,6S,QH,QS,AH Player 2 wins!
Output for 7.2.15
Board: 4C,QH,8H,3C,7S Player 1: 8D,5D Player 2: 3S,5H Player 1 has: Pair - 8D,8H,QH,7S,5D Player 2 has: Pair - 3C,3S,QH,8H,7S Player 1 wins!
Output for 7.2.14
Board: JS,5C,AS,JC,5H Player 1: 9D,2H Player 2: 8S,JH Player 1 has: Two Pair - JC,JS,5C,5H,AS Player 2 has: Full House - JC,JH,JS,5C,5H Player 2 wins!
Output for 7.2.13
Board: 3C,10D,AS,7S,JH Player 1: 10C,KD Player 2: 9D,7H Player 1 has: Pair - 10C,10D,AS,KD,JH Player 2 has: Pair - 7H,7S,AS,JH,10D Player 1 wins!
Output for 7.2.12
Board: 5C,QC,KH,4S,QH Player 1: 8S,2C Player 2: 5H,5S Player 1 has: Pair - QC,QH,KH,8S,5C Player 2 has: Full House - 5C,5H,5S,QC,QH Player 2 wins!
Output for 7.2.11
Board: KC,8S,2C,AS,8C Player 1: 5C,4S Player 2: 2S,4H Player 1 has: Pair - 8C,8S,AS,KC,5C Player 2 has: Two Pair - 8C,8S,2C,2S,AS Player 2 wins!
Output for 7.2.10
Board: 7C,9C,5D,7D,2S Player 1: AC,6D Player 2: 10S,4S Player 1 has: Pair - 7C,7D,AC,9C,6D Player 2 has: Pair - 7C,7D,10S,9C,5D Player 1 wins!
Output for 7.2.9
Board: 8C,QD,KH,6C,6H Player 1: KS,JS Player 2: 10S,7D Player 1 has: Two Pair - KH,KS,6C,6H,QD Player 2 has: Pair - 6C,6H,KH,QD,10S Player 1 wins!
Output for 7.2.8
Board: 9H,KC,QS,5C,6S Player 1: 8S,QD Player 2: 2D,4D Player 1 has: Pair - QD,QS,KC,9H,8S Player 2 has: High Card - KC,QS,9H,6S,5C,4D,2D Player 1 wins!
Output for 7.2.7
Board: AH,4D,6D,9D,10D Player 1: 6C,JD Player 2: 3D,3H Player 1 has: Flush - JD,10D,9D,6D,4D Player 2 has: Flush - 10D,9D,6D,4D,3D Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 400 Notice: Undefined index: value in /in/WhiSn on line 403 Notice: Undefined index: value in /in/WhiSn on line 403 Notice: Undefined index: value in /in/WhiSn on line 403 Notice: Undefined index: value in /in/WhiSn on line 403 Notice: Undefined index: value in /in/WhiSn on line 403 It's a tie!
Output for 7.2.6
Board: AS,2S,AC,AD,7C Player 1: QC,2D Player 2: 8D,KS Player 1 has: Full House - AC,AD,AS,2D,2S Player 2 has: Trips - AC,AD,AS,KS,8D Player 1 wins!
Output for 7.2.5
Board: 6H,5H,2D,9S,2H Player 1: AS,10S Player 2: 5D,QS Player 1 has: Pair - 2D,2H,AS,10S,9S Player 2 has: Two Pair - 5D,5H,2D,2H,QS Player 2 wins!
Output for 7.2.4
Board: 10D,JS,2S,8C,8H Player 1: 8S,QD Player 2: 3H,9S Player 1 has: Trips - 8C,8H,8S,QD,JS Player 2 has: Pair - 8C,8H,JS,10D,9S Player 1 wins!
Output for 7.2.3
Board: QS,3S,5S,QD,QC Player 1: 7H,AC Player 2: 6C,4H Player 1 has: Trips - QC,QD,QS,AC,7H Player 2 has: Trips - QC,QD,QS,6C,5S Player 1 wins!
Output for 7.2.2
Board: 2D,JS,10H,KH,JC Player 1: KD,4D Player 2: AC,8S Player 1 has: Two Pair - KD,KH,JC,JS,10H Player 2 has: Pair - JC,JS,AC,KH,10H Player 1 wins!
Output for 7.2.1
Board: 8S,KH,7C,AS,9H Player 1: 4D,4H Player 2: 2D,5D Player 1 has: Pair - 4D,4H,AS,KH,9H Player 2 has: High Card - AS,KH,9H,8S,7C,5D,2D Player 1 wins!
Output for 7.2.0
Board: 7H,JC,3H,4D,8C Player 1: AH,3D Player 2: 6H,QS Player 1 has: Pair - 3D,3H,AH,JC,8C Player 2 has: High Card - QS,JC,8C,7H,6H,4D,3H Player 1 wins!

preferences:
74.05 ms | 401 KiB | 57 Q