X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/5b0ab052105670986ec973f035b758add4d25481..055b9cd27af52f30534c77af067a98e5ca9c4461:/bridges.c diff --git a/bridges.c b/bridges.c index 721d75f..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; @@ -1800,11 +1798,11 @@ generated: echeck = 0; for (x = 0; x < params->w; x++) { if (INDEX(tobuild, gridi, x, 0)) echeck |= 1; - if (INDEX(tobuild, gridi, x, params->w-1)) echeck |= 2; + if (INDEX(tobuild, gridi, x, params->h-1)) echeck |= 2; } for (y = 0; y < params->h; y++) { if (INDEX(tobuild, gridi, 0, y)) echeck |= 4; - if (INDEX(tobuild, gridi, params->h-1, y)) echeck |= 8; + if (INDEX(tobuild, gridi, params->w-1, y)) echeck |= 8; } if (echeck != 15) { debug(("Generated grid doesn't fill to sides, retrying.\n")); @@ -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,