X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/50082dba92a5534d48b363eda03b466bbaf52283..88ceda407be72bd6cae67c480ceaa0a77f0f0b55:/bridges.c diff --git a/bridges.c b/bridges.c index 11397f7..a8fd8b3 100644 --- a/bridges.c +++ b/bridges.c @@ -1012,7 +1012,7 @@ static int grid_degree(game_state *state, int x, int y, int *nx_r, int *ny_r) static int map_hasloops(game_state *state, int mark) { - int x, y, ox, oy, nx, ny, loop = 0; + int x, y, ox, oy, nx = 0, ny = 0, loop = 0; memcpy(state->scratch, state->grid, GRIDSZ(state)); @@ -1064,8 +1064,7 @@ static void map_group(game_state *state) struct island *is, *is_join; /* Initialise dsf. */ - for (i = 0; i < wh; i++) - dsf[i] = i; + dsf_init(dsf, wh); /* For each island, find connected islands right or down * and merge the dsf for the island squares as well as the @@ -1602,9 +1601,8 @@ static game_state *new_state(game_params *params) ret->solved = ret->completed = 0; ret->solver = snew(struct solver_state); - ret->solver->dsf = snewn(wh, int); + ret->solver->dsf = snew_dsf(wh); ret->solver->tmpdsf = snewn(wh, int); - for (i = 0; i < wh; i++) ret->solver->dsf[i] = i; ret->solver->refcount = 1; @@ -2401,9 +2399,9 @@ static void lines_redraw(drawing *dr, draw_update(dr, ox, oy, TILE_SIZE, TILE_SIZE); } -#define ISLAND_RADIUS ((TILE_SIZE*13)/20) +#define ISLAND_RADIUS ((TILE_SIZE*12)/20) #define ISLAND_NUMSIZE(is) \ - (((is)->count < 10) ? TILE_SIZE : (TILE_SIZE*8)/10) + (((is)->count < 10) ? (TILE_SIZE*7)/10 : (TILE_SIZE*5)/10) static void island_redraw(drawing *dr, game_state *state, game_drawstate *ds, @@ -2631,7 +2629,7 @@ static void game_print(drawing *dr, game_state *state, int ts) #endif const struct game thegame = { - "Bridges", "games.bridges", + "Bridges", "games.bridges", "bridges", default_params, game_fetch_preset, decode_params,