Java 具有半径的二维阵列运算算法
试着用我的2d游戏来思考处理这个问题的最佳方法。我希望能够指定坐标对(x,y)和半径值。有了这些信息,我想对gameMap[]的所有元素进行操作 因此,如果半径=0:Java 具有半径的二维阵列运算算法,java,Java,试着用我的2d游戏来思考处理这个问题的最佳方法。我希望能够指定坐标对(x,y)和半径值。有了这些信息,我想对gameMap[]的所有元素进行操作 因此,如果半径=0: X 如果半径=1: xxx xxx xxx 如果半径=2: xxxxx xxxxx xxxxx xxxxx xxxxx 这就是我到目前为止得到的,如果半径>1,它就会崩溃 for(int i = 1; i < radius; i++) { // right
X
如果半径=1:
xxx
xxx
xxx
如果半径=2:
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
这就是我到目前为止得到的,如果半径>1,它就会崩溃
for(int i = 1; i < radius; i++) {
// right
setAreaObject(locX+i, locY+i);
setAreaObject(locX+i, (locY+i)-1);
setAreaObject(locX+i, locY-i);
// center
setAreaObject((locX+i)-1, locY+i);
setAreaObject((locX+i)-1, (locY+i)-1);
setAreaObject((locX+i)-1, locY-i);
// left
setAreaObject(locX-i, locY+i);
setAreaObject(locX-i, (locY+i)-1);
setAreaObject(locX-i, locY-i);
}
for(int i=1;i
感谢您对(int x=locX-radius;x)的任何想法或想法这应该可以:
for(int x = locX - radius; x <= locX + radius; x++)
{
for(int y = locY - radius; y <= locY + radius; y++)
{
setAreaObject(x, y);
}
}
for (int x = locX - radius; x <= locX + radius; ++x) {
for (int y = locY - radius; y <= locY + radius; ++y) {
setAreaObject(x, y);
}
}
for(int x=locX-radius;x