什么是触发“腔室”功能的“好”方法(Java)

时间:2013-11-12 16:22:53

标签: java arrays object triggers grid

我遇到了以下需要解决的问题:

假装你有一个5x5的栅格/网格填充了a和b:

a a a b a 
a b a a a 
a a a a a 
b b b b b 
a a b a a 

当我触发(点击)其中一个“腔室”时,我想更改该腔室的值以及所有包含相同值(水平和垂直)的连接腔室。

假设我想将值更改为y。

当我触发(单击)位置[2] [1]上的“a”(第三行第二行)时,我希望栅格/网格看起来像这样:

y y y b y 
y b y y y 
y y y y y 
b b b b b 
a a b a a 

注意底部的a。它们不应该被更改(它们没有连接)。

处理此问题的最佳方法是什么? 使用多维数组足够好吗?或者我应该使用hashmap / arraylist?每个“腔室”是否需要包含连接腔的参考?

这样做的“美丽”,高效的方式是什么?

1 个答案:

答案 0 :(得分:1)

  

使用多维数组是否足够好?

多维数组足以解决这个问题和你的知识。

Does every "chamber" need to contain references to the connecting chambers?

不,它没有任何参考,因为您可以通过添加/减去当前单元格的位置来计算其他单元格的位置。

  

这样做的“美丽”,高效的方式是什么?

开始研究它。试着回答你在做什么时会出现的问题。