fairland: Check first two continent sectors properly
grow_continents() places the first two continent sectors without checking for collisions or minimum distance. Unlikely to be an issue in practice, as growing such a continent will almost certainly fail. Fix it anyway. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
f314ead777
commit
41d9882860
1 changed files with 11 additions and 7 deletions
|
@ -791,13 +791,17 @@ grow_continents(void)
|
|||
int c, secs;
|
||||
|
||||
for (c = 0; c < nc; ++c) {
|
||||
sectx[c][0] = capx[c];
|
||||
secty[c][0] = capy[c];
|
||||
own[sectx[c][0]][secty[c][0]] = c;
|
||||
sectx[c][1] = new_x(capx[c] + 2);
|
||||
secty[c][1] = capy[c];
|
||||
own[sectx[c][1]][secty[c][1]] = c;
|
||||
isecs[c] = 2;
|
||||
isecs[c] = 0;
|
||||
if (!try_to_grow(c, capx[c], capy[c], di)
|
||||
|| !try_to_grow(c, new_x(capx[c] + 2), capy[c], di)) {
|
||||
done = 0;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (!done) {
|
||||
qprint("No room for continents\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (secs = 2; secs < sc && done; secs++) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue