[英]How can I set a grid with the value of my 2D array?(Java, Android Studio)
[英]How can I better achieve my implementation of a 5x5 grid puzzle of buttons that activate the surrounding buttons on the grid using a 2D Array?
我试图实现的目标是拥有一个 5x5 的按钮网格。 当您切换按钮时,您切换的按钮周围的按钮应随之切换。 这是网格:
private static final int[][] GRID = {
{4, 5, 6, 7, 0},
{9, 10, 11, 12, 13},
{14, 15, 16, 17, 18},
{19, 20, 21, 22, 23},
{24, 25, 26, 27, 28}
};
因此,如果我按下按钮 16,我需要按钮 10、11、12、17、22、21、20 和 15 与其一起切换。 我遇到的一个主要问题是,如果我要切换按钮 4,则只有按钮 5、10 和 9 应该用它激活,因为按钮 4 的左侧和上方有一个“墙”。我'已经能够做到这一点,但我的实现很糟糕:
private void setButtonActivated(Player player, int button) {
player.setButtonActivated(button);
for (int b : getConnectedTiles(button)) {
player.setButtonActivated(b);
}
}
private int[] getConnectedTiles(int button) {
switch (button) {
case 4:
return new int[] { 5, 10, 9 };
case 6:
return new int[] { 5, 10, 11, 12, 7 };
case 16:
return new int[] { 10, 11, 12, 17, 22, 21, 20, 15 };
}
return null;
}
我想看看是否有人可以提供更好地实现这一点的想法。
你可以减少硬编码:
如果需要更多帮助,你可以再问我。 我以前做过模拟
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.