⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamefrm.cpp

📁 传奇的脱机源代码 非常的好 供大家学习 谢谢
💻 CPP
字号:
// GameFrm.cpp : implementation file
//

#include "stdafx.h"
#include "MirRobot.h"
#include "GameFrm.h"
#include "LoginDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define TIME_MESSAGE_PROC 815
#define TIME_MAIN_GAME_LOOP 816
/////////////////////////////////////////////////////////////////////////////
// CGameFrm

CGameFrm::CGameFrm()
{
}

CGameFrm::~CGameFrm()
{
}


BEGIN_MESSAGE_MAP(CGameFrm, CFrameWnd)
	//{{AFX_MSG_MAP(CGameFrm)
	ON_WM_TIMER()
	ON_WM_CREATE()
	ON_MESSAGE(WM_RUN_DIRECT,OnRun)
	ON_MESSAGE(WM_WALK_DIRECT,OnWalk)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CGameFrm message handlers

void CGameFrm::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	switch(nIDEvent)
	{
	case TIME_MESSAGE_PROC:
		//if(!m_MirGame.MessageProc())
		//	m_MirGame.Logout();
		m_MirGame.Run(2);
		break;
	case TIME_MAIN_GAME_LOOP:
		//KillTimer(TIME_MAIN_GAME_LOOP);
		if(!m_MirGame.GameLoop())
			m_MirGame.Logout();
		break;
	default:
		CWnd::OnTimer(nIDEvent);
	}
}

int CGameFrm::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here

	CLoginDlg dlgLogin;
	if(dlgLogin.DoModal()==IDOK)
	{
		//SetWindowText(dlgLogin.m_retVal.m_ServerName+"/"+dlgLogin.m_retVal.m_Account);
		if(m_MirGame.BeginGame(
#ifdef MIR_SF_CLIENT
			"超浓缩",
			"127.0.0.1",
#else
			dlgLogin.m_retVal.m_ServerName,
			dlgLogin.m_retVal.m_ServerIP,
#endif
			dlgLogin.m_retVal.m_Account,
			dlgLogin.m_retVal.m_Password,
			dlgLogin.m_retVal.m_Character))
		{
			SetTimer(TIME_MAIN_GAME_LOOP,1,NULL);
			return TRUE;
		}
	}
	PostQuitMessage(0);
	return FALSE;
}

afx_msg LRESULT CGameFrm::OnRun(WPARAM w,LPARAM l)
{
	m_MirGame.Run(l);
	return TRUE;
}

afx_msg LRESULT CGameFrm::OnWalk(WPARAM w,LPARAM l)
{
	m_MirGame.Walk(l);
	return TRUE;
}

LRESULT CGameFrm::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	// TODO: Add your specialized code here and/or call the base class
	if(message==WM_SEND_CHAT_NSG)
	{
		CString*s=(CString*)lParam;
		while(!m_MirGame.Say(*s));
	}
	return CFrameWnd::WindowProc(message, wParam, lParam);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -