Finish the player implementation for Assignment Six.

This commit is contained in:
Charles Descamps 2024-11-21 21:02:38 -07:00
parent 72c3d634b3
commit 6cb5c48af1
8 changed files with 34 additions and 35 deletions

View file

@ -262,16 +262,10 @@ impl Player
};
return hand;
}
fn add_cards(mut self, mut card_vec: Vec<Card>)
fn add_cards(&mut self, mut card_vec: Vec<Card>)
{
// loop until the card_vec is empty, add each card to the player hand.
loop
{
if card_vec.is_empty() != true
{
self.player_hand.push(card_vec.pop().unwrap());
}
}
// append the card vector to the player's hand.
self.player_hand.append(&mut card_vec);
}
fn has_rank(mut self, in_card_rank: Rank) -> Vec<Card>
{
@ -327,28 +321,6 @@ impl Player
}
if count >= 4
{
// let mut remove_counter = 0;
// //
// println!("Pre Loop: {}", self.player_hand.get(0).unwrap());
// println!("Pre Loop: {}", self.player_hand.get(1).unwrap());
// println!("Pre Loop: {}", self.player_hand.get(2).unwrap());
// println!("Pre Loop: {}", self.player_hand.get(3).unwrap());
// loop
// {
// if remove_counter > self.player_hand.len() - 1
// {
// //
// break;
// }
// println!("Loop: {}", self.player_hand.get(remove_counter).unwrap());
// if self.player_hand.get(remove_counter).unwrap().card_rank == number_to_rank(rank_check)
// {
// //
// self.player_hand.remove(remove_counter);
// }
// remove_counter = remove_counter + 1;
// // println!("After: {}", self.player_hand.get(remove_counter).unwrap());
// }
self.player_hand.retain(|card| card.card_rank != number_to_rank(rank_check));
return true;
}
@ -391,18 +363,45 @@ fn main()
println!("----------------------------");
// TEMP START
println!("Working game");
// let mut card_vec = vec![];
// card_vec.push(Card{card_rank: Rank::FIVE, card_suit: Suit::HEARTS});
// card_vec.push(Card{card_rank: Rank::THREE, card_suit: Suit::CLUBS});
// card_vec.push(Card{card_rank: Rank::FIVE, card_suit: Suit::DIAMONDS});
// card_vec.push(Card{card_rank: Rank::NINE, card_suit: Suit::HEARTS});
// card_vec.push(Card{card_rank: Rank::FIVE, card_suit: Suit::SPADES});
// card_vec.push(Card{card_rank: Rank::NINE, card_suit: Suit::CLUBS});
// card_vec.push(Card{card_rank: Rank::ACE, card_suit: Suit::HEARTS});
// card_vec.push(Card{card_rank: Rank::NINE, card_suit: Suit::DIAMONDS});
// card_vec.push(Card{card_rank: Rank::FIVE, card_suit: Suit::CLUBS});
// card_vec.push(Card{card_rank: Rank::NINE, card_suit: Suit::SPADES});
let mut current_player = Player::new();
current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::HEARTS});
current_player.player_hand.push(Card{card_rank: Rank::THREE, card_suit: Suit::CLUBS});
current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::DIAMONDS});
current_player.player_hand.push(Card{card_rank: Rank::ACE, card_suit: Suit::HEARTS});
current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::HEARTS});
current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::SPADES});
current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::CLUBS});
current_player.player_hand.push(Card{card_rank: Rank::ACE, card_suit: Suit::HEARTS});
current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::DIAMONDS});
current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::CLUBS});
current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::SPADES});
// current_player.add_cards(card_vec);
for card in &current_player.player_hand
{
//
println!("After deal: {}", card);
}
current_player.check_set();
for card in &current_player.player_hand
{
//
println!("{}", card);
println!("After set check: {}", card);
}
current_player.check_set();
for card in &current_player.player_hand
{
//
println!("After 2nd set check: {}", card);
}
// println!("{}{}", Rank::TWO, Suit::DIAMONDS);
// let tempCard = Card