我想看看二维数组中,一个单元格的周围是否都是什么,或者对它们做些什么。
if (mapmines[rndr][rndc] != 9) {
mapmines[rndr][rndc] = 9;
if (mapmines[rndr - 1][rndc - 1] != 9)
mapmines[rndr - 1][rndc - 1]++;
if (mapmines[rndr - 1][rndc] != 9)
mapmines[rndr - 1][rndc]++;
if (mapmines[rndr - 1][rndc + 1] != 9)
mapmines[rndr - 1][rndc + 1]++;
if (mapmines[rndr][rndc - 1] != 9)
mapmines[rndr][rndc - 1]++;
if (mapmines[rndr][rndc + 1] != 9)
mapmines[rndr][rndc + 1]++;
if (mapmines[rndr + 1][rndc - 1] != 9)
mapmines[rndr + 1][rndc - 1]++;
if (mapmines[rndr + 1][rndc] != 9)
mapmines[rndr + 1][rndc]++;
if (mapmines[rndr + 1][rndc + 1] != 9)
mapmines[rndr + 1][rndc + 1]++;
我有这个相似的代码exept与不同的代码之间,如果我可以使一个函数或减少?我觉得它的可能性。
2条答案
按热度按时间k3bvogb11#
也就是说,用于此目的的首选代码可能会受到上下文的显著影响,包括条件发生的频率、行和列之间的交互等。可能还有其他更有用的数据结构。您必须给予更多上下文。
4dbbbstv2#
你可以用这样的函数把它变小一点
然后这样称呼它:
您也可以使用循环,但对于3x3网格,这几乎不值得。