From 4b2fdc91d42a438193d15840e10851c3847fbe80 Mon Sep 17 00:00:00 2001 From: scratko Date: Sat, 17 Aug 2024 02:42:19 +0300 Subject: Global fixes v3.0 Fixed bug when entering cards incorrectly. Added recognition of disconnection from the server. Added welcome screen and update screen. --- client/card_stack.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'client/card_stack.c') diff --git a/client/card_stack.c b/client/card_stack.c index d9dc273..6f0a673 100644 --- a/client/card_stack.c +++ b/client/card_stack.c @@ -101,6 +101,15 @@ static void mark_all_card_stack(player_cards deck) } } +static void clear_is_usable_status(player_cards deck) +{ + while(deck) { + if(deck->is_usable) + deck->is_usable = 0; + deck = deck->next; + } +} + void mark_card_for_attackers_stack(player_cards deck) { char *card = NULL, *found_card; @@ -108,6 +117,7 @@ void mark_card_for_attackers_stack(player_cards deck) int target_rank, found_rank; player_cards tmp_begin_deck = deck; + clear_is_usable_status(deck); while(deck) { /* is the card already marked? */ if(deck->is_usable) { @@ -204,8 +214,8 @@ void mark_card_for_tossing_stack(player_cards deck, struct cards_on_table *cot) deck = deck->next; } } -/* rename: and_unmarked */ -char* card_search_by_letter(player_cards deck, int letter) + +char* card_search_by_marked_letter(player_cards deck, int letter) { while(deck) { if(deck->tip == letter && deck->is_usable) { @@ -216,3 +226,13 @@ char* card_search_by_letter(player_cards deck, int letter) } return NULL; } + +char* card_search_by_unmarked_letter(player_cards deck, int letter) +{ + while(deck) { + if(deck->tip == letter) + return deck->str; + deck = deck->next; + } + return NULL; +} -- cgit v1.2.3