diff options
author | scratko <m@scratko.xyz> | 2024-08-16 18:10:11 +0300 |
---|---|---|
committer | scratko <m@scratko.xyz> | 2024-08-16 18:10:11 +0300 |
commit | eb90648bdad1443c9cfc72e903a93642e10a0ab7 (patch) | |
tree | dc567a9aa834bb0d5f3429e8a38910990d75e4eb /server/server_game_process.h | |
parent | 880b8be2c28d761505b2eecc1386919d5add6f2f (diff) | |
download | durak-eb90648bdad1443c9cfc72e903a93642e10a0ab7.tar.gz durak-eb90648bdad1443c9cfc72e903a93642e10a0ab7.tar.bz2 durak-eb90648bdad1443c9cfc72e903a93642e10a0ab7.zip |
Global fixes v2.0
Added spectator mode.
Added screen of game result.
Added definition of durak.
If not all players can replenish their decks, they take cards one at a time in
turn.
Diffstat (limited to 'server/server_game_process.h')
-rw-r--r-- | server/server_game_process.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/server/server_game_process.h b/server/server_game_process.h index 9338c25..f384fdc 100644 --- a/server/server_game_process.h +++ b/server/server_game_process.h @@ -23,16 +23,21 @@ const char** get_shuffled_deck(); void deal_first_cards(const char **shuffled_deck, int *cards_left, player_cards *deck); void deal_cards(const char **shuffled_deck, int *shuffled_cards_left, - struct session **turn_queue, int players_number, - int *card_quantity_arr); + struct session **turn_queue, int turn_queue_size, + int *number_arr); +void deal_one_card_in_turn(const char **shuffled_deck, int *shuffled_cards_left, + struct session **turn_queue, int turn_queue_size, + struct card_count cc); const char* extract_trump_card(const char **shuffled_deck, int *cards_left); #if 0 const char* find_trump_suit(const char **shuffled_deck, int *cards_left); #endif int find_lowest_trump(player_cards deck, const char *trump); -void shift_turn_queue_by_one(struct session **turn_queue, int size); -void move_turn_queue_two_players_ahead(struct session **turn_queue, int size); -void update_card_quantity_arr(struct server *serv); +void shift_turn_queue_by_one(struct session **turn_queue, int turn_queue_size); +void move_turn_queue_two_players_ahead(struct session **turn_queue, + int turn_queue_size); +void update_card_quantity_arr(struct session **turn_queue, + struct card_count cc); struct game_info* get_new_game_info(int players_number, int *card_quantity_arr, int shuffled_cards_left, @@ -71,10 +76,15 @@ void remove_cards_from_table(struct cards_on_table *cot); int calculate_defense_card_quantity_on_table(const struct cards_on_table *cot); int calculate_attack_card_quantity_on_table(const struct cards_on_table *cot); int check_all_answers_were_received(const struct session **turn_queue, - int size); + int turn_queue_size); int is_receiving_cards_limit(const struct cards_on_table *cot, player_cards defense_deck, const struct card_queue *cq); void clear_defense_lost_status(struct session *defender); +int check_everyone_can_replanish_deck(int shuffled_cards_left, + struct session **turn_queue, + int turn_queue_size, int *number_arr); +void find_out_who_dropped_all_cards(struct session **turn_queue, + int turn_queue_size, int *number_arr); #endif |