Impliment PartialOrd for TwoPair

This commit is contained in:
2024-03-23 13:20:48 -04:00
parent 7e2195c578
commit f707254b28

View File

@@ -72,7 +72,23 @@ impl PartialOrd for PokerHand {
self.cards.partial_cmp(&other.cards)
}
HandType::TwoPair => todo!(),
HandType::TwoPair => {
let selfpairs: Vec<(&CardValue, &u8)> =
selfmap.iter().filter(|&p| *p.1 == 2).collect();
let otherpairs: Vec<(&CardValue, &u8)> =
othermap.iter().filter(|&p| *p.1 == 2).collect();
for i in 0..1 {
let pairvalue = selfpairs[i].0;
let otherpairvalue = otherpairs[i].0;
if pairvalue != otherpairvalue {
return pairvalue.partial_cmp(otherpairvalue);
}
}
self.cards.partial_cmp(&other.cards)
}
HandType::ThreeOfAKind => todo!(),
HandType::Straight => todo!(),
HandType::Flush => todo!(),