use crate::card::Rank;
pub fn find_straight(ranks_desc_nodup: &Vec<Rank>) -> Option<Rank> {
let ranks_len = ranks_desc_nodup.len();
if ranks_len < 5 {
return None;
}
for i in 0..=(ranks_len - 5) {
if ranks_desc_nodup[i] as u8 == ranks_desc_nodup[i + 4] as u8 + 4 {
return Some(ranks_desc_nodup[i]);
}
}
if ranks_desc_nodup[0] == Rank::Ace
&& ranks_desc_nodup[ranks_len - 1] == Rank::Two
&& ranks_desc_nodup[ranks_len - 2] == Rank::Three
&& ranks_desc_nodup[ranks_len - 3] == Rank::Four
&& ranks_desc_nodup[ranks_len - 4] == Rank::Five
{
return Some(Rank::Five);
}
return None;
}