숫자야구게임이 가능한 1대1 채팅프로그램구현
- 등록일 / 수정일
- 페이지 / 형식
- 자료평가
- 구매가격
- 2005.07.07 / 2019.12.24
- 20페이지 / zip (압축파일)
- 3건 (구매금액의 3%지급)
- 1,700원
최대 20페이지까지 미리보기 서비스를 제공합니다.
자료평가하면 구매금액의 3%지급!
1
2
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 소켓과 시스템 프로그래밍 - 김형구 지음 / 가메출판사
자료평가
- 다운 잘 받고 실행시켜 보앗습니다. ip를 적고 접속하기버튼이 실행창 오른쪽 상단에 있던데 어떤식으로 접속하여야 되는지 궁금합니다
- sjhsjj5***
(2015.05.14 15:30:11)
- 용량이 너무 없네요...20페이지가 아니라 3페이지임..낚였음...ㅡ.ㅡ;;
- skykd***
(2006.11.01 22:02:09)
- TCP/IP를 이용한 채팅 프로그램이라는 점이 마음에 듭니다. 그리고 채팅프로그램의 단조로움을 보완한 게임이 숫자야구 라는 점도 적절했습니다.
- yuhar***
(2006.08.31 10:33:31)