본문 바로가기
반응형

reversi3

Reversi 게임 제작하기 - 3 이제 컴퓨터가 돌을 놓기 위해서 게임트리를 작성하고 그에 따라서 돌을 놓는 로직이다. 이 부분의 로직은 매우 복잡하고, 알파-베타 가지치기를 효율적으로 사용하기 위해서 자기호출 함수를 사용치 않았다. #defineMINVAL (-1000) #defineMAXVAL (1000) #defineMAXDEPTH(20) unsigned GetOptimal(Gameboard &board, unsigned turn, unsigned maxdepth, unsigned method) { unsigned nodenum = 0; Gameboard boards[MAXDEPTH]; unsigned slot[MAXDEPTH]; unsigned optindex[MAXDEPTH]; int score[MAXDEPTH]; unsigne.. 2019. 12. 22.
Reversi 게임 제작하기 - 2 오델로 게임 오델로(Othello) 게임은 바둑, 장기, 오목 등과 마찬가지로 유명한 보드 게임이다. 오델로 게임은 다른 말로 리버시(Reversi)라고도 불린다. 이 게임은 1800년대에 영국에서 리버시라는 이름으로 만들어졌고, 1970년대에 일본에서 리버시라는 게임이 존재하는지 모르고 세익스피어 작품의 오델로 이름을 따서 현대적 룰을 갖춘 게임이 만들어졌다. 오델로 게임의 규칙 오델로 게임을 가로 8칸, 세로 8칸의 정방형 사각형이 있는 게임판에서 게임을 한다. 오델로에는 총 64개의 돌이 있고, 이 돌은 한쪽은 하얀색, 한쪽은 검은색으로 이루어져 있다. 처음 시작하면 보드 중앙에 4개의 흑과 백돌을 번갈아 배치하게 된다. 돌을 놓을 수 있는 곳은 자신의 색 돌 사이에 적어도 1개 이상의 상대편 돌이.. 2019. 12. 19.
Reversi 게임 제작하기 - 1 게임 트리 게임이론의 소개 게임이론(Game theory)은 자신의 이득을 극대화하기 위해서 수학적 분석 방법을 사용하는 기법이다. 게임이론은 경제학에서 많은 발전을 이루었고, 게임에서는 인공지능을 구현하기 위해서 사용한다. 게임이론을 알기 위해서는 몇가지 예를 통하여 이해하는 것이 좋다. 몬티홀 문제(Monty hall dilemma)는 잘못된 확률 상식을 발생시킬 수 있는 좋은 예이다. 몬티홀은 퀴즈에서 우승한 사람을 대상으로 상품을 고르도록 한다. 세개의 문이 있는데, 이 세개의 문중에 하나에는 비싼 스포츠 자동차와 다른 두개의 문 뒤에는 염소가 있다. 결국 우승자는 스포츠 자동차를 뽑기를 원한다. 단순하게 선택한 문을 열어서 상품을 확인한다면, 3개중에 하나에만 상품이 있기 때문에 확률은 \(\f.. 2019. 12. 19.
728x90