Grid 초기화, 2x2 grid에 지뢰테스트 완료
Grid 출력기능 완성
Grid에 open, mine 메서드 추가(리팩토링).
week2.md todo list 변경.
리팩토링. (잘못된 위치의 square를 참조하고자 할 경우에는 IndexOutOfBoundError을 발생시킨다.), ((0, 0)에 지뢰를 설치할 때 주변 square의 주변 지뢰 숫자가 1씩 증가한다.) 완료.
(1, 1)이 지뢰이고, (0, 0)을 open하면 주변의 지뢰 숫자가 공개된다.
[문제발생]. 모두 지뢰가 아닌 경우 특정 위치 하나를 open하면 모든 square가 open된다. <- 무한루프발생. todo list 재설정.
모두 지뢰가 아닌 경우 특정 위치 하나를 open하면 모든 square가 open된다.
- 주변의 square를 모두 가져오는 함수를 구현한다.
- mine!함수에서 주변 square의 near_mine_num증가 부분 리팩토링.
- 해당 square를 모두 돌며 near_mine_num이 0일 경우 재귀적으로 open한다.->구현완료
반복되는 for문 리팩토링
승리조건 리팩토링 (square의 승리판별 함수 삭제 -> row로 옮길것임)
전체 리팩토링
지뢰위에 flag꽂기 테스트 완료. todo list 재설정
Grid 초기화 할 때, mine 랜덤 설치. random테스트 및 메소드 구현 완료
todo list 우선순위 변경
모든 지뢰에만 flag 꽂았을 때 게임 승리하도록 메서드 구현 완료
알고리즘 개선해서 square open 시 중복 접근되지 않도록 리팩토링