diff --git a/mines.c b/mines.c index 3c06b53..db98cc9 100644 --- a/mines.c +++ b/mines.c @@ -232,6 +232,8 @@ static game_params *custom_params(config_item *cfg) ret->w = atoi(cfg[0].sval); ret->h = atoi(cfg[1].sval); ret->n = atoi(cfg[2].sval); + if (strchr(cfg[2].sval, '%')) + ret->n = ret->n * (ret->w * ret->h) / 100; ret->unique = cfg[3].ival; return ret; diff --git a/puzzles.but b/puzzles.but index e1f6681..d158bc4 100644 --- a/puzzles.but +++ b/puzzles.but @@ -891,7 +891,17 @@ menu are: \dt \e{Mines} -\dd Number of mines in the grid. +\dd Number of mines in the grid. You can enter this as an absolute +mine count, or alternatively you can put a \cw{%} sign on the end in +which case the game will arrange for that proportion of the squares +in the grid to be mines. + +\lcont{ + +Beware of setting the mine count too high. At very high densities, +the program may spend forever searching for a solvable grid. + +} \dt \e{Ensure solubility}