VC++俄羅斯方塊課程設(shè)計報告含源代碼_第1頁
VC++俄羅斯方塊課程設(shè)計報告含源代碼_第2頁
VC++俄羅斯方塊課程設(shè)計報告含源代碼_第3頁
VC++俄羅斯方塊課程設(shè)計報告含源代碼_第4頁
VC++俄羅斯方塊課程設(shè)計報告含源代碼_第5頁
免費預覽已結(jié)束,剩余187頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、課程設(shè)計報告文檔題目:俄羅斯方塊一.引言1、編寫目的:通過本課程設(shè)計,使學生鞏固面向?qū)ο蟪绦蛟O(shè)計的基本概念、原理和技術(shù),學會使用 Visual C+開發(fā)工具進行簡單面向?qū)ο蟪绦虻拈_發(fā),將理論與實際相結(jié)合,完成一個小型 面向?qū)ο蟪绦虻脑O(shè)計與實現(xiàn),并在此基礎(chǔ)上強化學生的實踐意識,提高其實際動手能力和 創(chuàng)新能力。2、.定義:無3、參考資料:鄭莉.C+語言程序設(shè)計.北京:清華大學出版社,2003羅建軍.大學Visual C+程序設(shè)計案例教程.北京:高等教育出版社,2004劉路放.Visual C+與面向?qū)ο蟪绦蛟O(shè)計教程.北京:高等教育出版社,2000David J.Visual C+ 技術(shù)內(nèi)幕.潘愛民

2、印譯.北京:清華大學出版社,1999侯俊杰.深入淺出MFC武漢:華中科技大學出版社,2001二.任務(wù)的描述:1 .目標:編寫基于 VC+釬發(fā)工具并能通過鍵盤和鼠標進行人機交流俄羅斯方塊游戲,界面友好,容易操作的游戲2.功能描述:通過控制鍵盤可以進行游戲的開始、暫停、結(jié)束;能夠控制方塊的移動、變形;具有進行經(jīng)典的俄羅斯方塊游戲的一般功能到達底部結(jié)束是否按右方向N否按下方向鍵否也Y是否按左方向?qū)⑴f的下一個下墜物用作當前下墜物NYNYNYYN消行操作游戲結(jié)束處理將新生的下墜物代替舊的“下一個下墜物”開始N下降下一個單位 右移更新速度Y結(jié)束(1)類1: CAboutDlg ()類是建立MFC!序時自動

3、生成的類,俄羅斯方塊游戲基本 上用不到這個類,故不做解釋。(2)類2: CMainFrame()框架類主要是對游戲的框架進行設(shè)計。數(shù)據(jù)成員:CStatusBar m_wndStatusBar; 工具欄CToolBar m_wndToolBar; 狀態(tài)欄成員函數(shù):1、CMainFrame()構(gòu)造函數(shù):初始化游戲;2 、CMainFrame()析構(gòu)函數(shù):刪除游戲數(shù)據(jù);3 、OnCreate():工具欄的實現(xiàn) ;4 、PreCreateWindow ()游戲窗口的規(guī)格實現(xiàn);(3)類3: COptionDlg ()游戲狀態(tài)顯示類:主要實現(xiàn)對游戲在進行中的一些狀態(tài) 顯示比如:級別、下一個方塊。數(shù)據(jù)成員:

4、int m_oldArea;區(qū)域大小int m_o ldLevel; 等級int m_oldBlockSytle;背景風格BOOL m_oldDrawGrid;成員函數(shù):1、COptionDlg ()初始化界面:用戶選擇的區(qū)域大小代碼,及級別代碼,方塊樣式2、DoDataExchange ()數(shù)據(jù)類型的轉(zhuǎn)換:由鍵盤消息轉(zhuǎn)換成函數(shù)響應(yīng)消息3、Onok()當用戶按OK按鈕(ID是IDOK)時調(diào)用。覆蓋該|鰲執(zhí)行OK按鈕動作。 對 話框包括自動數(shù)據(jù)檢驗和 交換,缺省方式是對應(yīng)用的某些 變量進行數(shù)據(jù)的檢驗和 更新。(4) CSkyblue_RectApp ()程序自動生成。(5) CSkyblue_R

5、ectView ()視圖類:這是本游戲主要編寫的地方:實現(xiàn)方塊的隨機 生成、方塊的移動、變形。游戲的消行、升級、速度的提升以及游戲的開始和結(jié)束。數(shù)據(jù)成員:int m_nWidth; 子窗口的寬度int m_nHeight; 子窗口的高度int m_iCol;int m_iRow; 列與行的數(shù)量int m_iLarge;(小方塊的大小,它會隨著行與列的不同而不同,具體為:12行10列,30個象素的正方形18 行 15 歹2024 行 20 歹1530 行 25 列, 12) int m_iLevel; 當前的級別,換算成速度的算法為: 1500 - m_iLevel*200int m_iBloc

6、kSytle; 當前選擇的方塊顯示樣式int m_iStartX;int m_iStartY; 游戲區(qū)域左上角的坐標BOOL IsLeftLimit();墜物件是否可向左移動BOOL IsRightLitmit();int InterFace744;接觸面二維數(shù)組,記錄17種下墜物的14種形態(tài)的接觸面信息,把該下墜物的某種形態(tài)種的 4 個方塊,有接觸面則記錄方位,無則為 -1 標識。int m_currentRect; 當前的方塊形狀CString m_strArea;CString m_strLevel; 當前的樣式 ,下一個將會出現(xiàn)的樣式int m_icurrentStatus;int m

7、_inextStatus;OnDraw 中需要用到的設(shè)備名稱CPen *m_pBlackPen;CBrush *m_pGrayBrush;CBrush *m_pBlackBrush;BOOL m_bDrawGrid; 是否畫網(wǎng)格線int m_iPerformance; 游戲總成績BOOL m_bGameEn好戲是否已結(jié)束,為FALSER示開始,否則為結(jié)束成員函數(shù) 1、 ActiveStatusToGameStatus() 將當前下墜物的位置映射到游戲區(qū)域地圖數(shù)組中去;2、 CSkyblue_RectView() 初始化游戲;3、 CSkyblue_RectView() 刪除游戲數(shù)據(jù);4、 Cu

8、rrentAreaAndLevel() 用于生成當前區(qū)域大小與級別所對應(yīng)的漢字描述;5、 DCEnvClear() 調(diào)取位圖資源;6、 DcEnvInitial() 繪圖環(huán)境初始化;7、DrawGame(CDC *pDC)制整個游戲所在窗口的背景;8、 InvalidateCurrent() 刷新當前的區(qū)域;9、 IsBottom() 判斷當前方塊是否已到底,并且銷行等相關(guān)的工作;10、 IsLeftLimit() 方塊是否還可以左移;11、 IsRightLitmit() 方塊是否還可以右移;12、 OnCreate(LPCREATESTRUCT lpCreateStruct) 創(chuàng)建一些設(shè)備

9、;13、OnDraw(CDC* pDC);擔所有繪制屏幕工作;14、OnGameEnd()游戲結(jié)束;15、OnGameExit()清理內(nèi)存設(shè)備環(huán)境,釋放資源;16、 OnGameOption() 游戲設(shè)置 ;17、 OnGamePaush循戲暫停;18、 OnGameStart() 游戲開始;19、 OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)() 處理用戶的輸入,方塊 的左,右移,加速及變形;20、 OnOptionArea() 用菜單設(shè)置區(qū)域大小 ;21、 OnOptionLevel1() 用菜單設(shè)置游戲級別 :22、 OnTimer()

10、 承擔所有驅(qū)動工作;23、 OnUpdateGameEnd(CCmdUI* pCmdUI腳果游戲開始,則止匕游戲結(jié)束按鈕被開 啟;24、 OnUpdateGameExit(CCmdUI* pCmdUI)如果游戲開始,則此退出系統(tǒng)按鈕被屏 蔽;25、 OnUpdateGamePaush(CCmdUI* pCmdU加游戲開始,游戲暫停按鈕開啟26、 Random(int MaxNumber): 產(chǎn)生一個最大值不大于指定值的隨機正整數(shù)(Random);27、RectArrow(int m_Type):當前方塊下降加速,左移,右移28、RectChange():方塊的變形29、RectDown()當前

11、方塊下降30、RectStatusToActiveStatus(int m_which)初始掉落時,將根據(jù)方塊的樣式?jīng)Q定當 前動態(tài)數(shù)組的值31、RectStatusToNextStatus(intm_which)初始掉落時,將根據(jù)方塊的樣式?jīng)Q定下一次將要掉下來的動態(tài)數(shù)組的值32、3.類之間的關(guān)系:CSkyblue_1 .問題1(1)問題描述:所遇問題的描述。(2)解決辦法:該問題的解決辦法2 .問題2(1)問題描述:所遇問題的描述(2)解決辦法:該問題的解決辦法五.程序運行1、游戲主頁面游戲主界面,上方是開始、暫停、結(jié)束、設(shè)置按鈕空戕設(shè)置請戒區(qū)域大?。?2行1。列,蔭或級別選擇:第四堀:中高級

12、二方塊樣式選擇:蘭白條gtp同格背景背景音樂OK ICancel設(shè)置按鈕2、游戲開始:注:右上角是下一個方塊右下角分別顯示分數(shù)、游戲大小和級別。3、開始時可以按暫停按鈕出現(xiàn)下面情況開始按鈕被激活4、按結(jié)束按鈕出現(xiàn)設(shè)置按鈕激活5、消行及得分6、升級7、游戲結(jié)束3.錯誤描述及其解決辦法1)問題 1:問題描述: 所遇問題的描述。解決辦法:該問題的解決辦法。2)問題2問題描述:所遇問題的描述。解決辦法:該問題的解決辦法六、感想認識通過本次課程設(shè)計,談?wù)剬γ嫦驅(qū)ο缶幊痰捏w會。七程序代碼skyblue_Rect.cpp : Defines the class behaviors for the appli

13、cation./#include "stdafx.h"#include "skyblue_Rect.h"#include "MainFrm.h"#include "skyblue_RectDoc.h"#include "skyblue_RectView.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CSkyblue_RectAppBEGIN_MESSAGE_MAP(CSky

14、blue_RectApp, CWinApp)/AFX_MSG_MAP(CSkyblue_RectApp)ON_COMMAND(ID_APP_ABOUT, OnAppAbout)/ NOTE - the ClassWizard will add and remove mapping macros here./ DO NOT EDIT what you see in these blocks of generated code!/AFX_MSG_MAP/ Standard file based document commandsON_COMMAND(ID_FILE_NEW, CWinApp:OnF

15、ileNew)ON_COMMAND(ID_FILE_OPEN, CWinApp:OnFileOpen)/ Standard print setup commandON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp:OnFilePrintSetup)END_MESSAGE_MAP()/ CSkyblue_RectApp constructionCSkyblue_RectApp:CSkyblue_RectApp()/ TODO: add construction code here,/ Place all significant initialization in In

16、itInstance/ The one and only CSkyblue_RectApp objectCSkyblue_RectApp theApp;/ CSkyblue_RectApp initializationBOOL CSkyblue_RectApp:InitInstance()AfxEnableControlContainer();/ Standard initialization/ If you are not using these features and wish to reduce the size/ of your final executable, you shoul

17、d remove from the following/ the specific initialization routines you do not need.#ifdef _AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#elseEnable3dControlsStatic(); / Call this when linking to MFC statically#endif/ Change the registry key under which our settings are stored./

18、TODO: You should modify this string to be something appropriate/ such as the name of your company or organization.SetRegistryKey(_T("Local AppWizard-Generated Applications");LoadStdProfileSettings(0); /Load standard INI file options (including MRU)/ Register the application's document

19、templates. Document templates/ serve as the connection between documents, frame windows and views.CSingleDocTemplate* pDocTemplate;pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CSkyblue_RectDoc),RUNTIME_CLASS(CMainFrame), / main SDI frame windowRUNTIME_CLASS(CSkyblue_RectView);Ad

20、dDocTemplate(pDocTemplate);/ Parse command line for standard shell commands, DDE, file openCCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);/ Dispatch commands specified on the command lineif (!ProcessShellCommand(cmdInfo)return FALSE;/ The one and only window has been initialized, so show and upd

21、ate it.m_pMainWnd->ShowWindow(SW_SHOW);m_pMainWnd->UpdateWindow();return TRUE;/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUA

22、L(CAboutDlg)protected:/ DDX/DDV supportvirtual void DoDataExchange(CDataExchange* pDX);/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/ No message handlers/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDat

23、aExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ App command to run the dialogvoid CSkyblue_RectApp:OnAppAbout()CAboutDlg aboutDlg;aboutDlg.DoM

24、odal();/ CSkyblue_RectApp message handlers/ OptionDlg.cpp : implementation file/#include "stdafx.h"#include "skyblue_Rect.h"#include "OptionDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ COptionDlg dialogCOptionDlg:COption

25、Dlg(int m_iArea, int m_iLevel, int m_iBlockStyle,BOOL m_bMusic,BOOL m_bDrawGrid, CWnd* pParent /*=NULL*/): CDialog(COptionDlg:IDD, pParent)m_oldArea = m_iArea;m_oldLevel = m_iLevel;m_oldBlockSytle = m_iBlockStyle;m_oldMusic = m_bMusic;m_oldDrawGrid = m_bDrawGrid;/AFX_DATA_INIT(COptionDlg)m_bMusic =

26、FALSE;m_bDrawGrid = FALSE;/AFX_DATA_INITvoid COptionDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(COptionDlg)DDX_Check(pDX, IDC_CHECK_GRID, m_bDrawGrid);DDX_Check(pDX, IDC_CHECK_MUSIC, m_bMusic);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(COptionDlg, CDialog)/AFX_MSG_MAP(COption

27、Dlg)ON_WM_CREATE()/ NOTE: the ClassWizard will add message map macros here/AFX_MSG_MAPEND_MESSAGE_MAP()/ COptionDlg message handlersint COptionDlg:OnCreate(LPCREATESTRUCT lpCreateStruct)if (CDialog:OnCreate(lpCreateStruct) = -1)return -1;return 0;BOOL COptionDlg:OnInitDialog()CDialog:OnInitDialog();

28、/ 參傳來的參數(shù)賦初值CComboBox *m_comboArea;CComboBox *m_comboLevel;CComboBox *m_comboBlockStyle;CButton *m_btnDrawGrid;CButton *m_btnMusic;m_comboArea = (CComboBox *)GetDlgItem(IDC_COMBO_AREA);m_comboArea -> SetCurSel( m_oldArea );m_comboLevel = (CComboBox *)GetDlgItem(IDC_COMBO_LEVEL);m_comboLevel ->

29、SetCurSel( m_oldLevel );m_comboBlockStyle = (CComboBox *)GetDlgItem(IDC_COMBO_BLOCK_SYTLE);m_comboBlockStyle -> SetCurSel( m_oldBlockSytle );m_btnDrawGrid = (CButton *)GetDlgItem(IDC_CHECK_GRID);m_btnDrawGrid -> SetCheck(m_oldDrawGrid);m_btnMusic = (CButton *)GetDlgItem(IDC_CHECK_MUSIC);m_btnM

30、usic -> SetCheck(m_oldMusic);return TRUE; / return TRUE unless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSEvoid COptionDlg:OnOK()CComboBox *m_comboArea;CComboBox *m_comboLevel;CComboBox *m_comboBlockStyle;m_comboArea = (CComboBox *)GetDlgItem(IDC_COMBO_AREA);m

31、_comboLevel = (CComboBox *)GetDlgItem(IDC_COMBO_LEVEL);m_comboBlockStyle = (CComboBox *)GetDlgItem(IDC_COMBO_BLOCK_SYTLE);m_iArea = m_comboArea -> GetCurSel();if (m_iArea<0 | m_iArea>3)m_iArea = 0;m_iLevel = m_comboLevel -> GetCurSel();if (m_iLevel<0 | m_iLevel>5)m_iLevel = 2;m_iBl

32、ockStyle = m_comboBlockStyle -> GetCurSel();if (m_iBlockStyle<0 | m_iBlockStyle>5)m_iBlockStyle = 0;CDialog:OnOK();/ skyblue_Rect.cpp : Defines the class behaviors for the application./#include "stdafx.h"#include "skyblue_Rect.h"#include "MainFrm.h#include "sky

33、blue_RectDoc.h"#include "skyblue_RectView.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CSkyblue_RectAppBEGIN_MESSAGE_MAP(CSkyblue_RectApp, CWinApp)/AFX_MSG_MAP(CSkyblue_RectApp)ON_COMMAND(ID_APP_ABOUT, OnAppAbout)/ NOTE - the ClassWizard w

34、ill add and remove mapping macros here./ DO NOT EDIT what you see in these blocks of generated code!/AFX_MSG_MAP/ Standard file based document commandsON_COMMAND(ID_FILE_NEW, CWinApp:OnFileNew)ON_COMMAND(ID_FILE_OPEN, CWinApp:OnFileOpen)/ Standard print setup commandON_COMMAND(ID_FILE_PRINT_SETUP, C

35、WinApp:OnFilePrintSetup)END_MESSAGE_MAP()/ CSkyblue_RectApp constructionCSkyblue_RectApp:CSkyblue_RectApp()/ TODO: add construction code here,/ Place all significant initialization in InitInstance/ The one and only CSkyblue_RectApp objectCSkyblue_RectApp theApp;/ CSkyblue_RectApp initializationBOOL

36、CSkyblue_RectApp:InitInstance()AfxEnableControlContainer();/ Standard initialization/ If you are not using these features and wish to reduce the size/ of your final executable, you should remove from the following/ the specific initialization routines you do not need.#ifdef _AFXDLLEnable3dControls()

37、;/ Call this when using MFC in a shared DLL#elseEnable3dControlsStatic();/ Call this when linking to MFC statically#endif/ Change the registry key under which our settings are stored./ TODO: You should modify this string to be something appropriate/ such as the name of your company or organization.S

38、etRegistryKey(_T("Local AppWizard-Generated Applications");MRU)LoadStdProfileSettings(0); / Load standard INI file options (including/ Register the application's document templates. Document templates/ serve as the connection between documents, frame windows and views.CSingleDocTemplat

39、e* pDocTemplate;pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CSkyblue_RectDoc),RUNTIME_CLASS(CMainFrame), / main SDI frame windowRUNTIME_CLASS(CSkyblue_RectView);AddDocTemplate(pDocTemplate);/ Parse command line for standard shell commands, DDE, file openCCommandLineInfo cmdInfo

40、;ParseCommandLine(cmdInfo);/ Dispatch commands specified on the command lineif (!ProcessShellCommand(cmdInfo)return FALSE;/ The one and only window has been initialized, so show and update it.m_pMainWnd->ShowWindow(SW_SHOW);m_pMainWnd->UpdateWindow();return TRUE;/ CAboutDlg dialog used for App

41、 Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:/ DDX/DDV supportvirtual void DoDataExchange(CDataExchange* pDX);/AFX_VIRTUAL/ Implementation

42、protected:/AFX_MSG(CAboutDlg)/ No message handlers/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CA

43、boutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ App command to run the dialogvoid CSkyblue_RectApp:OnAppAbout()CAboutDlg aboutDlg;aboutDlg.DoModal();/ CSkyblue_RectApp message handlers/ skyblue_RectDoc.cpp : implementation of the CSkyblue_RectDoc class/#in

44、clude "stdafx.h"#include "skyblue_Rect.h"#include "skyblue_RectDoc.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CSkyblue_RectDocIMPLEMENT_DYNCREATE(CSkyblue_RectDoc, CDocument)BEGIN_MESSAGE_MAP(CSkyblue_RectDoc, CDocument)/A

45、FX_MSG_MAP(CSkyblue_RectDoc)/ NOTE - the ClassWizard will add and remove mapping macros here./ DO NOT EDIT what you see in these blocks of generated code!/AFX_MSG_MAPEND_MESSAGE_MAP()/ CSkyblue_RectDoc construction/destructionCSkyblue_RectDoc:CSkyblue_RectDoc()/ TODO: add one-time construction code

46、hereCSkyblue_RectDoc:CSkyblue_RectDoc()BOOL CSkyblue_RectDoc:OnNewDocument()if (!CDocument:OnNewDocument() return FALSE;/ TODO: add reinitialization code here/ (SDI documents will reuse this document) return TRUE;/ CSkyblue_RectDoc serializationvoid CSkyblue_RectDoc:Serialize(CArchive& ar) if (a

47、r.IsStoring()/ TODO: add storing code hereelse/ TODO: add loading code here/ CSkyblue_RectDoc diagnostics#ifdef _DEBUGvoid CSkyblue_RectDoc:AssertValid() constCDocument:AssertValid();void CSkyblue_RectDoc:Dump(CDumpContext& dc) constCDocument:Dump(dc);#endif /DEBUG/ CSkyblue_RectDoc commands/ sk

48、yblue_RectView.cpp : implementation of the CSkyblue_RectView class/#include "stdafx.h"#include "skyblue_Rect.h"#include "skyblue_RectDoc.h"#include "skyblue_RectView.h"#include "OptionDlg.h"/ 音樂播放#include "mmsystem.h"#pragma comment(lib,&qu

49、ot;Winmm.lib")#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CSkyblue_RectViewIMPLEMENT_DYNCREATE(CSkyblue_RectView, CView)BEGIN_MESSAGE_MAP(CSkyblue_RectView, CView)/AFX_MSG_MAP(CSkyblue_RectView)ON_COMMAND(ID_GAME_EXIT, OnGameExit)ON_COMMAND(ID_HELP_ABOUT, OnHelpAbout)/AFX_MSG_MAP/ Standard printing commandsON_WM_KEYDOWN()ON_WM_TIMER()ON_COMMAND(ID_GAME_START, OnGameStart)ON_COMMAND(ID_GAME_END, OnGameEnd)ON_UPDATE_COMMAND_UI(ID_GAME_START, OnUpdateGameStart)ON_UPDATE_COMMAND_UI(ID_GAME_OPTION, OnUpdateGameOption)ON_UPDATE_COMMAND_UI(ID_GAME_E

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論