Inspiriert von dieser Herausforderung und verwandt mit dieser .
Hintergrund
Badugi [bæduːɡiː] ist eine Low-Ball Draw-Poker-Variante.
Der Pokerstars World Cup of Online Poker $ 1K Event beginnt innerhalb von 3 Stunden und ich muss wissen, wie gut meine Hände sind!
Das Spiel verwendet ein Standardstapel von 52 Karten mit vier Farben und dreizehn Rängen. Die Anzüge sind ungeordnet und müssen gekennzeichnet sein cdhs
; Die Ränge - vom höchsten K
zum niedrigsten geordnet A
- sind KQJT98765432A
. Als solches kann das gesamte Deck wie folgt dargestellt werden (durch Leerzeichen getrennt):
Kc Kd Kh Ks Qc Qd Qh Qs Jc Jd Jh Js Tc Td Th Ts 9c 9d 9h 9s 8c 8d 8h 8s 7c 7d 7h 7s 6c 6d 6h 6s 5c 5d 5h 5s 4c 4d 4h 4s 3c 3d 3h 3s 2c 2d 2h 2s Ac Ad Ah As
Jeder Spieler erhält vier Karten aus dem Stapel, es gibt vier Wettrunden mit drei dazwischen liegenden Ziehungsrunden (ein Spieler hat immer vier Karten, er hat die Möglichkeit, 0-4 seiner Karten durch neue Karten des Dealers zu ersetzen der drei Ziehungsrunden).
Wenn nach all diesen Runden noch mehr als ein Spieler aktiv ist, gibt es einen Showdown, woraufhin die stärksten Hände die gesetzten Wetten gewinnen.
Das Spiel wird mit niedrigem Ball gespielt, so dass die niedrigste Hand gewinnt und wie oben erwähnt A
(Ass) niedrig ist. Darüber hinaus unterscheidet sich das Handranking von anderen Pokerformen und kann für Anfänger etwas verwirrend sein.
Die gespielte "Hand" ist die Kombination mit dem niedrigsten Rang, die aus der höchsten Anzahl von möglichen "Off-Suit" -Karten (alle unterschiedlichen Farben) und "Off-Rank" -Karten (alle unterschiedlichen Ränge) (aus den vier gehaltenen Karten) besteht ). Das heißt: Wenn man vier Karten mit unterschiedlichen Farben und Rängen besitzt, hat man eine 4-Karten-Hand ("Badugi" genannt). Wenn man keine 4-Karten-Hand hat, aber einen Satz oder Sätze von drei Karten mit unterschiedlichen Farben und Rängen hat, hat man eine 3-Karten-Hand (man wählt das Beste aus). Wenn man weder eine 4-Karten-Hand noch eine 3-Karten-Hand hat, hat man wahrscheinlich eine 2-Karten-Hand, aber wenn nicht, hat man eine 1-Karten-Hand.
Als solche ist die bestmögliche Hand die 4-Karten-Hand
4-3-2-A
- die Karten mit dem niedrigsten Rang von vier verschiedenen Farben , die oft als "Nummer 1" bezeichnet werden. Die schwächste mögliche Hand wäre die 1-Karten-HandK
und ist nur durch genaues Halten möglichKc Kd Kh Ks
.Beachten Sie, dass
4c 3h 2c As
ist nicht eine „Nummer-1“, da die4c
und2c
von der gleichen Farbe sind, aber es ist die stärkste der 3-Karten Hände,3-2-A
zieht er mit anderen3-2-1
s (wieKh 3d 2s Ah
) und übertrifft alle anderen 3-Karten Hände , aber verliert gegen alle 4-Karten-Hände (die so schwach sein können wieK-Q-J-T
).- Die andere mögliche 3-Karten-Hand, aus der man machen könnte,
4c 3h 2c As
ist4-3-A
, aber die ist schwächer (höher), also nicht gewählt.
- Die andere mögliche 3-Karten-Hand, aus der man machen könnte,
In ähnlicher Weise
8d 6h 3s 2h
wird eine 3-Karten-Hand gespielt als8-3-2
- es gibt zwei Off-Sight-Off-Suit-Kombinationen der Größe 3, die8-3-2
besser (niedriger) sind als8-6-3
die drei (oder "trey") niedriger als die sechs.
Das Vergleichen von Händen untereinander folgt der gleichen Logik: Jede 4-Karte schlägt jede 3-Karte, jede 3-Karte schlägt jede 2-Karte und jede 2-Karte schlägt jede 1-Karte, während Hände mit der gleichen Anzahl gebrauchter Karten sind Vergleich von ihrem höchsten Rang nach unten auf die niedrigsten (zum Beispiel: 8-4-2
Beats , 8-5-A
aber nicht alle 8-4-A
, 8-3-2
oder 7-6-5
)
Die Herausforderung:
Identifizieren Sie bei zwei ungeordneten Sammlungen mit jeweils vier Karten diejenige (n), die einen Badugi-Showdown gewinnen (identifizieren Sie beide, wenn es sich um ein Unentschieden handelt).
Die Eingabe kann alles Vernünftige sein:
- eine einzelne Zeichenfolge aller acht oben genannten Karten (mit oder ohne Leerzeichen), wobei die linken vier eine Hand und die rechte die andere sind (mit einem optionalen Trennzeichen); oder eine Liste von Zeichen auf die gleiche Weise
- eine Liste mit zwei Zeichenfolgen - eine pro Hand oder eine Liste mit Zeichenlisten auf dieselbe Weise
- zwei separate Zeichenfolgen oder Listeneingaben, eine pro Hand
- Die Karten in den Händen können auch schon getrennt sein (eine Liste von Listen von Listen ist also in Ordnung).
Beachten Sie jedoch:
- Die Karten dürfen vor der Eingabe nicht in beliebiger Reihenfolge angeordnet werden
- ... und die Farben und Ränge sind als die hier angegebenen Zeichenbezeichnungen festgelegt. - Wenn Ihre Sprache solche Konstrukte nicht unterstützt, schlagen Sie einfach etwas Vernünftiges vor und fragen Sie, ob es angesichts Ihrer sprachlichen Einschränkungen eine akzeptable Alternative ist.
Die Ausgabe sollte entweder sein
- das gleiche Format wie die Eingabe oder eine gedruckte Darstellung davon; oder
- sein , ein von drei unterschiedlichen und gleichbleibenden Ergebnissen (zB:
"left"
,"right"
,"both"
, oder1
,2
,3
, etc.)
Wirklich - solange klar ist, welcher der beiden Eingänge identifiziert wird, sollte es in Ordnung sein.
Testfälle
input -> output
(notes)
----------------------------------------------------------------------------
3c 2s 4d Ah - As 3h 2d 4h -> 3c 2s 4d Ah
(4-card 4-3-2-A beats 3-card 3-2-A)
3c 2s 4d Ah - As 2c 3d 4h -> 3c 2s 4d Ah - As 2c 3d 4h
(4-card 4-3-2-A draws with 4-card 4-3-2-A)
2d Ac 4h 3c - Kh Ad 9s 2c -> Kh Ad 9s 2c
(3-card 4-2-A loses to 4-card K-9-2-A)
Kc Tc Qc Jc - Ac Ad Ah As -> Ac Ad Ah As
(1-card T loses to 1-card A)
9c 9h Qc Qh - Qs Kh Jh Kd -> Qs Kh Jh Kd
(2-card Q-9 loses to 3-card K-Q-J)
2d 5h 7c 5s - 2h 3c 8d 6c -> 2d 5h 7c 5s
(3-card 7-5-2 beats 3-card 8-3-2)
3s 6c 2d Js - 6h Jd 3c 2s -> 6h Jd 3c 2s
(3-card 6-3-2 loses to 4-card J-6-3-2)
Ah 6d 4d Ac - 3h 2c 3s 2s -> 3h 2c 3s 2s
(2-card 4-A loses to 2-card 3-2)
2h 8h 6h 4h - 6d 2d 5d 8d -> 2h 8h 6h 4h - 6d 2d 5d 8d
(1-card 2 = 1-card 2)
Dies ist Code-Golf , also gewinnt der kürzeste Code in Bytes pro Sprache und der kürzeste Code insgesamt. Lassen Sie sich nicht von Golfsprachen davon abhalten, in anderen Sprachen einzureichen, und ... haben Sie Spaß!
O
nach vorne hinzufügen .
[['3c', '2s', '4d', 'Ah'], ['As', '3h', '2d', '4h']]
vernünftig?