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

📄 game_yyllkdoc.cpp

📁 这程序是基于VC++/MFC机制应用开发的一款英语单词连连看游戏
💻 CPP
字号:
// Game_YYLLKDoc.cpp : implementation of the CGame_YYLLKDoc class
//

#include "stdafx.h"
#include "Game_YYLLK.h"

#include "Game_YYLLKDoc.h"
#include "SettingDlg.h"
#include "MainFrm.h"
#include "Game_YYLLKView.h"
#include "SettingDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CGame_YYLLKDoc

IMPLEMENT_DYNCREATE(CGame_YYLLKDoc, CDocument)

BEGIN_MESSAGE_MAP(CGame_YYLLKDoc, CDocument)
	//{{AFX_MSG_MAP(CGame_YYLLKDoc)
	ON_COMMAND(IDM_SET, OnSet)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGame_YYLLKDoc construction/destruction

CGame_YYLLKDoc::CGame_YYLLKDoc()
{
	// TODO: add one-time construction code here
	m_bMusic=AfxGetApp()->GetProfileInt(_T("游戏参数"),_T("m_bMusic"),FALSE);
	m_szMusicFileName=AfxGetApp()->GetProfileString(_T("游戏参数"),_T("m_szMusicFileName"),"");
}

CGame_YYLLKDoc::~CGame_YYLLKDoc()
{
	AfxGetApp()->WriteProfileInt(_T("游戏参数"),_T("m_bMusic"),m_bMusic);
	AfxGetApp()->WriteProfileString(_T("游戏参数"),_T("m_szMusicFileName"),m_szMusicFileName);
}

BOOL CGame_YYLLKDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CGame_YYLLKDoc serialization

void CGame_YYLLKDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}

/////////////////////////////////////////////////////////////////////////////
// CGame_YYLLKDoc diagnostics

#ifdef _DEBUG
void CGame_YYLLKDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CGame_YYLLKDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CGame_YYLLKDoc commands

void CGame_YYLLKDoc::OnSet() 
{
	// TODO: Add your command handler code here
	//弹出设置对话框
	CSettingDlg set;
	if(set.DoModal()==IDOK)
	{//确认则修改参数
		m_bMusic=set.m_bMusic;
		m_szMusicFileName=set.m_strMusicFileName;
		//音乐操作
		//根据配置对MCI设备发送播放或停止播放的指令
		if(m_bMusic==TRUE)
		{
			PlayMusic();
		}
		else
		{
			MCI_GENERIC_PARMS mciGP;
			mciSendCommand(m_wID,MCI_STOP,MCI_NOTIFY,(DWORD)(LPVOID)&mciGP);
		}
		//开始游戏
		//CGame_YYLLKView::OnStart();
	}
}

void CGame_YYLLKDoc::PlayMusic()
{
		//前停止并关闭以前打开的设备(如果正在使用)
	MCI_GENERIC_PARMS mciGP;
	mciSendCommand(m_wID,MCI_CLOSE,MCI_NOTIFY,(DWORD)(LPVOID)&mciGP);
	

	//错误返回码定义
	DWORD dwReturn;
	//定义并填写打开设备的命令参数
	MCI_OPEN_PARMS mciOP;
	mciOP.lpstrDeviceType=NULL;
	mciOP.lpstrElementName=m_szMusicFileName;

	//打开设备
	dwReturn=mciSendCommand(NULL,MCI_OPEN,
							MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&mciOP);
	if(dwReturn==0)
	{
		m_wID=mciOP.wDeviceID;
	}

	//播放
	MCI_PLAY_PARMS mciPP;
	mciSendCommand(m_wID,MCI_PLAY,
				   MCI_NOTIFY,(DWORD)(LPVOID)&mciPP);
}


⌨️ 快捷键说明

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