Developfordummies 10
문제 발생
- 아 !!! wiki 문법을 내가 왜 맞춰야 하는데.....
- 사실 sudoku 처음 만드는 거다.
- 어쩌라고....
문제 해결 방안 모색
- 띠로리~~ wiki 문법이 뭐야. 그냥 기존 문서 copy copy 후 수정하자!!!!
- sudoku 만드는 법을 찾아보자!!
시작하자
- 일단 가장 큰 직관성이 보이는 순서도를 택한다. 앞서 얘기했듯이 난 똑똑한 편이 아니라 뭘 적어놓지 않으면 금새 잊어 버린다. 근데 글로 쓰기는 너무 귀찮고.... 초등학교 시절 "양가양가미양"을 기록하던 미술과목을 떠올리며 순서도를 선택했다. 다행히 이 놈은 내 미적감각을 덜 발휘해도 그려진다. 일단 그려보자.
좀 과장된 면이 약간 있긴 하지만 난 이렇게 순서도를 만든다. 괜히 어려운 영어와 전문용어로 내 눈을 정화시키고 싶지 않다. 그냥 순서도는 나를 위한 것이라 생각하고 누구한테 보여주기 싫다(이렇게 만든걸 누구한테 보여주나..ㅡ.ㅡ).
- 알겠어 만들자고..... 근데 어떻게 만들어??????
- (아 위키 문법 정말 귀찮다...ㅜ.ㅜ)앞서 그린 순서도 별로 대략 함수를 만든다. 나는 직관적이라 생각하는데 안 그럴수도 있다. 메인 함수는 으흐흐 귀차나......(생략)
<SyntaxHighlight lang="C"> void start() { } void choose_a_level() { } void create_question() { } void solving_question() { } void end() { } int main(void) {
int sudoku[9][9]; start(); choose_a_level(); create_game();
</SyntaxHighlight> 써놓고 보니 분량을 날로 먹은 것 같다.!!!!!! 으하하하하 즐겁다. 근데 이거 코드는 정렬 우찌하는겨ㅜㅜ
위와 같이 대략적인 순서도를 그린 다음 각 블락별로 세부적인 상황을 하나씩 하나씩 추가하며 기존 순서도는 놔두고 필요하면 블락별 순서도를 다시 그린다.(사실 합체할 능력이 안된다. 중학교 때 도형 공부 좀 열심히 할걸..... ㅡ.ㅡ;;;;)
start()
- 일단 나 시작했어 라는 글자 정도는 띄워줘야 하지 않을까? printf()!!!! 히히히
- 그 다음 사용 방법이라든가 만든이라든가 뭐 이딴 것들 띄워주면 될 거 같다. 일반 게임에서 intro 동영상 나오듯이... 나는 생략..
- 일반적으로 스도쿠 모양은 9X9 배열이므로 요기에 대해 설정해준다. main() 함수에 sudoku[9][9]으로 선언하였다.
짠!!!! <SyntaxHighlight lang="c"> void start() {
printf("Hello World\n"); /* start 문구로는 요게 최고다!! 그냥 그렇다!! 토달지 말아라 !! */
} </SyntaxHighlight>
choose_a_level()
- 레벨을 설정하자.
- 레벨에 따라 스도쿠가 변형되어야 하므로 이건 나중에 생각한다. defalut로 1로 잡자. 추후 사용자에게 입력 받는 걸 택한다.
- 사용자에게 입력받은 걸 알려줘야 하므로 return 함수로 교체교체!!!!. 글을 쓰다보니 레벨 설정하는 건 나중 문제로 삭제하고 싶은데.. 그냥 놔두기로 한다.......
<SyntaxHighlight lang = "c"> int choose_a_level() {
return 1;
} </SyntaxHighlight>
create_a_question()
여기부터 조금씩 하나하나 스도쿠라는 게임을 뜯어봐야 한다는 생각이 든다. 스도쿠 관련한 여러 문서들을 검토해보자.
- 스도쿠 기본틀 모양(아 테이블 ㅜ.ㅜ;;;)
아래와 같은 모양대로 초기 sudoku[9][9] 내용을 초기화 한다.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 4 | 5 | 6 | 7 | 8 | 9 | 1 | 2 | 3 |
| 7 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 |
| 2 | 1 | 4 | 3 | 6 | 5 | 8 | 9 | 7 |
| 3 | 6 | 5 | 8 | 9 | 7 | 2 | 1 | 4 |
| 8 | 9 | 7 | 2 | 1 | 4 | 3 | 6 | 5 |
| 5 | 3 | 1 | 6 | 4 | 2 | 9 | 7 | 8 |
| 6 | 4 | 2 | 9 | 7 | 8 | 5 | 3 | 1 |
| 9 | 7 | 8 | 5 | 3 | 1 | 6 | 4 | 2 |
(-.- 두께와 표 폭을 수정하고 싶지만.. 나의 인내심이 한계다...)
- 여러가지 스도쿠 모양 (기본 모양에서 여러 모양으로 변하는 방법을 알아보자. 아래 첨부 문서를 확인하면 된다.)
파일:Sudoku change 1st.ods 숫자 노가다의 곤욕이구나... (출처: 구글링고고!!)