qt/e 를 이용한 오목게임
DESCRIPTION
QT/E 를 이용한 오목게임. QT/Embedded, iPop 을 이용한 네트워크 오목게임. 금오공과대학교 소프트웨어공학 20020933 이상제. 목차. 개요 구현기능 시스템 구성도 게임흐름도 게임패킷 오목확인 알고리즘 구현 현황 Q&A. 개요. ◎ 임베디드 키트 (iPop 상에서 Qt/Embedded 를 이용하여 간단한 1:1 네트워크 게임 실행. ◎ 간단한 리눅스용 프로그램을 임베디드 키트상에 올려봄으로써 임베디드 기기와 리눅스에 대한 이해. 구현기능. 게임시작 - PowerPoint PPT PresentationTRANSCRIPT
QT/E 를 이용한 오목게임QT/Embedded, iPop 을
이용한네트워크 오목게임
금오공과대학교 소프트웨어공학20020933 이상제
OBSERVER
목차
• 개요• 구현기능• 시스템 구성도• 게임흐름도• 게임패킷• 오목확인 알고리즘• 구현 현황• Q&A
Observer 최종발표2/20
OBSERVER
개요
Observer 제안서3/20
◎ 임베디드 키트 (iPop 상에서 Qt/Embedded 를 이용하여 간단한 1:1 네트워크 게임 실행
◎ 간단한 리눅스용 프로그램을 임베디드 키트상에 올려봄으로써 임베디드 기기와 리눅스에 대한 이해
OBSERVER
구현기능
• 게임시작– Host PC 가 Server, 임베디드 키트가 Client 역할을
하며 상호 연결이 되면 게임 시작
• 승자 판단– 가로 , 세로 , 대각선의 4 방향을 검사하여 바둑돌이
5 개가 연속되어 있으면 승리로 표시– 바둑돌이 6 개 이상 연결되어 있는 경우는 무효처리
• Turn– 자신의 차례가 아니면 클릭 이벤트를 무시
Observer 최종발표4/20
OBSERVER
구현기능
• 무르기 (Undo)– 무르기 신청을 하면 상대편 프로그램에 무르기를 요청– 요청을 받아들이면 최근 한 수를 무르고 다시 시작
• 기권– 기권을 선언하면 상태편의 승리로 게임이 종료
• 종료– 게임이 끝나면 종료버튼으로 프로그램을 종료시킬 수
있음
Observer 최종발표5/20
OBSERVER
시스템 구성도
Observer 최종발표6/20
네트워크
네트워크Embedded Kit(iPop)
Host PC(Linux)
OBSERVER
게임 흐름도
Observer 최종발표7/20
iPop(Client)
Game 패킷Game 적용
Host PC(Server)
Game 패킷Game 적용
네트워크 연결
턴 방식
네트워크 종료
게임종료
OBSERVER
게임 패킷
Observer 최종발표8/20
• A : 기권 선언
• U : 무르기 요청• N : 무르기 거부• Cxy : 무르기 허락 , x,y 는 허락한 쪽의 최근 바둑돌 좌표• Dxy : 무르기를 허락받은 경우 , x,y 는 요청한 쪽의 최근
바둑돌 좌표
• E : 오목확인 알고리즘에 의해 게임이 종료됨을 알림
• Sxy : 일반적인 바둑돌 놓기 , x,y 는 바둑돌의 좌표
OBSERVER
Observer 최종발표9/20
오목확인 알고리즘
BoundCheck함수
int FiveStones::BoundCheck( int x, int y ){ if(x < 0 || x >= 10) return 0; if(y < 0 || y >= 10) return 0; int ch_imgidx=0; if(isBlack == 0){ch_imgidx = 2;} else{ch_imgidx = 3;} if(btnList[x][y]->getIdx() != ch_imgidx) return 0; return 1;}
◎ BoundCheck 함수를 이용하여 8 방향으로 결과값이 1 인동안 반복적으로 더해감◎ 서로 반대방향의 합이 5 가 되면 승리로 판단
OBSERVER
구현현황
Observer 최종발표10/11
초기화면
OBSERVER
구현현황
Observer 최종발표11/11
네트워크 연결 성공
OBSERVER
구현현황
Observer 최종발표12/11
게임화면
OBSERVER
구현현황
Observer 최종발표13/11
무르기 신청
OBSERVER
구현현황
Observer 최종발표14/11
무르기 허락
OBSERVER
구현현황
Observer 최종발표15/11
무르기 허락 ( 결과 )
OBSERVER
구현현황
Observer 최종발표16/11
무르기 거부 ( 결과 )
OBSERVER
구현현황
Observer 최종발표17/11
기권선언
OBSERVER
구현현황
Observer 최종발표18/11
기권결과
OBSERVER
구현현황
Observer 최종발표19/11
승리종료
OBSERVER
Q&A
Observer 최종발표20/20