개성파 블로그

[C언어]콘솔 렌주룰(renju) 오목 완성작! 본문

프로그램/오목

[C언어]콘솔 렌주룰(renju) 오목 완성작!

TWorld 2013. 12. 27. 04:15

오목


omok_renju.exe



안녕하세요. 며칠 전에 렌주룰을 개발한다고 했다가 갑자기 여러 가지 문제가 있다면서 체스를 개발한다고 했습니다.


그래서 2일 전에 미완성작인 체스를 올렸었습니다.


한참 체스를 개발하다가 다 만들고 2~3가지 기능만 하면 되는데 머리 회전이 잘 안 되더군요.


그래서 그냥 시간 좀 남길래 오목 렌주룰 개발하게 되었습니다.


근데 체스를 개발한다고 했을 때 오목이 여러 가지 문제가 있어서 바꾼 것입니다.


여러 가지 문제라고 표현은 했지만 문제가 있는 것은 아닙니다.


제가 인터넷에 돌아다니고 있는 오목 프로그램을 보면 대부분 제 프로그램과 비슷하더군요.(외관상이 아닌, 내부적으로 연산하는 것. 즉, 삼삼을 둘 수 있는 자리 등)


오목ver1.3을 바탕으로 렌주룰로 만들 거면 우선 일반룰에 대해 더 완벽하게 만들어야 합니다.


그러면 시간도 많이 걸릴 뿐더러 제 실력으로 잘 만들 수 있는지도 확신이 안 서서 그냥 아예 오목ver1.2을 바탕으로 렌주룰로 만들었습니다.


제목에서 보면 완성작이란 표현을 사용하였는데 제가 테스트 한 바로는 버그가 없어서 그냥 완성작이라 표현을 하였습니다.

(혹시 하다가 버그나 의심스러운 부분이 있으면 댓글로 알려주세요!)


보시면 외관상도 뭔가 추가하였습니다.


우선 렌주룰이란 어떤 것인지 알아볼까요?


흑의 첫 수는 천원(오목판 정 가운데)에 두어야 한다.

<첫 수는 확실하지가 않네요.

분명 어디서 천원에 두어야 한다고 봤는데, 이 부분이 틀리다면 바로 지적해주세요!>

흑은 삼삼, 사사와 장목(6목 이상)을 두면 금수패가 된다.

백은 삼삼, 사사에 대한 제한이 없다.

백은 장목을 두어도 승리한다.


이상 네 가지 규칙이 있습니다.


<1번 규칙을 적용한 모습>


<커서 부분에 두면 패배!>


<승리하는 모습>


Comments