1
나는 몇 년 전에 썼던 간단한 MineSweeper 프로그램을 보여 주었고, 다음 코드를 최적화 할 수 있다면 둘다 멋지게 보이지 않기 때문에 서로 얽매여있다.주어진 인덱스 주변의 bool [,]에서 참 값을 계산하는 방법은 무엇입니까?
다음 방법은 인덱스가 범위에서하지 않은 경우 확인 위한 것이며, 요청 된 인덱스의 값을 반환
private static bool IsMineOnCoords(bool[,] field, int posI, int posJ)
{
if (posI < 0 || posI > field.GetLength(0) - 1 || posJ < 0 || posJ > field.GetLength(1) - 1) return false;
return field[posI, posJ];
}
내가 8에서 지정된 인덱스의 주위에 모든 위치를 위해이 메소드를 호출을 if 문 :
int count = 0;
if (IsMineOnCoords(field, posI + 1, posJ)) count++;
if (IsMineOnCoords(field, posI - 1, posJ)) count++;
if (IsMineOnCoords(field, posI + 1, posJ + 1)) count++;
if (IsMineOnCoords(field, posI + 1, posJ - 1)) count++;
if (IsMineOnCoords(field, posI - 1, posJ + 1)) count++;
if (IsMineOnCoords(field, posI - 1, posJ - 1)) count++;
if (IsMineOnCoords(field, posI, posJ + 1)) count++;
if (IsMineOnCoords(field, posI, posJ - 1)) count++;
내가 할 수있는 더 좋은 방법이 있습니까? 이 같은