引用同一个班级

时间:2017-06-13 15:50:32

标签: java android

我正在设计一个应用程序,其中包含排列在9 * 9平方的81个瓷砖。点击后,图块将有一个执行方法。然后,8个周围的瓷砖也是。我怎样才能动态地知道周围有哪些瓷砖?我在考虑为每个瓷砖分配坐标(两个整数x和y),告知它在广场中的位置。有没有办法知道哪个瓷砖有x = 4和y = 7?

1 个答案:

答案 0 :(得分:1)

您可以将所有切片存储在公开存储的9x9数组中,并将特定切片的i和j位置传递给它。单击一个图块时,您可以调用一个全局方法,该方法获取您单击的图块的i和j,并在每个周围图块上运行方法。

public Tile[] tiles = [[tile1,tile2,...],[row2...],...[row9...]];

public void triggerTiles(int ith, int jth) {
    for (int i = ith - 1; i <= ith + 1; i ++) {
        if(i < tiles.length && i >= 0) {// check if we are in bounds
            for(int j = jth - 1; j <= jth + 1; j ++) {
                if(j < tiles[i].length && j >= 0) {// check if we are in bounds
                    if(i != ith && j != jth) { //If not the center tile
                        tiles[i][j].callMethod();
                    }
                }
            }
        }
    } 
}