Hearts ist ein trickreiches Kartenspiel für 4 Spieler. Jeder Stich wird von dem Spieler ausgeführt, der die höchste Karte der führenden Farbe gespielt hat. Am Ende jeder Hand erhalten die Spieler eine Strafpunktzahl, abhängig von den Strafkarten, die sie genommen haben. Die Aufgabe besteht darin, die Punktzahlen gemäß den Microsoft Hearts- Regeln zu ermitteln.
Eingang
Die Eingabe besteht aus 4 Listen (oder einer begrenzten Zeichenfolge, einem Array usw.) mit den Strafkarten, die von jedem der 4 Spieler gezogen wurden. Die Strafkarten sind
2♥, 3♥, 4♥, 5♥, 6♥, 7♥, 8♥, 9♥, 10♥, J♥, Q♥, K♥, A♥, Q♠
was wir als darstellen werden
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 0
beziehungsweise.
Ausgabe
Ausgabe sind die 4 Strafpunkte, die die 4 Spieler erhalten (Liste, Zeichenfolge, Array usw.). Die Wertung lautet wie folgt:
- Jedes Herz (
♥
dargestellt durch ganze Zahlen1
bis13
einschließlich) erhält 1 Punkt - Die Pik Dame (
Q♠
vertreten durch0
) erhält 13 Punkte - Ausnahme: Hat ein Spieler alle Strafkarten (als Mondschießen bezeichnet) genommen, erhält er 0 Punkte, während alle anderen Spieler 26 Punkte erhalten.
Testfälle
[2, 8, 7, 1], [3, 4], [], [9, 5, 6, 0, 10, 11, 12, 13] --> 4, 2, 0, 20
[0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [], [], [1] --> 25, 0, 0, 1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0], [], [], [] --> 0, 26, 26, 26
Kürzester Code in Bytes gewinnt.
_26&1b
. -2 Bytes.