diff options
author | scratko <m@scratko.xyz> | 2024-08-17 02:42:19 +0300 |
---|---|---|
committer | scratko <m@scratko.xyz> | 2024-08-17 02:42:19 +0300 |
commit | 4b2fdc91d42a438193d15840e10851c3847fbe80 (patch) | |
tree | 08c3de6e851ee07463beae6d0a2fbd9e74202662 /client/card_stack.c | |
parent | eb90648bdad1443c9cfc72e903a93642e10a0ab7 (diff) | |
download | durak-4b2fdc91d42a438193d15840e10851c3847fbe80.tar.gz durak-4b2fdc91d42a438193d15840e10851c3847fbe80.tar.bz2 durak-4b2fdc91d42a438193d15840e10851c3847fbe80.zip |
Global fixes v3.0
Fixed bug when entering cards incorrectly.
Added recognition of disconnection from the server.
Added welcome screen and update screen.
Diffstat (limited to 'client/card_stack.c')
-rw-r--r-- | client/card_stack.c | 24 |
1 files changed, 22 insertions, 2 deletions
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; +} |