removed unnecessary 'Card' fields

This commit is contained in:
mux 2024-08-15 23:07:53 +02:00
parent b8067b95f0
commit d4045deef2

View File

@ -63,7 +63,6 @@ pub struct PlayerConnection<'a>{
pub struct Card { pub struct Card {
value: CardValue, value: CardValue,
color: CardColors, color: CardColors,
color_change : CardColors,
} }
pub struct GameState<'a>{ pub struct GameState<'a>{
@ -111,7 +110,7 @@ impl PartialEq for Card{
impl Clone for Card { impl Clone for Card {
fn clone(&self) -> Self { fn clone(&self) -> Self {
Self {value: self.value.clone(), color: self.color.clone(), color_change: self.color_change.clone() } Self {value: self.value.clone(), color: self.color.clone()}
} }
} }
@ -271,7 +270,7 @@ impl GameState<'_>{
} }
if [CardValue::CHANGE_COLOR, CardValue::PLUS_FOUR].contains(&card_to_be_played.value) { if [CardValue::CHANGE_COLOR, CardValue::PLUS_FOUR].contains(&card_to_be_played.value) {
self.current_color = card_to_be_played.color_change; self.current_color = card_to_be_played.color;
} else if [CardValue::EIGHT, CardValue::FIVE, CardValue::FOUR, CardValue::NINE, CardValue::ONE, CardValue::SEVEN, CardValue::SIX, CardValue::THREE, CardValue::TWO, CardValue::ZERO, CardValue::PLUS_TWO, CardValue::SKIP, CardValue::REVERSE, CardValue::PLUS_TWO].contains(&card_to_be_played.value) { } else if [CardValue::EIGHT, CardValue::FIVE, CardValue::FOUR, CardValue::NINE, CardValue::ONE, CardValue::SEVEN, CardValue::SIX, CardValue::THREE, CardValue::TWO, CardValue::ZERO, CardValue::PLUS_TWO, CardValue::SKIP, CardValue::REVERSE, CardValue::PLUS_TWO].contains(&card_to_be_played.value) {
if card_to_be_played.color != self.current_color{ if card_to_be_played.color != self.current_color{
self.current_color = card_to_be_played.color; self.current_color = card_to_be_played.color;
@ -292,7 +291,7 @@ impl GameState<'_>{
current_turn : 0, current_turn : 0,
deck : GameState::base_deck(), deck : GameState::base_deck(),
trash : vec![], trash : vec![],
current_card : Card{ value : CardValue::ZERO, color : CardColors::RED, color_change: CardColors::BLACK,}, current_card : Card{ value : CardValue::ZERO, color : CardColors::RED},
player_states : player_states.clone(), player_states : player_states.clone(),
player_connections : player_connections, player_connections : player_connections,
current_color : CardColors::RED, current_color : CardColors::RED,
@ -329,14 +328,14 @@ impl GameState<'_>{
for color in [CardColors::BLACK, CardColors::BLUE, CardColors::GREEN, CardColors::RED, CardColors::YELLOW]{ for color in [CardColors::BLACK, CardColors::BLUE, CardColors::GREEN, CardColors::RED, CardColors::YELLOW]{
for value in [CardValue::CHANGE_COLOR, CardValue::EIGHT, CardValue::FIVE, CardValue::FOUR, CardValue::NINE, CardValue::ONE, CardValue::PLUS_FOUR, CardValue::PLUS_TWO, CardValue::REVERSE, CardValue::SEVEN, CardValue::SIX, CardValue::SKIP, CardValue::THREE, CardValue::TWO, CardValue::ZERO]{ for value in [CardValue::CHANGE_COLOR, CardValue::EIGHT, CardValue::FIVE, CardValue::FOUR, CardValue::NINE, CardValue::ONE, CardValue::PLUS_FOUR, CardValue::PLUS_TWO, CardValue::REVERSE, CardValue::SEVEN, CardValue::SIX, CardValue::SKIP, CardValue::THREE, CardValue::TWO, CardValue::ZERO]{
if ![CardValue::CHANGE_COLOR, CardValue::PLUS_FOUR].contains(&value) { if ![CardValue::CHANGE_COLOR, CardValue::PLUS_FOUR].contains(&value) {
for _ in 0..1 {deck.push(Card{value : value.clone(), color : color.clone(), color_change : CardColors::BLACK})}; for _ in 0..1 {deck.push(Card{value : value.clone(), color : color.clone()})};
} }
else if value == CardValue::ZERO else if value == CardValue::ZERO
{ {
deck.push(Card{value : value, color : color.clone(), color_change : CardColors::BLACK}); deck.push(Card{value : value, color : color.clone()});
} }
else { else {
for _ in 0..4 {deck.push(Card {value : value.clone(), color : color.clone(), color_change : CardColors::BLACK})}; for _ in 0..4 {deck.push(Card {value : value.clone(), color : color.clone()})};
} }
} }