From b1bfb378f4132d77994bf351c63e37b76907021b Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sat, 1 May 2004 08:58:48 +0000 Subject: [PATCH] Remove arbitrary restriction on Net minimum game size. (Awww, cute 2x2! Cuter 2x1!) [originally from svn r4181] --- net.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/net.c b/net.c index c345ecb..e85608f 100644 --- a/net.c +++ b/net.c @@ -215,8 +215,8 @@ game_state *new_game(game_params *params, char *seed) tree234 *possibilities, *barriers; int w, h, x, y, nbarriers; - assert(params->width > 2); - assert(params->height > 2); + assert(params->width > 0 && params->height > 0); + assert(params->width > 1 || params->height > 1); /* * Create a blank game state. @@ -296,11 +296,15 @@ game_state *new_game(game_params *params, char *seed) * closed loops. [] */ possibilities = newtree234(xyd_cmp); - - add234(possibilities, new_xyd(state->cx, state->cy, R)); - add234(possibilities, new_xyd(state->cx, state->cy, U)); - add234(possibilities, new_xyd(state->cx, state->cy, L)); - add234(possibilities, new_xyd(state->cx, state->cy, D)); + + if (state->cx+1 < state->width) + add234(possibilities, new_xyd(state->cx, state->cy, R)); + if (state->cy-1 >= 0) + add234(possibilities, new_xyd(state->cx, state->cy, U)); + if (state->cx-1 >= 0) + add234(possibilities, new_xyd(state->cx, state->cy, L)); + if (state->cy+1 < state->height) + add234(possibilities, new_xyd(state->cx, state->cy, D)); while (count234(possibilities) > 0) { int i;