我对 Java 还很陌生,在我正在创建的游戏中遇到数组问题,这与 Bejeweled 类似。
在这个游戏中,我有一个名为 Tile 的类,它代表棋盘上的一个彩色棋子,以及棋盘上的列和行(整数)。我有另一个用于棋盘的类,称为棋盘,它在按列和行组织的 2D 整数数组中管理这些图块。
我的问题是我在屏幕上交换了两个图块。发生这种情况时,它们的列和行被交换,但保存它们的数组无法识别这种变化。在屏幕上,一切看起来都很好。两块瓷砖将交换位置。
例如,如果我有两个要切换的相邻图块,在(column0, row0)
和(column1, row0)
。在我的瓷砖阵列中,这些是瓷砖array[0][0]
和array[1][0]
. 当我切换它们时,第一个图块现在位于第二个图块的旧位置,第二个图块现在位于第一个图块的旧位置。但是,第一个图块仍被识别为array[0][0]
,即使它现在应该是array[1][0]
。
这样做的意义在于,我的程序将无法识别三个连续的具有相同颜色的瓷砖,因此它不会将它们从板上清除。我能做些什么来解决这个问题吗?
如果您有任何建议,那就太好了。谢谢你。