Use generators to more cleanly handle mutation of list of possible tiles to place.
First place water tiles. Then pick a starting location, and BFS out from that every ocean tiles. If an ocean tile does not have a harbor as neighbor, change the ocean tile to harbor.
Unfortunately this solution relies on mutation of the map, which I would rather not have implemented - but I don't see a way around it.
Fixes #1218 .
Changes the world generation logic:
Unfortunately this solution relies on mutation of the map, which I would rather not have implemented - but I don't see a way around it.