aboutsummaryrefslogtreecommitdiff
path: root/pearl.c
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2018-08-10 07:00:06 +0100
committerSimon Tatham <anakin@pobox.com>2022-07-31 08:53:08 +0100
commit49dbf1f60dc5c6bcb6b3ffadf89e7e0c14106638 (patch)
tree873dc6d0c605472cfc8b76ba701b28b296b86449 /pearl.c
parent387d323dd8d579db2c90b499b3b19f746cbdbce5 (diff)
downloadpuzzles-49dbf1f60dc5c6bcb6b3ffadf89e7e0c14106638.zip
puzzles-49dbf1f60dc5c6bcb6b3ffadf89e7e0c14106638.tar.gz
puzzles-49dbf1f60dc5c6bcb6b3ffadf89e7e0c14106638.tar.bz2
puzzles-49dbf1f60dc5c6bcb6b3ffadf89e7e0c14106638.tar.xz
Pearl: Require width or height to be at least 6 for Tricky
Josh Triplett reported: > If I ask pearl to generate a 5x5 tricky puzzle, it runs forever. I find that 5x6 or 6x5 works, so set the minimum accordingly. References: https://bugs.debian.org/667963
Diffstat (limited to 'pearl.c')
-rw-r--r--pearl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/pearl.c b/pearl.c
index 4817416..e53b4da 100644
--- a/pearl.c
+++ b/pearl.c
@@ -274,6 +274,8 @@ static const char *validate_params(const game_params *params, bool full)
if (params->h < 5) return "Height must be at least five";
if (params->difficulty < 0 || params->difficulty >= DIFFCOUNT)
return "Unknown difficulty level";
+ if (params->difficulty >= DIFF_TRICKY && params->w + params->h < 11)
+ return "Width or height must be at least six for Tricky";
return NULL;
}