我遇到了以下需要解决的问题:
假装你有一个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?每个“腔室”是否需要包含连接腔的参考?
这样做的“美丽”,高效的方式是什么?
答案 0 :(得分:1)
使用多维数组是否足够好?
多维数组足以解决这个问题和你的知识。
Does every "chamber" need to contain references to the connecting chambers?
不,它没有任何参考,因为您可以通过添加/减去当前单元格的位置来计算其他单元格的位置。
这样做的“美丽”,高效的方式是什么?
开始研究它。试着回答你在做什么时会出现的问题。