back to scratko.xyz
aboutsummaryrefslogtreecommitdiff
path: root/client/card_stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/card_stack.c')
-rw-r--r--client/card_stack.c24
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;
+}