새소식

컴퓨터공학

[육목 알고리즘] 그 개발의 시작

  • -
반응형

 

문제 해결 스튜디오라는 우리의 수업에서 이젠 결국 육목 게임 알고리즘까지 구현하기 과제가 나와버렸다..

 


 

육목이란? 

 

육목은 오목과 달리 6개의 돌을 정렬해야 우승하는 게임으로, 수를 둘 때도 하나씩만 두는 오목과 달리 2개씩 둘 수 있다.

또한 이러한 육목은 게임 순서에 따라 후공이 불리한 오목과 달리 턴을 마친 사람의 돌이 상대방보다 늘 1개씩 더 많기 때문에 어느 한쪽이 유리하지 않는다고 한다.

 

 

 

 

 

판은 19x19인 바둑판에서 진행되며,

규칙은 매우 간단한데, 흑이 선공으로 돌 하나를 두고 다음 턴부터는 모두 두 개씩 두다가 먼저 육목을 만드는 사람이 이기는 거다.

쉬운 요약:

  1. 흑돌이 먼저 한 개 둠
  2. 백돌이 두 개 둠
  3. 흑돌이 두 개 둠

(이후 2번으로 돌아가 백돌이 두 개, 흑돌 두 개씩 무한반복)

… (누군가 육목 만듦 == 우승)

 


 

그래서 개발은...?

 

연습 서버로 학교 교수님이 만들어 놓으신 인공지능 육목대회를 위해 개발한 API, 1인용 디버깅용 게임을 사용하였다.

추가적인 룰로는

  • 게임의 다양성을 높이기 위해 심판이 게임 시작 직전에 0~5개의 착수금지점(적돌)을 임의로 배치함.
  • 잘못된 위치에 착수하는 경우, 몰수패.
  • 수는 30초 이내에 해야 함. 타임 오버시 패배

 

나와 팀원은 C 를 사용하여 작업하기로 하였고 결과적으로 토너먼트 형식으로 동메달을 획득했다. 최소 은메달이라고 생각했으나 준결승에서 우승팀을 만나서 아쉽게 마무리하였다. 대진운…

 

 

자세한 코드와 깃허브는 하단에 그리고 개발 과정은 하나씩 기억나는 대로 적어볼 예정이다.

 

코드

  • 개발 서버
 

GitHub - Connect6AI/CONNSIX

Contribute to Connect6AI/CONNSIX development by creating an account on GitHub.

github.com

 

  • 연습 서버
 

GitHub - ARISE-Handong/CONNSIX

Contribute to ARISE-Handong/CONNSIX development by creating an account on GitHub.

github.com

 

 

반응형

'컴퓨터공학' 카테고리의 다른 글

2023 ICPC 예선 후기  (1) 2023.10.24
Contents
-

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.