지뢰찾기
[엿먹이는 지뢰찾기 개발]
<기본 흐름>
- 지뢰찾기 UI 개발
- 2차원 배열로 구성(C로 어떻게?? 1차원배열 + 1차원배열?)
- 배열 크기와 비교하여 일정비율로 지뢰 생성 (배열을 C언어에서 동적으로 생성 가능한가?? -> 동적할당 + 동적할당?)
- ?와 깃발 오른쪽 클릭으로 제공
- 클릭하면 그 위치와 주변을 확인하여 지뢰인지, 근처에 지뢰가 몇개있는지 보여준다
- 지뢰 건들면 폭☆사☆
- 지뢰를 제외한 모든 부분을 확인 완료했을 경우 게임 승리
<대안 흐름> 3 - (1) : 첫 번째 장소를 클릭하면 지뢰를 생성한다 (2) : 지뢰는 랜덤하게 생성(전역변수로 저장) + 배열을 고정크기로 할 지, 가변 크기로 할 지 결정 필요!
5 - (1) : 지뢰가 근처에 없는 칸을 선택했을 경우 지뢰가 근처에 있는칸(자연수가 나오는 칸)이 나올때 까지 칸을 open
<예외 흐름> E1. 둘 중 하나를 찍어야 하는 상황이 오면 무조건 터트린다!
[터지는 알고리즘] ______ |1 2 2 |1 4 @ @ @ 2| 1 ? ?| @ @ @ |@ 4 @ |? ? @ @ ? ?| @ 5 1| 3 ? 3 |? ? @ |1 4 @ @ 4 1| 2 @ 3| 1 ? 1
▶ 지뢰 둘 중 하나를 골라야 하는 경우 case #1: 9칸중 중앙과 면이 붙어있는 경우(case2, case3, case5) -> 면과 맡다아있는 곳 기준으로 맨 윗줄이 다 지뢰인경우 찍는 경우 case #2: 9칸중 빈칸 2개중 하나가 두면과 맡다아있는 부분에 존재할 때