]> git.cworth.org Git - kub/blobdiff - kub.c
Put tiles back in player's hand(in_hand = 1) when turn is finished(press enter)
[kub] / kub.c
diff --git a/kub.c b/kub.c
index d60accfb675ac7c9c7466e05f2ed36a2e6419e21..d5bf5b6ce3e29c34345617e5d0e870fb8b24c173 100644 (file)
--- a/kub.c
+++ b/kub.c
@@ -546,6 +546,7 @@ static void hand_draw(game_t *game, int player, cairo_t *cr, GdkRegion *region,
 
 static void save_state(game_t *game)
 {
+    printf("State saved\n");
     game->state.board = game->board;
     game->state.deck = game->deck;
     int i;
@@ -648,6 +649,7 @@ static gboolean on_key_press_event (GtkWidget *widget, GdkEventKey *event, game_
            player->hand.tiles[player->hand.num_tiles] = top_tile;
            player->hand.tiles[player->hand.num_tiles].owned=1;
            player->hand.num_tiles++;
+           printf("Tile added to hand\n");
            gtk_widget_queue_draw(widget);
        }
     }
@@ -655,6 +657,10 @@ static gboolean on_key_press_event (GtkWidget *widget, GdkEventKey *event, game_
        save_state(game);
     else if (event->keyval == 65293)           //HIT ENTER
     {
+       player_t *player = &game->players[game->current_player];
+       int i;
+       for (i = 0; i < player->hand.num_tiles; i++)
+           player->hand.tiles[i].in_hand = 1;
        save_state(game);
        printf ("\tEnd of player %d's turn\n", game->current_player+1);
        if (game->current_player == game->num_players-1)
@@ -971,7 +977,9 @@ int main(int argc, char *argv[])
 
     game.state.board = game.board;
     game.state.deck = game.deck;
-    //game->state.players = game.players;
+    int i;
+    for (i=0; i < game.num_players; i++)
+       game.state.players[i] = game.players[i];
 
     //hand_print(&game, 0); //With Zero being passed, will print hand for player 1(players[0])
     //deck_print(&game.deck);