back to scratko.xyz
aboutsummaryrefslogtreecommitdiff
path: root/card_stack.c
diff options
context:
space:
mode:
authorscratko <m@scratko.xyz>2024-08-10 02:46:56 +0300
committerscratko <m@scratko.xyz>2024-08-10 02:46:56 +0300
commita2d696dea797faaa3157046c8ae89cd70e965bff (patch)
tree74051e828ec401f399b2316a535c200f3afa95c5 /card_stack.c
parent9e9919b897b00ff23aee6581471b4d7b4567bf4a (diff)
downloaddurak-a2d696dea797faaa3157046c8ae89cd70e965bff.tar.gz
durak-a2d696dea797faaa3157046c8ae89cd70e965bff.tar.bz2
durak-a2d696dea797faaa3157046c8ae89cd70e965bff.zip
Prefinal version
Added client. Moved files to directories.
Diffstat (limited to 'card_stack.c')
-rw-r--r--card_stack.c79
1 files changed, 0 insertions, 79 deletions
diff --git a/card_stack.c b/card_stack.c
deleted file mode 100644
index aa8af71..0000000
--- a/card_stack.c
+++ /dev/null
@@ -1,79 +0,0 @@
-#include "card_stack.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-void init_stack(player_cards *deck)
-{
- *deck = NULL;
-}
-
-void push_stack(player_cards *deck, const char *str)
-{
- struct card_stack_item *new_card = malloc(sizeof(struct card_stack_item));
- new_card->str = str;
- new_card->next = *deck;
- if(new_card->next)
- new_card->next->prev = new_card;
- new_card->prev = NULL;
- *deck = new_card;
-}
-
-int is_empty_stack(const player_cards deck)
-{
- return !deck;
-}
-
-int find_out_card_quantity_in_deck(player_cards deck)
-{
- int counter = 0;
-
- while(deck) {
- ++counter;
- deck = deck->next;
- }
- return counter;
-}
-
-const char* remove_card_from_stack(player_cards *deck, const char *str)
-{
- struct card_stack_item *tmp = NULL;
- struct card_stack_item *first_tmp = *deck;
- const char *card = NULL;
-
- while(first_tmp) {
- if(!strcmp(first_tmp->str, str)) {
- tmp = first_tmp;
- if(first_tmp->prev)
- first_tmp->prev->next = first_tmp->next;
- else
- *deck = first_tmp->next;
- if(first_tmp->next)
- first_tmp->next->prev = first_tmp->prev;
- card = tmp->str;
- free(tmp);
- return card;
- }
- first_tmp = first_tmp->next;
- }
- return 0;
-}
-
-struct card_stack_item* get_next_card_from_stack(player_cards deck,
- player_cards prev)
-{
- if(prev == NULL)
- return deck;
- else
- return prev->next;
-}
-
-int find_card_in_stack(player_cards involved_cards, const char *str)
-{
- while(involved_cards) {
- if(!strcmp(involved_cards->str, str))
- return 1;
- involved_cards = involved_cards->next;
- }
- return 0;
-}