Neat idea from Gareth: if you put a % on the end of the mine count
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 30 May 2005 12:24:31 +0000 (12:24 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 30 May 2005 12:24:31 +0000 (12:24 +0000)
in the Custom dialog box, it'll treat it as a mine density.

git-svn-id: svn://svn.tartarus.org/sgt/puzzles@5861 cda61777-01e9-0310-a592-d414129be87e

mines.c
puzzles.but

diff --git a/mines.c b/mines.c
index 3c06b53..db98cc9 100644 (file)
--- 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;
index e1f6681..d158bc4 100644 (file)
@@ -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}