Skip to content

gzero-99/Random-Sudoku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

Random-Sudoku

Random Sudoku game android application

App Icon

스크린샷 2021-12-19 오전 11 48 38

Start Screen

스크린샷 2021-12-22 오전 12 01 17

Choose game difficulty

image

Choose game difficulty in game and Restart a new game

image

Game Screen

스크린샷 2021-12-23 오전 9 45 46

Timer

image

Memo

스크린샷 2021-12-20 오전 11 35 42

toogle button을 이용하여 메모기능을 활성화/비활성화 가능

Stop for a while

스크린샷 2021-12-21 오전 10 42 55

게임 도중 일시 정지 시, 화면을 감추고 타이머를 정지

Victory

ezgif com-gif-maker

image

game finished dialog

Backtracking code to generate puzzle

게임 시작 화면으로 넘어오면 9x9 보드 칸에 임의로 숫자 값들을 모두 넣어주는데 스도쿠 규칙에 따라 같은 행, 같은 열, 3*3 박스 내에 같은 숫자가 존재하지 않도록 한다. 이 조건을 만족하는 스도쿠 퍼즐보드를 생성하기 위해서 백트래킹 알고리즘을 사용하였다.

첫번째 행부터 채우며 다음 행으로 넘어가는데, 각 줄의 행과 열, 3*3 박스에 중복된 숫자가 들어 가 있지 않으면 그 값으로 채운다. 그리고 ifCount를 false로 설정하여 해가 1개만 존재하여도 해 당 함수를 끝내도록 하였다. 그 후 난이도에 맞춰 랜덤으로 빈칸을 만들어준다. 수월한 정답 확인을 위하여 랜덤으로 빈칸을 만들고 난 후의 보드에 들어갈 수 있는 해가 1개만 나오도록 설정했다. 이를 위해 ifCount를 true로 설정하여 fillBoard부분에서 해의 개수가 1개 이상 이어도 다음 해를 탐색하도록 하여 나올 수 있는 총 해의 개수를 구한다. 그리고 이 값이 1일 경 우에만 무한루프를 끝내도록 하였고, 그렇지 않은 경우 다시 실행하도록 설정했다.

Thanks for

image

About

Random Sudoku game android application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages