java - 将图形网格与二维数组网格相匹配

标签 java arrays swing for-loop 2d

我想要做的是找到一个人在我的棋盘游戏图片上点击的位置,并根据它在我的二维数组中更改值。这有点像井字游戏,但更大,你把石头放在交叉点上。到目前为止,我能够获取鼠标的 x 和 y 位置,并检查用户是否单击了第一个左上角的交叉点,这可行,但我正在考虑编写某种 for 循环来检查所有交叉点。

这是我用于检查顶部交叉点的代码

if ((x >= 278 && x <= 285) && ( y >= 160 && y <= 175))
    {
        System.out.println("intersection 1 clicked");
    }

所以我的问题是如何编写 for 循环来检查所有交叉点?如果您不想编写代码,即使逻辑也很好。

提前致谢,非常感谢任何帮助。

/image/yzPTA.png这是我运行的程序,左上角的石头是我的光标

/image/l6UrW.png这是我的代码

最佳答案

如图here ,您可以根据所需的网格坐标计算屏幕坐标。单击并拖动以捕获屏幕的 SIZE 正方形,然后将鼠标悬停在其上以查看 mouseMoved() 的工作原理。此MapPanel中使用了类似的方法。 .

image

关于java - 将图形网格与二维数组网格相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16874970/

相关文章:

java - Twitter4j 接口(interface)和类结构

java - 我可以实例化我的 Activity……我应该吗?

java - Spring应用程序所需的web.xml

c++ - 使用数组 vector 的正确方法

arrays - 为什么 VBA 类不能通过 ByRef Array()?

java - 在命令行中更改 Swing L&F 效果不佳

java - 在 ProcessBuilder 中执行命令似乎不适用于 Windows (Kotlin) 中的 "java"命令

c - 为什么我从这段代码中得到一串看似随机的数字?

java - Java (Swing) 中的旅行商可视化

java - 创建 JButton 的行和列