X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=kub.c;h=558a280828adf582630ef3fc6f40d531434056a2;hb=320ef475fdad0ee5db34de1698a01cd75b747f54;hp=91ca7fb1036fa0be0cc067204b119be8ddaa6047;hpb=91de2ca90fc183230842aefe70f6d91bec44e60f;p=kub diff --git a/kub.c b/kub.c index 91ca7fb..558a280 100644 --- a/kub.c +++ b/kub.c @@ -602,8 +602,11 @@ static gboolean on_button_release_event (GtkWidget *widget, GdkEventButton *even box->visible = 0; gtk_widget_queue_draw_area (widget, x_min, y_min, width, height); - tile_group_t group; - group.num_tiles = 0; +// tile_group_t group; +// group.num_tiles = 0; + + tile_t* group[TILE_GROUP_MAX_TILES]; + int num_tiles = 0; int i, tile_x, tile_y, tile_x2, tile_y2; for (i = 0; i < game->deck.num_tiles; i++) @@ -636,15 +639,45 @@ static gboolean on_button_release_event (GtkWidget *widget, GdkEventButton *even /*or bottom edge*/ (x_min >= tile_x && x_min <= tile_x2 && y_min >= tile_y && y_min <= tile_y) ) - { - group.tiles[group.num_tiles] = game->deck.tiles[i]; - group.num_tiles++; + { +// group.tiles[group.num_tiles] = game->deck.tiles[i]; +// group.num_tiles++; + + group[num_tiles] = &game->deck.tiles[i];; + num_tiles++; } } - printf("is run %d\n", tile_group_is_run_one(&group) ); - printf("is set %d\n", tile_group_is_set(&group) ); + //printf("is run %d\n", tile_group_is_run_one(&group) ); + //printf("is set %d\n", tile_group_is_set(&group) ); + +// int matching_y = y_min; + +// for (i = 0; i < group.num_tiles; i++) + for (i = 0; i < num_tiles; i++) + { +// tile_print(group.tiles[i]); + gtk_widget_queue_draw_area (widget, group[i]->x - 1 , group[i]->y - 1, TILE_WIDTH + 1, TILE_HEIGHT + 2); + group[i]->x = x_min + (i * (TILE_WIDTH)); + group[i]->y = y_min; + gtk_widget_queue_draw_area (widget, group[i]->x - 1 , group[i]->y - 1, TILE_WIDTH + 1, TILE_HEIGHT + 2); + } +/* int j; + int new_x = 0; for (i = 0; i < group.num_tiles; i++) - tile_print(group.tiles[i]); + { + for (j = 0; j < game->deck.num_tiles; j++) + { + if (group.tiles[i].x == game->deck.tiles[j].x && + group.tiles[i].y == game->deck.tiles[j].y) + { + new_x = x_min + (i * (TILE_WIDTH)); + gtk_widget_queue_draw_area (widget, game->deck.tiles[j].x - 1 , game->deck.tiles[j].y - 1, TILE_WIDTH + 1, TILE_HEIGHT + 2); + game->deck.tiles[j].x = new_x; + game->deck.tiles[j].y = matching_y; + gtk_widget_queue_draw_area (widget, new_x - 1 , matching_y - 1, TILE_WIDTH + 1, TILE_HEIGHT + 2); + } + } + }*/ } game->select_mode = 1;