gpt4 book ai didi

java - 扫雷,我如何在细胞上工作

转载 作者:行者123 更新时间:2023-12-01 21:09:59 35 4
gpt4 key购买 nike

我想制作一款扫雷游戏。首先,这适用于按钮。我想我将研究二维数组,并且会有类似 boolean 数组来显示炸弹在哪里,例如,如果 booleanArray[0][4] 为 true,则有炸弹。

现在,我如何在按钮中实现这一点?我可以在这些按钮上设置名称,然后如果我单击某个按钮,那么我将从这个 div 中获取名称。例如,当我单击第一个按钮时,我将得到“00”名称,然后我将得到第一个字母“0”和第二个字母“0”并将其解析为int。这将是我之前的 booleanArray 中的索引,在本例中它将是 booleanArray[0][0]。

那么,我可以用另一种更好的方式来代替吗?

这是我创建按钮的方式:

for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
JButton button = new JButton("");
button.setPreferredSize(new Dimension(50, 50));
button.setName(Integer.toString(i) + Integer.toString(j));
}
}

编辑
我将有一个二维数组,它将反射(reflect)我的按钮: enter image description here

现在,我如何检查在单击第一个按钮后是否击中了炸弹?

最佳答案

只需持有一个二维按钮数组,

JButton[][] myButtons = new JButton[10][10];

你用它来绘制它们,它们都用它们的值调用相同的方法

 for (int x=0; x<10; x++){
for (int y=0; y<10; y++){
myButtons[x][y] = new JButton("0");
//add to page, or do it elsewhere
myButtons[x][y].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectionButtonPressed(x,y);
}
});
}
}

然后调用您的方法selectionButtonPressed()将告诉您按下了哪个按钮,您可以采取行动,甚至可以使用myButtons[x][y]对按钮进行更改.whatever()

关于java - 扫雷,我如何在细胞上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41354117/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com