프로젝트 소개
- 사용자와 오목을 둘 수 있는 프로그램으로, 앞의 몇 수를 시뮬레이션을 통해 좋은 미래를 도출하는 수를 선택해 나감으로서 플레이하는 프로그램
기본 가정
- 턴제 게임으로, 각각의 플레이어는 각자의 턴에 각자에게 최선을 이루는 수를 선택해 나간다.
사용기술
- C#의 .NET FrameWork(GUI환경 구성)
- Alpha-Beta Pruning
상태 함수 설정
- 현재 상태가 내게 유리한지, 불리한지를 판단할 척도가 필요
- 오목의 경우 대게 3개의 수가 연속해서 놓아지는 순간부터 유리하게 작용
- 이를 바탕으로 케이스를 총 7가지로 나눠 점수를 부여

- 각각의 케이스마다 점수를 부여하여 현재 판의 상태를 수치로 나타낼 수 있도록 진행
- 내 돌의 경우 +점수, 상대방의 경우 -점수부여
Alpha-Beta Pruning
- 프로그램의 핵심로직으로 시뮬레이션을 통해서 좋은 수를 도출해나가는 과정
- 결과적으로 상태함수의 값은 최댓값이 되어야 한다
- 모든 수를 시뮬레이션을 진행하기엔 시간적으로 부담감이 큼
