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