back to scratko.xyz
aboutsummaryrefslogtreecommitdiff
path: root/server/server_data_processing.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/server_data_processing.c')
-rw-r--r--server/server_data_processing.c38
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)