扫雷游戏代码

来源:互联网 发布:php echo 数组 编辑:程序博客网 时间:2024/05/17 09:18
扫雷游戏代码
/*++Copyright (c) 2004-2005  Micro-softModule Name:    DlgHero.cppAbstract:       the class of Dialog for showing the best sore of expert users.Author:Microsoft's Engineer - Unknown Name    improved by Weijian Luo (Arthur Luo)   15-Jun-2005E-mail: skybluehacker@yahoo.com.cnRevision History:      1.0--*/#include "stdafx.h"#include "mine.h"#include "DlgHero.h"#include "MineWnd.h"#include "MineDefs.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////CDlgHero::CDlgHero(CWnd* pParent /*=NULL*/): CDialog(CDlgHero::IDD, pParent){//{{AFX_DATA_INIT(CDlgHero)m_szBHolder = _T("");m_szEHolder = _T("");m_szBRecord = _T("");m_szERecord = _T("");m_szIHolder = _T("");m_szIRecord = _T("");//}}AFX_DATA_INIT}void CDlgHero::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CDlgHero)DDX_Text(pDX, IDC_B_H, m_szBHolder);DDX_Text(pDX, IDC_E_H, m_szEHolder);DDX_Text(pDX, IDC_B_R, m_szBRecord);DDX_Text(pDX, IDC_E_R, m_szERecord);DDX_Text(pDX, IDC_I_H, m_szIHolder);DDX_Text(pDX, IDC_I_R, m_szIRecord);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CDlgHero, CDialog)//{{AFX_MSG_MAP(CDlgHero)ON_BN_CLICKED(IDC_RESET, OnReset)//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////void CDlgHero::SetBHolder(CString holder){m_szBHolder = holder;}void CDlgHero::SetBRecord(UINT record){m_szBRecord.Format("%d秒", record);}void CDlgHero::SetIHolder(CString holder){m_szIHolder = holder;}void CDlgHero::SetIRecord(UINT record){m_szIRecord.Format("%d秒", record);}void CDlgHero::SetEHolder(CString holder){m_szEHolder = holder;}void CDlgHero::SetERecord(UINT record){m_szERecord.Format("%d秒", record);}void CDlgHero::OnReset() {CMineWnd *pMine = (CMineWnd*)AfxGetMainWnd();pMine->ResetRecord();m_szBHolder = DEFAULT_HOLDER;m_szBRecord.Format("%d秒", DEFAULT_RECORD);m_szIHolder = DEFAULT_HOLDER;m_szIRecord.Format("%d秒", DEFAULT_RECORD);m_szEHolder = DEFAULT_HOLDER;m_szERecord.Format("%d秒", DEFAULT_RECORD);UpdateData(FALSE);}
#include "stdafx.h"#include "Mine.h"#include "MineDefs.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////BEGIN_MESSAGE_MAP(CMineApp, CWinApp)<span style="white-space:pre"></span>//{{AFX_MSG_MAP(CMineApp)<span style="white-space:pre"></span>//}}AFX_MSGEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////CMineApp::CMineApp(){}/////////////////////////////////////////////////////////////////////////////CMineApp theApp;const CString className = _T("MineClass");/////////////////////////////////////////////////////////////////////////////BOOL CMineApp::InitInstance(){<span style="white-space:pre"></span>SetRegistryKey("CSER_513_2");<span style="white-space:pre"></span>m_uXMineNum = GetProfileInt(GAME_SETTING, CUSTOM_XNUM, PRIMARY_XNUM);<span style="white-space:pre"></span>m_uYMineNum = GetProfileInt(GAME_SETTING, CUSTOM_YNUM, PRIMARY_YNUM);<span style="white-space:pre"></span>//定义并注册MineWnd窗口<span style="white-space:pre"></span>m_pMineWnd = new CMineWnd();<span style="white-space:pre"></span>WNDCLASS wc;<span style="white-space:pre"></span>ZeroMemory(&wc, sizeof(wc));<span style="white-space:pre"></span>wc.hInstance = AfxGetInstanceHandle();<span style="white-space:pre"></span>wc.lpfnWndProc = ::DefWindowProc;<span style="white-space:pre"></span>wc.hbrBackground = NULL;<span style="white-space:pre"></span>wc.hCursor = LoadCursor(IDC_ARROW);<span style="white-space:pre"></span>wc.hIcon = LoadIcon(IDR_MAINFRAME);<span style="white-space:pre"></span>wc.lpszClassName = className;<span style="white-space:pre"></span>wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU);<span style="white-space:pre"></span>// register the minewnd class<span style="white-space:pre"></span>//注册窗口<span style="white-space:pre"></span>if (!AfxRegisterClass(&wc)) <span style="white-space:pre"></span>{<span style="white-space:pre"></span>AfxMessageBox("注册类失败!");<span style="white-space:pre"></span>return FALSE;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>// get the minewnd coordinates, width and height<span style="white-space:pre"></span>UINT uWidth = DEFAULT_FRAME_X + m_uXMineNum * MINE_WIDTH +<span style="white-space:pre"></span>LINE_WIDTH_0 * 3 + SIDE_WIDTH_0 + SIDE_WIDTH_1;<span style="white-space:pre"></span>UINT uHeight = DEFAULT_FRAME_Y + m_uYMineNum * MINE_HEIGHT + <span style="white-space:pre"></span>LINE_WIDTH_0 * 3 + SIDE_WIDTH_0 * 2 + SIDE_WIDTH_1 + SHELL_S_H;<span style="white-space:pre"></span>UINT uXPos = GetSystemMetrics(SM_CXSCREEN) / 2 - uWidth / 2;<span style="white-space:pre"></span>UINT uYPos = GetSystemMetrics(SM_CYSCREEN) / 2 - uHeight / 2;<span style="white-space:pre"></span>//创建窗口<span style="white-space:pre"></span>if ( !m_pMineWnd->CreateEx( NULL, className, _T("扫雷"), <span style="white-space:pre"></span>WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, <span style="white-space:pre"></span>uXPos, uYPos, uWidth, uHeight,<span style="white-space:pre"></span>NULL, NULL) ) <span style="white-space:pre"></span>{<span style="white-space:pre"></span>AfxMessageBox("创建主窗口失败!");<span style="white-space:pre"></span>return FALSE;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>// 绑定该窗口为主窗口<span style="white-space:pre"></span>m_pMainWnd = m_pMineWnd;<span style="white-space:pre"></span>//显示窗口<span style="white-space:pre"></span>m_pMineWnd->ShowWindow(SW_NORMAL);<span style="white-space:pre"></span>return TRUE;}int CMineApp::ExitInstance() {<span style="white-space:pre"></span>delete m_pMineWnd;<span style="white-space:pre"></span><span style="white-space:pre"></span>return CWinApp::ExitInstance();}


0 0