私が作成しているゲームでは、リストからオブジェクトを常に検索し、その座標が隣接しているかどうかを確認する必要があります。これらのオブジェクトは何百もあり、そのうちの 4 つしか正しくありません。これを行うより良い方法はありますか?
リストは getMap.getTerrain(x,y); にあります。
これは、オブジェクトの dataValue を保持する 2 次元の int 配列です。
int[] r = new int[4];
int tX = (int)(getX()/32);
int tY = (int)(getY()/32);
if((tY > 1) && (tX > 1) && (tY < 39) && (tX < 39))
{
r[0] = getMap().getTerrain(tX-1, tY);
r[1] = getMap().getTerrain(tX+1, tY);
r[2] = getMap().getTerrain(tX, tY-1);
r[3] = getMap().getTerrain(tX, tY+1);
//}
}
int resource = 0;
for(int i : r) if(i != 0) resource = i;
if(resource != 0)
{
System.out.println("R isnt 0, We are next to a "+resource);
}