you select coord( 5, 8 )
0 1 2 3 4 5 6 7 8 9 10 10: 9: 8: X X 7: X O X 6: X O O O O X 5: X X X O O 4: X O O O X O 3: X X 2: O 1: 0:computer select coord( 10, 3 )
Computer Win!!
> bt
show stack stats…
black: (5,5) white: (6,5)
black: (5,3) white: (5,6)
black: (4,4) white: (7,4)
black: (4,7) white: (6,4)
black: (4,5) white: (4,6)
black: (3,5) white: (6,2)
black: (6,3) white: (6,6)
black: (3,6) white: (7,6)
black: (8,6) white: (6,7)
black: (6,8) white: (5,4)
black: (8,7) white: (9,4)
black: (8,4) white: (8,5)
black: (5,8) white: (10,3)
>
히힛 결국 졌습니다… 이걸로 대강 heuristic 은 완성했다 치고;;; 이제 UI 작업으로 넘어가도 되지 않을까 싶군요…
예전에 검색해서 찾은 오목 프로그램과 대전을 시켜볼려고 했더니… 바보같은 수를 두길래 DEBUG 플래그를 키고… leaf node 에서의 heuristic 과 바둑판 상태를 비교해보는 노가다를 해본 결과!! (1.3G 짜리 텍스트 파일을 봐야만 했어요 흑흑) 대각선 방향 중 하나를 두 번 체크하게 되는 버그를 발견했습니다… 그 버그를 잡고 나니 좀 더 똑똑하게 두는 듯 하군요…
또한 의미있는 자리가 더 이상 없을 경우… 최적이라고 판단되는 자리를 못찾게 되므로 에러가 발생할 듯 싶어 뗌빵용 코드도 넣었습니다… 이젠 정말 잘 두는군요… :)
UI 부분은 우선 winapi 로 만들고 있긴 한데 … 아직 소스트리에 추가하지는 않고 있습니다… 바둑판을 그리는 것과 마우스 클릭이벤트가 발생하면 어떤 좌표를 클릭한 것일지를 추정해 내는 부분 정도까지 만들어뒀는데 winapi 를 사용해서 무언가를 만드는 건 첨이긴 하지만… php-gd / gtk 등으로 비슷한 작업들을 많이 해봤기 때문에 쉽게쉽게 넘어가고 있는 듯 합니다…
한 일주일 정도 술을 줄이고 천천히 작업하고 나면… 윈도우용 GUI 버젼이 나올 수 있을 거 같은데… “어떤어떤 작업을 할 게 있는데 어디까지 했다…” 정도를 관리해주는 툴이 있으면 좋을 거 같다는 생각이 살살 밀려오는군요…