I'm sure there's a clean way to do this, but I'm probably not using the right keywords for find it.
So let's say I have a grid. Starting from a position on the grid, return all of the grid coordinates that fall within a given distance. So I call something like:
getCoordinates( currentPosition, distance )
And for each coordinate, starting from the initial position, add all cardinal directions, and then add the spaces around those and so forth until the distance is reached. I imagine that on a grid this would look like a diamond. The function would return that array of coordinates. Can someone point me to a routine that will do this efficiently ( I'm working in AS3, for what it's worth )?
In the desired output, iteration 1 would be:
.x.
xxx
.x.
Iteration 2 would be:
..x..
.xxx.
xxxxx
.xxx.
..x..
Iteration 3:
...x...
..xxx..
.xxxxx.
xxxxxxx
.xxxxx.
..xxx..
...x...
and so on...