숫자야구게임이 가능한 1대1 채팅프로그램구현

  • 등록일 / 수정일
  • 페이지 / 형식
  • 자료평가
  • 구매가격
  • 2005.07.07 / 2019.12.24
  • 20페이지 / fileicon zip (압축파일)
  • est1est2est3est4est5 3(구매금액의 3%지급)
  • 1,700원
다운로드장바구니
Naver Naver로그인 Kakao Kakao로그인
최대 20페이지까지 미리보기 서비스를 제공합니다.
자료평가하면 구매금액의 3%지급!
이전큰이미지 다음큰이미지
목차
1. 목적
2. 설계 아이디어
3. 프로그램 내용
4. 프로그램 구성과 그 외 중요한 소스들
5. 조원간 작업 분담
6.평가
6. 참고문헌 / web site
본문내용
1. 목적
VISUAL C++ tool로, TCP/IP를 이용한 채팅 프로그램 제작

2. 설계 아이디어
숫자 야구 게임이 가능한 1:1 채팅 프로그램 구현

3. 프로그램 내용
기본과제인 visual c++의 MFC Socket을 이용해 TCP/IP로 데이터를 전송하는 기능을 구현한다.
서버와 클라이언트가 분리되지 않고 하나로 통합되어 사용이 간편한 프로그램이다.
즉 SocketServer 클래스를 이용해 서버 안에 2개의 가상의 클라이언트를 생성해 데이터를 전송한다. Nate나 MSN 같이 별도의 서버 프로그램이 필요없이 한 종류의 프로그램만으로 통신이 가능한 것이 장점이다.
또한 채팅 기능 외에 접속자 서로가 숫자를 입력해 알아맞히는 야구 게임 기능을 첨가해, 일반 채팅 프로그램의 단조로움을 보완했다. 내가 입력한 숫자 3개를 상대가 모두 맞추면 게임이 끝난다.


위와 같이 내 숫자를 입력하면 수정할 수 없도록 내숫자 항목이 비활성화 되고 게임이 시작된다.


4. 프로그램 구성과 그 외 중요한 소스들
CBaseballApp - base class
CBaseballDlg - window 상에 나타나는 세세한 내용들을 관리한다.
( 야구 게임결과 Presentation, 대화목록 갱신, 소켓 생성...)
CBaseballGame - 실제 게임 결과를 처리하는 클래스

SocketClient - 가상의 파일형식의 데이터를 받아 처리하는 클래스
SocketData - 데이터를 전송하는 기능을 처리하는 클래스
SocketServer - server 안에 가상의 client를 생성하여 통신이 가능하도록 해주는 클래스

※야구게임 결과 처리하는 소스
CBaseBallGame::CBaseBallGame()
{
m_szNumber.Empty();
m_nStatus = 0;
m_pWnd = 0;
}

CBaseBallGame::~CBaseBallGame()
{

}
void CBaseBallGame::Init(CWnd *pWnd, CString szNumber){
m_pWnd = pWnd;
m_nStatus = CHAT_GAMESTART01;
SetNumber(szNumber);
}

CString CBaseBallGame::Guess(CString strGuess){
CString strRtn;
int nStrike = 0;
int nBall = 0;
int length = strGuess.GetLength();
int myLength = m_szNumber.GetLength();
for(int i=0; i<length; i++){
if(m_szNumber.GetAt(i) == strGuess.GetAt(i)) {
nStrike++; // 상대방이 입력한 숫자가 위치와 내용 둘 다 맞을 경우 스트라이트 사인을 보낸다
}else{
for(int j=0; j<myLength; j++){
if(i==j) break;
if(m_szNumber.GetAt(j)==strGuess.GetAt(i)){
nBall++; // 내 숫자에 상대방이 입력한 숫자가 포함되어 있다면 볼 사인을 보낸다
}
}
}
}
if( nStrike == 3 ) strRtn = "YOU WIN";
else strRtn.Format("%d S / %d B",nStrike, nBall);

return strRtn;
}

※기타
추후에 파일 전송 기능도 추가할 수 있도록, 데이터를 가상의 파일 형태로 만들어 전송하는 serialize 함수를 사용했다.

5. 조원간 작업 분담
양승석 - 기본적인 프로그램 구성과 소켓 서버와 클라이언트 작업
박혜림 - 디자인 레이아웃 구성과 게임 기능 작업, 데이터 통신 기능 보조

6.평가
TCP/IP를 이용해 채팅을 하면서 동시에 게임도 가능한 프로그램을 만들었으므로 기본 과제는 달성한 셈이다. 그러나 시간관계상 여러 부가 기능은 추가할 수 없는 점과 디자인이 미흡했던 점이 아쉬웠다. 또한 데이터 전송과 게임 기능에만 집중한 나머지, 프로그램의 window 상에서 나타나는 문제점들을 조기에 발견하지 못해 적절하게 수정하지 못했다.
대화가 오래 지속될 때 스크롤 기능이 제대로 동작이 안 되어 앞에서 대화한 내용을 다시 볼 수 없다는 점이 단점이다. 이것은 여러 인터넷 사이트를 뒤져서 해결방법을 찾아보려 했지만 시간관계상 수정은 하지 못했다.
참고문헌
6. 참고문헌 / web site
http://www.codeproject.com
http://www.devpia.com
TCP/IP 소켓과 시스템 프로그래밍 - 김형구 지음 / 가메출판사
자료평가
  • 자료평가0자료평가0자료평가0자료평가0자료평가0
  • 다운 잘 받고 실행시켜 보앗습니다. ip를 적고 접속하기버튼이 실행창 오른쪽 상단에 있던데 어떤식으로 접속하여야 되는지 궁금합니다
  • sjhsjj5***
    (2015.05.14 15:30:11)
  • 자료평가1자료평가1자료평가1자료평가1자료평가1
  • 용량이 너무 없네요...20페이지가 아니라 3페이지임..낚였음...ㅡ.ㅡ;;
  • skykd***
    (2006.11.01 22:02:09)
  • 자료평가2자료평가2자료평가2자료평가2자료평가2
  • TCP/IP를 이용한 채팅 프로그램이라는 점이 마음에 듭니다. 그리고 채팅프로그램의 단조로움을 보완한 게임이 숫자야구 라는 점도 적절했습니다.
  • yuhar***
    (2006.08.31 10:33:31)
회원 추천자료
  • [인사관리시스템 펀경영] 네오위즈의 행복&펀(fun) 경영의 추구
  • 1년 까지 300-400개의 기업들과 제휴관계를 맺고 약 400만 명의 사용자를 인터넷의 세상으로 안내했다. 1999년 네오위즈는 ‘별도의 프로그램 다운로드 없이 웹브라우저만으로 실시간 커뮤니케이션이 가능하고, 접속한 모든 사람들이 한 공간에 있는 것처럼 서로 볼 수 있는 커뮤니티 공간을 만들자’라는 모토 하에 동년 6월에 세이클럽을 개발, 서비스를 오픈하였다. 오픈 이후 1년 가까이 배너광고 등의 수익모델을 구현하지 않고, 커뮤니티 다지기에 힘

  • [자기소개서] 자기소개서 직종별 완벽정리
  • 목차1. 자기소개서란?2. 자기소개서를 요구하는 이유3. 자기소개서에서 꼭 포함되어야 할 내용4. 자기소개서 작성요령★ 참고자료 : 문장의 기본요건5. 인용할만한 자기소개서 문구 1(성장과정, 입사지원동기, 성격(특장점), 장래 희망과 포부)6. 인용할만한 자기소개서 문구2(능력, 성실, 리더쉽, 대인관계)7. 자기소개서 작성시 주의할 점8. 이런 자기소개서는 반드시 탈락한다!! 9. 입사지원서(이력서)/자기소개서를 내기 전 최종 확인사항10. 인

  • [국제경영론] M&A(기업인수합병)에 대해서
  • 숫자에 부과한 부실자산이나 가공자산을 흑자법인이 1:1의 합병비율로 위장하여 흡수합병을 하고 합병 후 이들 부실자산이나 가공자산을 손비로 계산하면 흑자법인은 세금을 절감할 수 있다. 이는 법인세법상의 특별삭감을 통해서 가능하다.④ 법인의 채무에 대하여 자본주 개인이 보증한 경우 채무법인이 해산하게 되면 자본주가 자신의 재산으로 변제해야 한다. 이러한 채무를 전가시키기 위하여 다른 계열법인과 합병시켜 그 법인으로 하여금 채무

  • [자기소개서] 자기소개서 작성법과 업종별, 회사별 자기소개서 작성의 실제 사례
  • ☙ 자기소개서 작성법과 업종별, 회사별 자기소개서 작성의 실제 사례☀ 목차1. 자기소개서란?2. 자기소개서를 요구하는 이유3. 자기소개서에서 꼭 포함되어야 할 내용4. 자기소개서 작성요령★ 참고자료 : 문장의 기본요건5. 인용할만한 자기소개서 문구 1(성장과정, 입사지원동기, 성격(특징, 장점), 장래 희망과 포부)6. 인용할만한 자기소개서 문구 2(능력, 성실, 리더쉽, 대인관계)7. 자기소개서 작성 시 주의할 점8. 이런 자기소개서는 반드시

  • M&A가 경제에 미치는 영향
  • 숫자에 부과한 부실자산이나 가공자산을 흑자법인이 1:1의 합병비율로 위장하여 흡수합병을 하고 합병 후 이들 부실자산이나 가공자산을 손비로 계산하면 흑자법인은 세금을 절감할 수 있다. 이는 법인세법상의 특별삭감을 통해서 가능하다.④ 법인의 채무에 대하여 자본주 개인이 보증한 경우 채무법인이 해산하게 되면 자본주가 자신의 재산으로 변제해야 한다. 이러한 채무를 전가시키기 위하여 다른 계열법인과 합병시켜 그 법인으로 하여금 채무

오늘 본 자료 더보기
  • 오늘 본 자료가 없습니다.
  • 저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객센터에 신고해 주시기 바랍니다.
    사업자등록번호 220-06-55095 대표.신현웅 주소.서울시 서초구 방배로10길 18, 402호 대표전화.02-539-9392
    개인정보책임자.박정아 통신판매업신고번호 제2017-서울서초-1806호 이메일 help@reportshop.co.kr
    copyright (c) 2003 reoprtshop. steel All reserved.