我正在尝试制作游戏点,我已经找到了一种使用int[][]
生成随机点的方法。我还创建了一种方法来删除点,如果它们彼此相邻并且在选择时具有相同的颜色。我的游戏区域是7乘7,并且填充了JButton
s(也可能是JLabel
s)。现在我需要找到一种方法来拖动几个点并选择它们,如果它们与初始点的颜色相同,但每当我尝试做类似的事情时,我总是最终选择初始点本身并发送每当我移动鼠标时按钮的坐标,或者在屏幕上选择指针的x和y值。
以下是相关代码:
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 7; j++) {
final int finalJ = j;
final int finalI = i;
playField[i][j].addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
try {
while (true) {
dotsController.beginZet(finalI, finalJ);
}
} catch (DotsException e1) {
e1.printStackTrace();
}
}
});
playField[i][j].addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
try {
dotsController.doeZet();
} catch (DotsException e1) {
e1.printStackTrace();
}
}
});
}
}