Herausforderung
Bar Dice ist ein einfaches Spiel, das in einer Bar mit Würfeln gespielt wird (daher der Name). Sie werfen 5 sechsseitige Würfel und versuchen, die beste Hand zu machen.
Die Wertung basiert auf der Ansammlung der meisten Würfel mit den gleichen Ziffern. Jede Hand muss mindestens ein einzelnes "Ass" oder ein einzelnes "Ass" enthalten, um eine gültige Hand zu sein. Asse fungieren als "Joker" und können mit jeder anderen Ziffer gepaart werden. Die Stärke der Hand eines Spielers hängt zuerst von der Anzahl der Ziffern und dann vom Wert dieser Ziffern ab. Zum Beispiel ist eine Hand (Wilds zählen) mit vier 3er besser als eine Hand mit drei 5er, aber nicht besser als eine Hand mit fünf 2er.
Aus dem Wikipedia-Artikel entnommen
Dies bedeutet, dass die Hand mit dem höchsten Rang ausschließlich aus Sechsern und Einsen besteht, und die Hand mit dem niedrigsten Rang ist jede Hand ohne eine Eins.
Ihre Herausforderung besteht darin, zwei Hände zu nehmen und denjenigen Spieler zurückzugeben, der gewonnen hat oder der unentschieden gespielt hat.
Eingang
Zwei unsortierte Listen mit 5 Zahlen zwischen 1 und 6. Jede Liste repräsentiert die Hand eines Spielers. Das Eingabeformat ist flexibel.
Ausgabe
Drei unterschiedliche, aber konsistente statische Werte (Bereiche sind nicht zulässig), die angeben, ob Spieler 1 oder Spieler 2 gewonnen hat oder ob es ein Gleichstand war. Bitte geben Sie in Ihrer Antwort an, welche Werte Sie für was verwenden. Sie können beispielsweise zurückgeben, -1
wenn P1 gewinnt, 0
wenn es ein Unentschieden ist und 1
wenn P2 gewinnt.
Regeln
- Die Eingabe ist immer gültig
- Nur die bestmögliche Punktzahl jeder Hand wird verwendet, um einen Gewinner zu bestimmen. Es gibt keine Krawattenbrecher. ZB
[1,4,4,3,3]
wird binden,[1,4,4,2,2]
anstatt die 3er und 2er als Tie-Breaker zu verwenden. - Die Ausgabe muss jedes Mal einen der 3 gewählten Werte haben. Das einfache Zuordnen aller negativen Zahlen zu
P1 Wins
ist nicht zulässig und muss normalisiert werden. - Ungültige Hände, dh solche ohne Einsen, verlieren gegen alle gültigen Hände, binden jedoch mit allen anderen ungültigen Händen. ZB
[2,2,2,2,2]
Krawatten[3,3,3,3,3]
. - Eine Hand von
[1,1,1,1,1]
zählt als gültiger 6er-Satz für Ranglistenzwecke. - Das ist Code-Golf, also gewinnt die kürzeste Anzahl an Bytes.
Beispiele
#You guys are pretty good at finding edge-cases that break things. Good job!
Input: [2,1,5,6,6], [6,2,6,6,6]
Output: P1 Wins
Input: [2,4,5,6,6], [6,2,6,6,6]
Output: Tie
Input: [1,2,3,4,5], [5,4,3,2,1]
Output: Tie
Input: [1,5,5,3,2], [5,4,1,6,6]
Output: P2 Wins
Input: [3,2,2,2,1], [4,1,3,6,6]
Output: P1 Wins
Input: [1,1,1,1,1], [6,1,1,6,6]
Output: Tie
Input: [1,3,3,4,4], [1,2,2,5,5]
Output: P2 Wins
Input: [1,3,3,5,5], [1,3,3,2,2]
Output: P1 Wins
Input: [1,3,3,3,4], [1,1,3,3,3]
Output: P2 Wins
Input: [2,2,2,6,1], [5,3,3,1,2]
Output: P1 Wins
Input: [5,5,5,1,5], [1,1,1,1,1]
Output: P2 Wins
Input: [1,1,1,1,1], [1,1,5,1,1]
Output: P1 Wins
IṠ
mitM
und Ausgabe einer Liste der Gewinner (s).