이번엔
리버시 게임판 내부에서 발생하는
각가지 처리에 대해 알아보겠습니다.
아마도 글을 다 읽을쯤 컴퓨터나 게임보드가
얼마나 많은 고생을 하는지
알게되실 겁니다.
게임판을 만들기 위해선
다음과 처리 필요합니다.
첫째, 뒤집기 처리
둘째, 수를 놓을 수 있는 자리의 판단
셋째, 양측 모두 수를 놓을 수 없을때를 게임종료로 판단
간단한가여?
그러나 플래시로 게임판을 만들다 보니
그 복잡성에 경의로움이 느껴지더군여
돌 뒤집을때 흔히 사용되는 로직은
사잇돌을 자신 돌로 뒤집게(Flip) 만드는
열쇠돌(Key Stone) 을 중심으로
동,
서,
남,
북,
북서,
북동,
남서,
남동 방향에
놓여져 있는 상대돌과 내돌을 모조리 검사하여
화면을 재구성시키는 방법입니다.
○
|
○
|
○
|
○
|
○
|
○
|
○
|
|
Flip
-----> |
○
|
○
|
○
|
○
|
○
|
○
|
○
|
|
|
○
|
○
|
●
|
●
|
●
|
|
|
|
○
|
○
|
○
|
●
|
○
|
|
|
●
|
●
|
●
|
●
|
●
|
●
|
○
|
○
|
●
|
●
|
○
|
○
|
○
|
●
|
○
|
○
|
○
|
●
|
●
|
○
|
●
|
●
|
○
|
●
|
○
|
○
|
○
|
○
|
○
|
○
|
○
|
●
|
●
|
○
|
●
|
●
|
○
|
○
|
|
●
|
●
|
○
|
○
|
○
|
○
|
○
|
|
●
|
●
|
○
|
○
|
○
|
○
|
●
|
|
○
|
●
|
○
|
○
|
○
|
○
|
●
|
|
○
|
|
|
●
|
○
|
●
|
●
|
|
|
|
|
●
|
○
|
●
|
●
|
|
|
|
|
●
|
●
|
●
|
●
|
|
|
|
|
●
|
●
|
●
|
●
|
|
|
이때 발생되는 데이터 비교는
뒤집어 지는 돌에서 뿐만이 아니라
추척해나가는 과정에서 부닥치는
자신의 돌, 상대돌, 빈칸, 외곽 변을 파악하는 과정에서
무수히 발생하며
극단적인 상황에서는 처리가 길어져
딜레이가 발생하는 경우도 생깁니다.
그러한 딜레이를 줄이고자
긴 처리를 함축하는 수학공식이나
데이터 전송 기술, 압축기술에 사용하는
비트 데이터 조작기법을 Flip 처리에
사용하는 경우도 있지요
그러나 이를 세발에 피로 치부하는
AI 처리라는게 있는데
언뜻 AI라고 하면
VOG 서버의 Beaver BOT과 같은
컴퓨터 플레이어의 지능 모듈이라고 생각하시겠지만
그 차원은 아니고
돌을 놓을 수 없는 칸에 돌을 놓으려고 할때
띵~~ 소리를 들려 주는 경우나
예정칸(힌트칸)을 게이머에게 확인시켜주는 경우나
놓을 수 있는 자리가 없을 경우
상대에게 턴을 돌려주는 경우나
양측모두 기회가 없을때를!
게임 종료로 판단하기 위한
Artificial Intelligence 적인
User Support 적인
처리들을 말하는 겁니다.
게임의 원활한 진행을 위하여
매번 처리되는 일련의 AI 기능들이
화면뒤에서 얼마나 숨가쁘게 돌아가고 있는가를
알아보겠습니다.
아래 플래시를 진행 시키면서
Flip(뒤집힘) 처리와
Flip 후에 반드시 발생하는
턴을 유지하는냐 상대에게 넘기느냐에 대한 문제를 해결해주는
A1 처리에서의 데이터 비교횟수를 비교하며 보십시오.
(진행버튼 : Run 다시보기 버튼 : Replay)
위 테스트에 의문이나 불만 있으신분은
히딩크의 말을 빌어
언제든 환영합니다.
이외에도
까페 대문에서 볼 수 있는 오프닝 보드에서는
앞 화면으로 돌아갈수 있는 버튼이 있는데
이와 관련된 내용과
몇가지 남은 이야기를 다음글에 적겠습니다.
긴글 읽어주셔셔 감사해요 ^^
카페 게시글
△▶프로그래밍
기타
리버시 내부에 숨어있는 비밀 - Flip과 AI
peedy
추천 0
조회 611
03.05.23 18:01
댓글 0
다음검색