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

No packages published

Languages