Random Sudoku game android application
toogle button을 이용하여 메모기능을 활성화/비활성화 가능 게임 도중 일시 정지 시, 화면을 감추고 타이머를 정지game finished dialog
게임 시작 화면으로 넘어오면 9x9 보드 칸에 임의로 숫자 값들을 모두 넣어주는데 스도쿠 규칙에 따라 같은 행, 같은 열, 3*3 박스 내에 같은 숫자가 존재하지 않도록 한다. 이 조건을 만족하는 스도쿠 퍼즐보드를 생성하기 위해서 백트래킹 알고리즘을 사용하였다.
첫번째 행부터 채우며 다음 행으로 넘어가는데, 각 줄의 행과 열, 3*3 박스에 중복된 숫자가 들어 가 있지 않으면 그 값으로 채운다. 그리고 ifCount를 false로 설정하여 해가 1개만 존재하여도 해 당 함수를 끝내도록 하였다. 그 후 난이도에 맞춰 랜덤으로 빈칸을 만들어준다. 수월한 정답 확인을 위하여 랜덤으로 빈칸을 만들고 난 후의 보드에 들어갈 수 있는 해가 1개만 나오도록 설정했다. 이를 위해 ifCount를 true로 설정하여 fillBoard부분에서 해의 개수가 1개 이상 이어도 다음 해를 탐색하도록 하여 나올 수 있는 총 해의 개수를 구한다. 그리고 이 값이 1일 경 우에만 무한루프를 끝내도록 하였고, 그렇지 않은 경우 다시 실행하도록 설정했다.










