我正在研究我必须制作的这种细菌生命游戏。
基本上我有一个二维字符串数组,假设是 20 x 20。
检查某个索引周围所有 8 个点的最佳方法是什么。假设每个索引代表一种细菌。对于每个细菌(索引),我必须检查该索引周围的 8 个点中是否有任何其他细菌在其中,如果该索引中有细菌,则它只用星号“*”表示。
检查每个索引周围的所有 8 个点的最佳方法是什么,因为基于某个索引周围的索引中的内容,我必须进行某些更改等。
我想出的唯一想法是用一堆 if 语句来检查所有 8 个点,我想知道是否有更好的方法来做到这一点
例如: 第 1 行 - www,第 2 行 = wOw,第 3 行 - www,
如果我在 O 索引处,检查它周围所有索引点是否有特定字符串的最佳方法是什么。
对不起,我不太擅长解释我的问题,英语不好:o。
感谢您的帮助。
最佳答案
所以你有这样的东西
char[][] table = new char[20][20]
for(int i = 0; i < 20; i++) {
for(int j = 0; j < 20; j++) {
int surroundingBacteria = 0;
for(int x = max(i-1,0); x < min(20,i+1); x++) {
for(int y = max(i-1,0); y < min(20,i+1); y++) {
if(table[x][y] == '*') surroundingBacteria++;
}
}
switch(surroundingBacteria) {
// put your case logic here
}
}
}
关于java - 检查二维数组中某个索引周围的索引的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622572/