fairland can create fewer and smaller islands than the user requested.
Report like this:
No room for island #13
6 stunted islands
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
static void
grow_islands(void)
{
static void
grow_islands(void)
{
+ int stunted_islands = 0;
int c, secs, x, y, isiz;
for (c = nc; c < nc + ni; ++c) {
int c, secs, x, y, isiz;
for (c = nc; c < nc + ni; ++c) {
- secs = 0;
- if (!place_island(c, &x, &y))
- return;
+ if (!place_island(c, &x, &y)) {
+ qprint("\nNo room for island #%d", c - nc + 1);
+ break;
+ }
+
isiz = roll(is) + roll0(is);
isiz = roll(is) + roll0(is);
+ for (secs = 1; secs < isiz; secs++) {
- } while (secs < isiz && grow_one_sector(c));
+ if (!grow_one_sector(c)) {
+ stunted_islands++;
+ break;
+ }
+ }
+
find_coast(c);
qprint(" %d(%d)", c - nc + 1, secs);
ctot++;
}
find_coast(c);
qprint(" %d(%d)", c - nc + 1, secs);
ctot++;
}
+
+ if (stunted_islands)
+ qprint("\n%d stunted island%s",
+ stunted_islands, splur(stunted_islands));
}
/****************************************************************************
}
/****************************************************************************
placing capitals...
growing continents...
growing islands: 1(14) 2(20) 3(11) 4(16) 5(14) 6(8) 7(2) 8(3) 9(4) 10(5) 11(14) 12(3)
placing capitals...
growing continents...
growing islands: 1(14) 2(20) 3(11) 4(16) 5(14) 6(8) 7(2) 8(3) 9(4) 10(5) 11(14) 12(3)
+No room for island #13
+6 stunted islands
elevating land...
writing to sectors file...
elevating land...
writing to sectors file...