diff --git a/assignmentFive/htmlConvert.cpp b/assignmentFive/htmlConvert.cpp
index d411626..e7d42e1 100644
--- a/assignmentFive/htmlConvert.cpp
+++ b/assignmentFive/htmlConvert.cpp
@@ -75,7 +75,6 @@ int main(int argc, char **argv)
{
if(currentChar == '<' || currentChar == '>')
{
- //
if(currentChar == '<')
{
outputFile << "<";
diff --git a/assignmentSix/src/main.rs b/assignmentSix/src/main.rs
index 31e94a6..d0d43f3 100644
--- a/assignmentSix/src/main.rs
+++ b/assignmentSix/src/main.rs
@@ -30,7 +30,6 @@ enum Rank
impl fmt::Display for Rank {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- // write!(f, "{}", self)
match self
{
Rank::None => write!(f, "{}", 'X'),
@@ -50,13 +49,7 @@ impl fmt::Display for Rank {
}
}
}
-// impl PartialEq for Rank
-// {
-// fn eq(&self, other: &Self) -> bool
-// {
-// return rank_to_number(*self) == rank_to_number(*other);
-// }
-// }
+
fn number_to_rank(num_rank: i32) -> Rank
{
match num_rank
@@ -179,20 +172,16 @@ impl Deck
let mut card_counter = 0;
loop
{
- //
if suit_counter == 4
{
- //
break;
}
else
{
loop
{
- //
if card_counter == 13
{
- //
break;
}
else
@@ -214,33 +203,26 @@ impl Deck
// shuffle deck of cards
full_deck.card_deck.shuffle(&mut thread_rng());
// return deck struct
- // deck
return full_deck;
}
fn shuffle(mut self) -> Deck
{
- //
self.card_deck.shuffle(&mut thread_rng());
return self;
}
fn draw(&mut self) -> Card
{
- // return Card{cardRank: Rank::TWO, cardSuit: Suit::CLUBS};
if !self.card_deck.is_empty()
{
- // let pull_card = self.card_deck.pop().unwrap();
- // println!("Num cards left: {}", self.card_deck.len());
return self.card_deck.pop().unwrap();
}
else
{
panic!("Card ran out somehow");
}
- // return pull_card;
}
fn is_empty(&self) -> bool
{
- //
return self.card_deck.is_empty();
}
}
@@ -261,10 +243,8 @@ struct Player
impl Player
{
- //
fn new() -> Player
{
- //
let mut hand = Player
{
player_hand: vec![]
@@ -285,15 +265,12 @@ impl Player
let mut card_out = vec![];
loop
{
- //
if self.player_hand.is_empty() || self.player_hand.len() - 1 < card_counter
{
- //
break;
}
if self.player_hand.get(card_counter).unwrap().card_rank == *in_card_rank
{
- //
let current_card = Card
{
card_rank: self.player_hand.get(card_counter).unwrap().card_rank.clone(),
@@ -317,10 +294,8 @@ impl Player
{
if rank_check > 13
{
- //
break;
}
- //
for card in &self.player_hand
{
if card.card_rank == number_to_rank(rank_check)
@@ -333,7 +308,6 @@ impl Player
self.player_hand.retain(|card| card.card_rank != number_to_rank(rank_check));
return true;
}
- // println!("{} count is: {}", rank_check, count);
rank_check = rank_check + 1;
count = 0;
}
@@ -389,7 +363,6 @@ impl Game
{
break;
}
- // full_game.human_player.add_cards(full_game.full_card_deck.draw());
human_cards_vec.push(full_game.full_card_deck.draw());
computer_cards_vec.push(full_game.full_card_deck.draw());
card_count = card_count + 1;
@@ -428,7 +401,6 @@ impl Game
// draw a card.
let mut new_card_vec = vec![];
new_card_vec.push(self.full_card_deck.draw());
- // self.human_player.player_hand.push(self.full_card_deck.draw());
self.human_player.add_cards(new_card_vec)
}
if self.human_player.check_set()
@@ -439,35 +411,18 @@ impl Game
fn computer_turn(&mut self)
{
print!("Computer's Turn... ");
- // unneeded
- // for card in &*self.computer_player.player_hand
- // {
- // print!("{} ", card);
- // }
println!("");
- // substitute picking a rank here
- // print!("Computer's turn. Enter a rank (2-10, A/1, J/11, Q/12, K/13): ");
- // let _=io::stdout().flush();
- // let mut rank_enter = String::new();
- // let mut rank_num: i32 = 0;
- // let mut rank_exit: Rank;
- // io::stdin().read_line(&mut rank_enter).expect("String wrong");
- // rank_num = rank_enter.trim().parse().unwrap();
- // rank_exit = number_to_rank(rank_num);
- // end substitute
let rank_pick = rand::thread_rng().gen_range(1..=13);
// check if the computer has the rank requested.
let mut temp_vec = self.human_player.has_rank(&number_to_rank(rank_pick));
if !temp_vec.is_empty()
{
- //
println!("Human has {}s.", number_to_rank(rank_pick));
// add the cards from the temp_vec.
self.computer_player.add_cards(temp_vec);
}
else
{
- //
println!("Human does not have {}s. Computer goes fish.", number_to_rank(rank_pick));
// draw a card.
let mut new_card_vec = vec![];
@@ -476,19 +431,15 @@ impl Game
}
if self.computer_player.check_set()
{
- //
self.computer_score = self.computer_score + 1;
}
}
fn play(&mut self)
{
- //
loop
{
- // CURRENTLY, cards run out somehow without ever actually checking?
if self.full_card_deck.card_deck.len() == 0
{
- //
println!("Game Over.");
self.print_scores();
self.winner();
@@ -500,26 +451,21 @@ impl Game
}
fn print_scores(&mut self)
{
- //
println!("Human Score: {}", self.human_score);
println!("Computer Score: {}", self.computer_score);
}
fn winner(&mut self)
{
- //
if self.human_score > self.computer_score
{
- //
println!("Human Wins with a score of: {}", self.human_score);
}
else if self.human_score < self.computer_score
{
- //
println!("Computer Wins with a score of: {}", self.computer_score);
}
else
{
- //
println!("It's a tie!");
}
}
@@ -529,76 +475,6 @@ fn main()
{
println!("Welcome to the Go Fish Game!");
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::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 ¤t_player.player_hand
- // {
- // //
- // println!("After deal: {}", card);
- // }
- // current_player.check_set();
- // for card in ¤t_player.player_hand
- // {
- // //
- // println!("After set check: {}", card);
- // }
- // current_player.check_set();
- // for card in ¤t_player.player_hand
- // {
- // //
- // println!("After 2nd set check: {}", card);
- // }
- // println!("{}{}", Rank::TWO, Suit::DIAMONDS);
- // let tempCard = Card
- // {
- // cardRank: Rank::ACE,
- // cardSuit: Suit::HEARTS
- // };
- // println!("{}", tempCard);
- // deck creation works.
- // let mut tempDeck = Deck::new();
- // let mut cardCount = 52;
- // loop
- // {
- // if cardCount == 0
- // {
- // break;
- // }
- // else
- // {
- // //
- // println!("{}", tempDeck.cardDeck.get(cardCount - 1).unwrap());
- // cardCount = cardCount - 1;
- // }
- // }
- // println!("Drawn Card: {}", tempDeck.draw()); // verified works.
- // tempDeck = tempDeck.shuffle(); // verified works
- // TEMP END
let mut game = Game::new();
game.play();
- // game.print_scores();
- // println!("The winner is: {}", game.winner());
}
diff --git a/battleship.rs b/battleship.rs
new file mode 100644
index 0000000..e69de29
diff --git a/examples/go_fish_final.cpp b/examples/go_fish_final.cpp
new file mode 100644
index 0000000..d4d84cc
--- /dev/null
+++ b/examples/go_fish_final.cpp
@@ -0,0 +1,254 @@
+#include
+#include
+#include
+#include
+#include