diff options
Diffstat (limited to 'server/server_data_processing.c')
-rw-r--r-- | server/server_data_processing.c | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/server/server_data_processing.c b/server/server_data_processing.c index df95b7f..99ac579 100644 --- a/server/server_data_processing.c +++ b/server/server_data_processing.c @@ -177,6 +177,12 @@ int print_game_part(const struct session *client, /* let the client print card tips and wait for input */ case attack: case defense: + /* other clents will be waiting particular player */ + case attack_expectation: + free_pos += sprintf(output_buffer + free_pos, "%u:", + gi->position_whose_turn); + *(output_buffer + free_pos-1) = '\n'; + break; /* * who haven't got tossing card (including defender) must wait * when other players make moves @@ -186,12 +192,6 @@ int print_game_part(const struct session *client, /* instead of last ':' */ *(output_buffer + free_pos-1) = '\n'; break; - /* other clents will be waiting particular player */ - case attack_expectation: - free_pos += sprintf(output_buffer + free_pos, "%u:", - gi->position_whose_turn); - *(output_buffer + free_pos-1) = '\n'; - break; case defense_expectation: case spectator: /* copying whose turn */ @@ -219,18 +219,6 @@ int print_game_part(const struct session *client, } return write_to_client(client->fd, free_pos); } -#if 0 -static int is_receiving_cards_limit(int total_defense_cards, int total_attack_cards) -{ - if(total_defense_cards >= start_deck_size && - total_attack_cards == start_deck_size) { - return 1; - } else if(total_defense_cards == total_attack_cards) - return 1; - return 0; -} -#endif - /* * example: 7v\2#\A^\'\n' @@ -313,9 +301,10 @@ int get_card_from_defender(struct session *client, struct cards_on_table *cot, /* * 0 - buffer overflow or client closed connection - * 1 - some number of cards added to card queue + * 1 - some number of cards added to card queue (answer_got) * 2 - card toss limit was reached when accepting cards from this player - * 3 - player refused to toss the card + * (anwer_got_with_limit) + * 3 - player refused to toss the card (cancel) * * example: 10#\A^\7v\'\n' * or: '\n' @@ -341,7 +330,7 @@ int get_cards_from_tossing_player(struct session *client, /* cancellation */ if(client->buffer[0] == '\n') - return 3; + return cancel; for(i = 0, j = 0; i < read_result; ++i) { if(client->buffer[i] == '\\') { @@ -351,7 +340,7 @@ int get_cards_from_tossing_player(struct session *client, data_length = sprintf(output_buffer, "%d\n", tossing_limit_status); write_to_client(client->fd, data_length); - return 3; + return cancel; } given_card[j] = '\0'; j = 0; @@ -371,14 +360,13 @@ int get_cards_from_tossing_player(struct session *client, ++j; } - /* 7 -- state for result of received cards */ data_length = sprintf(output_buffer, "%d:%s\n", card_acceptance_status, all_cards_received_status ? "all" : "not all"); write_to_client(client->fd, data_length); if(all_cards_received_status) - return 1; + return answer_got; else - return 2; + return anwer_got_with_limit; } void print_game_result(const struct session *client, int durak_position) |