Dieses Problem von meiner FullHouse-Funktion = wahr, wenn es ein Drei-Eine-Art ist. Die Funktion prüft auf ein 3 von einer Art und ein Paar, aber es erfüllt die Logik mit nur einer Drei einer Art (D, Ace) (C, Ace) (S, Ace) (D, Ten) (D, 9) . Dies ist kein volles Haus, aber es erlaubt den gleichen 3 Assen, sowohl das Paar UND die 3 einer Art zu befriedigen.Poker Hand - Bestimmen eines vollen Hauses in F #
Wie schränke ich das ein, damit es die 3 einer Art nicht in ein Paar reduzieren kann?
Vielen Dank!
EDIT: F # Newbie
EDIT_2: Ein volles Haus ist, wenn aus der Hand von 5 Karten, die Sie ein 3 einer Art (3 den gleichen Wert haben (Anzug spielt keine Rolle, aber sie müssen sein 3x Asse oder 3x Zehner usw.)) und ein Paar (2x Zehner, 2x 8er usw. - Anzug spielt keine Rolle)
Eingang:
fullHouse [(D, K);(C, K);(S, K);(D, T);(D, V 9)];;
Erwartete Ausgabe: false, tatsächlicher Ausgang: Wahr
Eingang:
fullHouse [(D, K);(C, K);(S, K);(D, T);(C, T)];;
Erwartete Ausgabe: Stimmt, Tatsächliche Leistung: Echte
Angenommen, dass wir die Regeln des Poker nicht kennen. Was ist ein volles Haus? Bitte geben Sie auch einige Eingabewerte und ihre erwarteten Ausgaben an. –
BTW, leicht verwandt: http://codereview.stackexchange.com/a/143803/3878 –
Frage aktualisiert –