고급 시스템 프로그래밍 및 실습 Term Project : Qt 프로그래밍을 이용한 오목 게임

Slides:



Advertisements
Similar presentations
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
Advertisements

Embedded System Lab. II GUI Programming in Embedded Linux 경희대학교 컴퓨터공학과 조 진 성.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
순차, 조건, 반복 이점숙 농대 뒷편 언덕을 넘어가며 같은 문제 다르게 해결 순차, 조건, 반복 이점숙
순차, 조건, 반복 이점숙 같은 문제 다르게 해결하기 순차, 조건, 반복 이점숙
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
Network Lab. Young-Chul Hwang
CCTV SYSTEM 구현 유동우 이재규.
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
31강 JAVA 네트워크 JAVA 네트워크 InetAdress, URLConnection 클래스 Socket의 이해
Linux서버를 이용한 채팅프로그램 지도 교수님 : 이형원 교수님 이 름 : 이 은 영 학 번 :
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
8장. 원격지 시스템 관리하기.
Visual Basic .NET 처음 사용하기.
FTP 프로그램 채계화 박재은 박수민.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
NJM Messenger 박상원 박연호.
임베디드 프로그래밍 Lecture #
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
ARP Project 조 충 호 교수님 김 세 진 조교님 조 진 형 변 익 수
프로젝트 발표 순서 12/7(수), 팀 별 15분 발표순서 PPT (팀 별 이름, 구현 내용, 결과-그래프 포함) 각 기법당
Wireless Java Programming
Grade Server Team14. Attention Seeker
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
Neo-plus2 서버 및 클라이언트 설정 방법
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
DSU Nanumi FTP - Network Programming 염대영
RMI Messenger 지도 : 김정배 교수님 조봉진.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
Internet 데이터 전송 목표: 인터넷의 개요 및 기본 내용을 살펴보고 VB에서의 데이터 전송 프로그래밍에 대하여 학습한다. 주요내용 인터넷의 개요 인터넷 데이터 전송 인터넷 프로그래밍 Winsock Client Server 프로그래밍.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
웹디자인
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
2019년도 전자정보공학과 이수체계도 1학년(트랙) 2학년(트랙) 3학년(트랙) 4학년 1학기 2학기 1학기 2학기 1학기
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
7주차 실습 FPGA 보드 사용법.
Kangwon National Univ. | Computer Science
Java , 안드로이드를 이용한 ‘사천성’ Game
I.D.P(Image Download Program)
Self Introduction Template PowerPoint
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
프로젝트 제안서 -TCP/IP를 이용한 메신저 구현-
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
Level 0 Level 1 Level 2 Level 3 공모전 후기 모음 웹 서비스 1. 웹 페이지 설계 2. 웹 서버 구현
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
Introduction to JSP & Servlet
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
다자간 채팅프로그램 김형도 허영민
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
Part 05 TCP/IP 1. 네트워크 2. 포트번호.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
김덕용 게임 엔진론 Project 2차발표.
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
접근제어 솔루션 계정등록 및 클라이언트 설치.
Installation Guide.
Network Lab. Young-Chul Hwang
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
프로젝트 결과 발표 네트워크정보통신과 강동성 이현미.
1. SNMP Setting IP 설정 NetAgent Mini 카드에 제공된 CD의 Netility 프로그램을 설치하여 프로그램을 실행시킨다. Netility 프로그램을 실행하면 네트워크에 있는 SNMP 카드를 찾게 됩니다. “Configure”를 선택하면 IP 설정.
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
JAVA 프로그래밍 16장 JNLP.
중간 결과 보고 ( Server & Client )
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

고급 시스템 프로그래밍 및 실습 Term Project : Qt 프로그래밍을 이용한 오목 게임 200200119 고탁균 200203421 최진범 200503531 최혜림

☺고급 시스템 프로그래밍 및 실습☺ Contents 프로젝트 개요 프로젝트 파트 별 진행 계획 게임 인터페이스 설계 요구/개선 사항

☺고급 시스템 프로그래밍 및 실습☺ 프로젝트 개요 임베디드 시스템(X-Station)상에서 Qt/E를 이용하여 간단한 오목 게임의 수행 간단한 리눅스용 프로그램을 임베디드 시스템상에 올려봄으로써 임베디드 기기와 리눅스에 대한 이해

☺고급 시스템 프로그래밍 및 실습☺ 프로젝트 파트별 진행순서(오목게임) 마우스 클릭시 클릭이벤트에 따른 점찍기 찍은 점을 UDP를 이용하여 서버/클라이언트에 전송 전송된 패킷에 따른 서버/클라이언트에 점찍기 오목알고리즘에 따른 승리조건 체크

☺고급 시스템 프로그래밍 및 실습☺ 프로젝트 파트별 진행순서(포팅) 보드로 간단한 Qt/E용 프로그램 포팅 test  HelloWorld 프로그램 보드에서의 터치스크린 인식여부 확인 키트에서의 소켓통신 여부 테스트 에코 서버/클라이언트 이용 Static 라이브러리를 이용한 포팅

☺고급 시스템 프로그래밍 및 실습☺ 게임 인터페이스 설계 start quit black white Your turn 메뉴 버튼 (좌부터) . start . quit start quit black 검은 돌/하얀 돌 놓은 개수 표시 오목판 14x14 -> 9x9 white 턴 알림 Your turn

☺고급 시스템 프로그래밍 및 실습☺ 게임 - 알고리즘 게임보드는 9*9 크기의 2차원 배열을 적용하여 배열상에서 흰돌과 검은돌을 넣고 뺄 수 있도록 한다. 오목게임의 룰을 적용하여 연속으로 5개의 같은 돌이 놓였을 경우 게임이 끝나게 된다.

☺고급 시스템 프로그래밍 및 실습☺ 게임 - 알고리즘 돌을 놓을 경우 첫 번째 배열부터 Vertical, Horizontal, LeftDown, RightDown 체크를 하여 연속된 돌이 5개 있는지 체크한다. 오목판에 돌이 다 차면 비기고 새 게임이 시작된다.

☺고급 시스템 프로그래밍 및 실습☺ 진행 - 개요 턴 방식의 게임 진행을 한다. 하나의 프로그램에서 서버 / 클라이언트의 역할을 동시에 하고, 유저는 클라이언트가 된다. 항상 클라이언트부터 게임을 시작한다.

☺고급 시스템 프로그래밍 및 실습☺ 게임 - 흐름도 Server Client 네트워크 연결 턴 방식 (Client First) Start Start ok Game 패킷 Game 패킷 게임적용 게임적용 네트워크 종료 게임 종료

☺고급 시스템 프로그래밍 및 실습☺ 클래스 Qobject QDialog QWidget QMainWindow CSockIO 소켓통신(UDP)관련 클래스 QDialog CConnectDlg 접속대화상자관련 클래스 QWidget CGameBoard 오목게임 메인 클래스 QMainWindow MainWindow MainWindow폼 클래스

☺고급 시스템 프로그래밍 및 실습☺ 네트워크 - 프로토콜 command x y message COMMAND CONNECT 접속요청 CONNECT_ACK 접속에 대한 응답 CLOSE 게임종료 SHOOT 돌 놓기 SHOOT_ACK 돌 놓기 응답 MESSAGE 사용 안 함

OnNewPacketConnect() OnNewPacketConnectAck() OnNewPacketShootAck() ☺고급 시스템 프로그래밍 및 실습☺ 네트워크 - 흐름도 client server connect OnNewPacketConnect() connect_ack OnNewPacketConnectAck() game start shoot OnNewPacketShoot() shoot_ack OnNewPacketShootAck() ...... close OnNewPacketShoot() game quit

☺고급 시스템 프로그래밍 및 실습☺ 요구/개선방향 설계시 고려한 프로그램 개선사항 3*3 체크 무르기 및 비기기 신청 기능 보드의 키패드를 이용한 아이피 입력(구현중)

☺고급 시스템 프로그래밍 및 실습☺ 고찰 기본적인 리눅스 사용법 이해 Qt 프로그래밍 PXA255기반의 X-station에 대한 이해 프로그램의 임베디드 시스템으로의 포팅 방법(static, shared) 이해