- x = sx = sectx[c][try1];
- y = sy = secty[c][try1];
- coast_search = 0;
- done = 0;
- do {
- if (spike) {
- for (i = roll0(6), n = 0; n < 12 && !done; i = (i + 1) % 6, ++n) {
- newx = new_x(x + dirx[i]);
- newy = new_y(y + diry[i]);
- if (n > 5 ||
- (own[new_x(x+dirx[(i+5)%6])][new_y(y+diry[(i+5)%6])] == -1 &&
- own[new_x(x+dirx[(i+1)%6])][new_y(y+diry[(i+1)%6])] == -1))
- if (try_to_grow(c, newx, newy))
- done = 1;
- }
- } else
- for (i = roll0(6), n = 0; n < 6 && !done; i = (i + 1) % 6, ++n) {
- newx = new_x(x + dirx[i]);
- newy = new_y(y + diry[i]);
- if (try_to_grow(c, newx, newy))
- done = 1;
- }
- next_coast(c, x, y, &x, &y);
- ++coast_search;
- } while (!done && coast_search < COAST_SEARCH_MAX &&
- (isecs[c] == 1 || x != sx || y != sy));
- return done;