like somexy(), but returns an accessible location */
| 741 | |
| 742 | /* like somexy(), but returns an accessible location */ |
| 743 | boolean |
| 744 | somexyspace(struct mkroom* croom, coord *c) |
| 745 | { |
| 746 | int trycnt = 0; |
| 747 | boolean okay; |
| 748 | |
| 749 | do { |
| 750 | okay = somexy(croom, c) && isok(c->x, c->y) && !occupied(c->x, c->y) |
| 751 | && (levl[c->x][c->y].typ == ROOM |
| 752 | || levl[c->x][c->y].typ == CORR |
| 753 | || levl[c->x][c->y].typ == ICE); |
| 754 | } while (trycnt++ < 100 && !okay); |
| 755 | return okay; |
| 756 | } |
| 757 | |
| 758 | /* |
| 759 | * Search for a special room given its type (zoo, court, etc...) |
no test coverage detected