我在如何连贯地表达这一点上遇到了一些困难,所以我只使用一个例子,希望它能传达信息。
以黑白棋游戏为例。我可以对游戏背后的逻辑进行编程,也就是说我可以确定每回合后哪些棋子要改变颜色。
假设 JFrame 上有 64 个面板,每个面板代表黑白棋盘上的一个位置。一轮结束后,我确定面板 5 和 6 需要更改其颜色。
我希望能够做的是通过数组传递 5 和 6,比如说,并有一个遍历数组的 for 循环。
for(int i=0; i < array.length; i++){
change the image at array[i]
}
因此,仅在 2(在本例中是我需要更改的位置)处检查并进行更改。节省了大量编写代码的时间。
我目前要做的是有一个 for 循环,在 for 循环内我有 64 个 if-else 语句,说
if(panel == 5){
change the image at 5
}
etc.
我希望这能成功地表达我想要问的问题。如果没有,我很乐意澄清。
最佳答案
您如何存储 64 个子面板?如果您现有的代码将面板引用为 0-63(或 1 - 64)的数字,那么您可以将它们存储在一维数组中,然后您的代码将是:
ImagePanel[] othelloPanels;
void changeImages(int[] indicies) {
for (int i=0;i<indicies.length;i++) {
othelloPanels[indicies[i]].change();
}
}
我本以为将它们存储为二维(8 x 8)数组更有意义,但也许这只是我的想法。
关于java - 有没有办法改变多个项目? 【很难描述,里面有例子】,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4264575/