2007. 1. 1. 16:54ㆍJava Programming
사실 해결하고 나면 별거 아닌데 왜이렇게 해결하기까지가 짜증나고 고역스러운지 ㅠㅠ
일단 Quiz 2번은 링크를 해놓겠습니다 :)
RealStudy Team Blog : Quiz 2
음.. 지뢰찾기에서 가장 어려웠던 부분은 8방향 숫자 증가 시켜주는거 였습니다 -_-
3일 밤낮으로 생각하던 도중에 빡 삘받아서 오늘 해버렸습니다. 아래 소스코드 첨부합니다.
// 생성된 맵을 분석합니다.
@SuppressWarnings("static-access")
public void findMines(MineMapBuilder map) {
// h는 맵의 높이, w는 맵의 넓이, mH는 8방향증가에서의 수직 이동, mW는 8방향증가에서의 수평 이동
for (int h = 0; h < analyzedMap.length; h++)
for (int w = 0; w < analyzedMap[h].length; w++) {
if (analyzedMap[h][w].equals("*"))
for (int mH = -1; mH < 2; mH++)
for (int mW = -1; mW <
2; mW++)
try {
if (!analyzedMap[h + mH][w +
mW].equals("*")) {
// 해당 배열의 값이 숫자가 아닌것이면 에러납니다.
Integer in = new Integer
(analyzedMap[h + mH][w + mW])
.parseInt(analyzedMap[h + mH][w+
mW]);
in++;
analyzedMap[h + mH][w + mW] =
in.toString();
}
} // 음수 값으로 배열의 인덱스를 검색할시에는 그냥 넘어가게 함
catch (Exception e) {
continue;
}
}
}