for (k = 1; k <= w; k++)
if (v % k == 0 && v / k <= w && v / k != k)
n++;
- if (n > 1)
+ if (n > 2)
singletons[j] |= F_MUL;
else
singletons[j] |= F_MUL_BAD;
/* didn't find a nice one, use a nasty one */
for (i = 0; i < a; i++) {
j = order[i];
- if (singletons[j] & good) {
+ if (singletons[j] & bad) {
clues[j] = clue;
singletons[j] = 0;
break;
{
int w = params->w, a = w*w;
game_state *state = snew(game_state);
- char *err;
const char *p = desc;
int i;
state->clues->refcount = 1;
state->clues->w = w;
state->clues->dsf = snew_dsf(a);
- err = parse_block_structure(&p, w, state->clues->dsf);
+ parse_block_structure(&p, w, state->clues->dsf);
assert(*p == ',');
p++;
return 0.0F;
}
+static int game_is_solved(game_state *state)
+{
+ return state->completed;
+}
+
static int game_timing_state(game_state *state, game_ui *ui)
{
if (state->completed)
game_redraw,
game_anim_length,
game_flash_length,
+ game_is_solved,
TRUE, FALSE, game_print_size, game_print,
FALSE, /* wants_statusbar */
FALSE, game_timing_state,