ref: a8980f3736031dc971754bd7ecc55795680a62e5
parent: f07576f49e9b08c9a9b2482b07e14a3e846224eb
author: Simon Tatham <anakin@pobox.com>
date: Mon Sep 12 13:09:29 EDT 2005
I am again gormless! When I overhauled Solo's grid generator in r6160, I completely failed to ensure that generated grids were _at most_ the required difficulty. It appears to have been only random chance that prevented a request for a Trivial puzzle from producing Extreme. Here's a one-line fix. [originally from svn r6298] [r6160 == e55838bc9b0d173ca539d0cfe714495b5c12b9dd]
--- a/solo.c
+++ b/solo.c
@@ -2220,7 +2220,7 @@
grid2[coords[2*j+1]*cr+coords[2*j]] = 0;
ret = solver(c, r, grid2, maxdiff);
- if (ret != DIFF_IMPOSSIBLE && ret != DIFF_AMBIGUOUS) {
+ if (ret <= maxdiff) {
for (j = 0; j < ncoords; j++)
grid[coords[2*j+1]*cr+coords[2*j]] = 0;
}