~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
The Light Up solver limits its recursion depth, so if it fails to find
[sgt/puzzles]
/
netslide.c
diff --git
a/netslide.c
b/netslide.c
index
99eb6e1
..
076cad4
100644
(file)
--- a/
netslide.c
+++ b/
netslide.c
@@
-1059,7
+1059,7
@@
static char *interpret_move(game_state *state, game_ui *ui,
game_drawstate *ds, int x, int y, int button)
{
int cx, cy;
game_drawstate *ds, int x, int y, int button)
{
int cx, cy;
- int
n,
dx, dy;
+ int dx, dy;
char buf[80];
button &= ~MOD_MASK;
char buf[80];
button &= ~MOD_MASK;
@@
-1101,7
+1101,6
@@
static char *interpret_move(game_state *state, game_ui *ui,
if (cx == -1) dx = +1;
else if (cx == state->width) dx = -1;
else return NULL;
if (cx == -1) dx = +1;
else if (cx == state->width) dx = -1;
else return NULL;
- n = state->width;
dy = 0;
}
else if (cx >= 0 && cx < state->width && cx != state->cx)
dy = 0;
}
else if (cx >= 0 && cx < state->width && cx != state->cx)
@@
-1109,7
+1108,6
@@
static char *interpret_move(game_state *state, game_ui *ui,
if (cy == -1) dy = +1;
else if (cy == state->height) dy = -1;
else return NULL;
if (cy == -1) dy = +1;
else if (cy == state->height) dy = -1;
else return NULL;
- n = state->height;
dx = 0;
}
else
dx = 0;
}
else
@@
-1307,8
+1305,8
@@
static float *game_colours(frontend *fe, int *ncolours)
return ret;
}
return ret;
}
-static void draw_
thick
_line(drawing *dr, int x1, int y1, int x2, int y2,
- int colour)
+static void draw_
filled
_line(drawing *dr, int x1, int y1, int x2, int y2,
+ int colour)
{
draw_line(dr, x1-1, y1, x2-1, y2, COL_WIRE);
draw_line(dr, x1+1, y1, x2+1, y2, COL_WIRE);
{
draw_line(dr, x1-1, y1, x2-1, y2, COL_WIRE);
draw_line(dr, x1+1, y1, x2+1, y2, COL_WIRE);
@@
-1420,9
+1418,9
@@
static void draw_tile(drawing *dr, game_drawstate *ds, game_state *state,
if (tile & dir) {
ex = (TILE_SIZE - TILE_BORDER - 1.0F) / 2.0F * X(dir);
ey = (TILE_SIZE - TILE_BORDER - 1.0F) / 2.0F * Y(dir);
if (tile & dir) {
ex = (TILE_SIZE - TILE_BORDER - 1.0F) / 2.0F * X(dir);
ey = (TILE_SIZE - TILE_BORDER - 1.0F) / 2.0F * Y(dir);
- draw_
thick
_line(dr, bx+(int)cx, by+(int)cy,
- bx+(int)(cx+ex), by+(int)(cy+ey),
- COL_WIRE);
+ draw_
filled
_line(dr, bx+(int)cx, by+(int)cy,
+
bx+(int)(cx+ex), by+(int)(cy+ey),
+ COL_WIRE);
}
}
for (dir = 1; dir < 0x10; dir <<= 1) {
}
}
for (dir = 1; dir < 0x10; dir <<= 1) {
@@
-1585,7
+1583,7
@@
static void draw_arrow_for_cursor(drawing *dr, game_drawstate *ds,
static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate,
game_state *state, int dir, game_ui *ui, float t, float ft)
{
static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate,
game_state *state, int dir, game_ui *ui, float t, float ft)
{
- int x, y,
tx, ty,
frame;
+ int x, y, frame;
unsigned char *active;
float xshift = 0.0;
float yshift = 0.0;
unsigned char *active;
float xshift = 0.0;
float yshift = 0.0;
@@
-1677,7
+1675,6
@@
static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate,
t = ANIM_TIME - t;
}
t = ANIM_TIME - t;
}
- tx = ty = -1;
if (oldstate && (t < ANIM_TIME)) {
/*
* We're animating a slide, of row/column number
if (oldstate && (t < ANIM_TIME)) {
/*
* We're animating a slide, of row/column number
@@
-1829,6
+1826,11
@@
static float game_flash_length(game_state *oldstate,
return 0.0F;
}
return 0.0F;
}
+static int game_status(game_state *state)
+{
+ return state->completed ? +1 : 0;
+}
+
static int game_timing_state(game_state *state, game_ui *ui)
{
return FALSE;
static int game_timing_state(game_state *state, game_ui *ui)
{
return FALSE;
@@
-1877,6
+1879,7
@@
const struct game thegame = {
game_redraw,
game_anim_length,
game_flash_length,
game_redraw,
game_anim_length,
game_flash_length,
+ game_status,
FALSE, FALSE, game_print_size, game_print,
TRUE, /* wants_statusbar */
FALSE, game_timing_state,
FALSE, FALSE, game_print_size, game_print,
TRUE, /* wants_statusbar */
FALSE, game_timing_state,