~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ahem. Seed validation was completely broken.
[sgt/puzzles]
/
fifteen.c
diff --git
a/fifteen.c
b/fifteen.c
index
74fd4fc
..
78060f5
100644
(file)
--- a/
fifteen.c
+++ b/
fifteen.c
@@
-19,8
+19,8
@@
const int game_can_configure = TRUE;
#define COORD(x) ( (x) * TILE_SIZE + BORDER )
#define FROMCOORD(x) ( ((x) - BORDER + TILE_SIZE) / TILE_SIZE - 1 )
#define COORD(x) ( (x) * TILE_SIZE + BORDER )
#define FROMCOORD(x) ( ((x) - BORDER + TILE_SIZE) / TILE_SIZE - 1 )
-#define ANIM_TIME 0.1F
-#define FLASH_FRAME 0.1F
+#define ANIM_TIME 0.1
3
F
+#define FLASH_FRAME 0.1
3
F
#define X(state, i) ( (i) % (state)->w )
#define Y(state, i) ( (i) / (state)->w )
#define X(state, i) ( (i) % (state)->w )
#define Y(state, i) ( (i) / (state)->w )
@@
-131,7
+131,7
@@
int perm_parity(int *perm, int n)
return ret;
}
return ret;
}
-char *new_game_seed(game_params *params)
+char *new_game_seed(game_params *params
, random_state *rs
)
{
int gap, n, i, x;
int x1, x2, p1, p2, parity;
{
int gap, n, i, x;
int x1, x2, p1, p2, parity;
@@
-149,7
+149,7
@@
char *new_game_seed(game_params *params)
used[i] = FALSE;
}
used[i] = FALSE;
}
- gap = rand
_upto(
n);
+ gap = rand
om_upto(rs,
n);
tiles[gap] = 0;
used[0] = TRUE;
tiles[gap] = 0;
used[0] = TRUE;
@@
-157,7
+157,7
@@
char *new_game_seed(game_params *params)
* Place everything else except the last two tiles.
*/
for (x = 0, i = n-1; i > 2; i--) {
* Place everything else except the last two tiles.
*/
for (x = 0, i = n-1; i > 2; i--) {
- int k = rand
_upto(
i);
+ int k = rand
om_upto(rs,
i);
int j;
for (j = 0; j < n; j++)
int j;
for (j = 0; j < n; j++)
@@
-349,7
+349,16
@@
void free_game(game_state *state)
sfree(state);
}
sfree(state);
}
-game_state *make_move(game_state *from, int x, int y, int button)
+game_ui *new_ui(game_state *state)
+{
+ return NULL;
+}
+
+void free_ui(game_ui *ui)
+{
+}
+
+game_state *make_move(game_state *from, game_ui *ui, int x, int y, int button)
{
int gx, gy, dx, dy, ux, uy, up, p;
game_state *ret;
{
int gx, gy, dx, dy, ux, uy, up, p;
game_state *ret;
@@
-519,7
+528,8
@@
static void draw_tile(frontend *fe, game_state *state, int x, int y,
}
void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate,
}
void game_redraw(frontend *fe, game_drawstate *ds, game_state *oldstate,
- game_state *state, float animtime, float flashtime)
+ game_state *state, game_ui *ui,
+ float animtime, float flashtime)
{
int i, pass, bgcolour;
{
int i, pass, bgcolour;