c++課程設(shè)計(jì)(2)_第1頁(yè)
c++課程設(shè)計(jì)(2)_第2頁(yè)
c++課程設(shè)計(jì)(2)_第3頁(yè)
c++課程設(shè)計(jì)(2)_第4頁(yè)
c++課程設(shè)計(jì)(2)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、成績(jī)管理系統(tǒng) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)部C+課程設(shè)計(jì)題 目 VC+拼圖游戲設(shè)計(jì)學(xué) 部 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 計(jì)科1103班 指 導(dǎo) 教 師 李 軍 姓 名 歐陽(yáng)輝、曾婷 2012年6月3日摘 要拼圖游戲是廣受歡迎的一種智力游戲,它的變化多端,難度不一,讓人百玩不厭。拼圖游戲不僅能增強(qiáng)思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。它既有簡(jiǎn)單易學(xué)的特性,為人民群眾所喜聞樂(lè)見(jiàn)。當(dāng)前網(wǎng)絡(luò)上流傳的拼圖游戲功能并不盡善盡美,其中最主要的問(wèn)題就是很多軟件在圖片打亂上面處理的比較模糊,也有采用固定的打亂方法;而且有時(shí)出現(xiàn)有一對(duì)板塊是對(duì)調(diào)的無(wú)法完成游戲,所以決定開(kāi)發(fā)一個(gè)隨機(jī)打亂圖片可以完成的拼圖游戲系統(tǒng)。其核

2、心規(guī)則是將一整張圖分成N小塊,隨機(jī)打亂,讓用戶拼回原圖。現(xiàn)在通過(guò)已學(xué)的MFC Windows應(yīng)用程序設(shè)計(jì)知識(shí),開(kāi)發(fā)一個(gè)MFC應(yīng)用程序,該程序提供兩種游戲模式:簡(jiǎn)單和困難。在程序中已經(jīng)加入了幾副圖片供用戶娛樂(lè)。此外,它還允許用戶自行添加圖片。本文介紹了一個(gè)基于VC的趣味拼圖游戲開(kāi)發(fā)的全過(guò)程,MFC規(guī)范的出現(xiàn)使得開(kāi)發(fā)VC游戲成為可能。這個(gè)拼圖游戲是一個(gè)3*3(4*4)的拼圖,由9(16)個(gè)隨機(jī)分割打亂的小圖片構(gòu)成,其中置一格為空。通過(guò)消息映射控制移動(dòng)空框邊的小圖片來(lái)實(shí)現(xiàn)拼圖,從游戲前得準(zhǔn)備到主要類(lèi)和設(shè)備接口的實(shí)現(xiàn),最后運(yùn)行、調(diào)試和打包。關(guān)鍵詞:VC,拼圖,MFC,游戲,隨機(jī)分割打亂。課程設(shè)計(jì)任務(wù)分

3、配表 表1 信息表姓名 主要工作組員歐陽(yáng)輝負(fù)責(zé)程序框架構(gòu)建及功能代碼的輸入,并調(diào)試程序并書(shū)寫(xiě)一部分實(shí)驗(yàn)報(bào)告。 曾 婷負(fù)責(zé)查找一部分代碼的資料,并完成一部分實(shí)驗(yàn)報(bào)告。課程設(shè)計(jì)成績(jī)表表2 成績(jī)表姓名學(xué)號(hào)班級(jí)成績(jī)組員歐陽(yáng)輝計(jì)科1103曾 婷11432324814316 計(jì)科1103 目 錄第1章 前言31.1 課題背景31.2 課題意義 41.3 主要要求4 1.4 理論依據(jù)與工作內(nèi)容21第2章 系統(tǒng)功能分析62.1 功能模塊的實(shí)現(xiàn)62.1.1 成績(jī)輸入模塊62.1.2 增加數(shù)據(jù)72.1.3 修改數(shù)據(jù)82.1.4按姓名查詢92.1.5按學(xué)號(hào)查詢102.1.6輸出所有學(xué)生的成績(jī)112.1.7主函數(shù)12

4、第3章 系統(tǒng)測(cè)試143.1程序流程圖143.2 程序運(yùn)行測(cè)試163.2.1 程序主界面圖163.2.2輸入數(shù)據(jù)信息圖163.2.3添加數(shù)據(jù)信息圖173.2.4修改數(shù)據(jù)信息圖173.2.5按姓名查詢信息圖183.2.6按學(xué)號(hào)查詢信息圖183.2.7輸出所有學(xué)生的成績(jī)信息圖18第4章 總結(jié)19第1章 前言1.1.課題背景隨著IT行業(yè)的迅猛發(fā)展,計(jì)算機(jī)應(yīng)用開(kāi)始由數(shù)據(jù)、事物處理轉(zhuǎn)向娛樂(lè),這樣就為電腦游戲的產(chǎn)生提供一個(gè)良好的基礎(chǔ)。例如現(xiàn)在有不少的網(wǎng)絡(luò)游戲,但更多的是單機(jī)小游戲。拼圖游戲就是其中一種。所謂拼圖游戲是指將一張完整的圖分成N小塊,隨機(jī)打亂,讓用戶拼回原圖,根據(jù)用戶所花費(fèi)的時(shí)間和步數(shù)的多少來(lái)評(píng)價(jià)

5、其玩游戲的水平的一種游戲。這樣一個(gè)益智游戲可以放松用戶繃緊的神經(jīng),鍛煉用戶的思維能力與邏輯能力。1.2課題意義通過(guò)開(kāi)發(fā)該拼圖游戲,熟練掌握對(duì)話框和常用控件的應(yīng)用,掌握綜合應(yīng)用各種可視化元素和交互技術(shù)實(shí)現(xiàn)一個(gè)典型的Windows 應(yīng)用程序。希望通過(guò)本次開(kāi)發(fā)過(guò)程,進(jìn)一步的掌握調(diào)試程序的技能,尋找錯(cuò)誤,豐富編程經(jīng)驗(yàn),提升編寫(xiě)MFC程序的能力。1.3主要要求運(yùn)行程序后,開(kāi)始游戲。1.用戶可以選擇應(yīng)用程序提供的位圖資源或自定義的位圖作為游戲使用的圖片。2.用戶可以選擇游戲的難度,若選擇“簡(jiǎn)單”,程序?qū)D片分成9塊;若選擇“困難”則分成16塊。3.單擊“重置”菜單項(xiàng)會(huì)重新游戲。單擊任一圖格,圖像將隨機(jī)排列

6、,并開(kāi)始計(jì)時(shí);用戶可單擊空格周?chē)膱D格來(lái)改變其位置。4.用戶在游戲時(shí)可以通過(guò)單擊“提示”菜單項(xiàng)來(lái)查看當(dāng)前圖片的縮略圖。5.拼圖成功后,用戶可以自定義選擇另外一幅圖片重新開(kāi)始游戲或者退出程序。1.4理論依據(jù)與工作內(nèi)容理論依據(jù):該程序基于對(duì)話框程序組成(包括一個(gè)菜單欄,狀態(tài)欄和顯示游戲圖片的游戲區(qū)),主要利用對(duì)話框文檔上的菜單項(xiàng)來(lái)執(zhí)行各個(gè)功能,如:重置、更換位圖、自行加載位圖。在CPictureDlg類(lèi)里面添加成員函數(shù)和變量來(lái)實(shí)現(xiàn)各個(gè)功能。工作內(nèi)容:在基于對(duì)話框的工程中加入菜單操作、用代碼操縱菜單、Windows位圖文件的基本結(jié)構(gòu)、Visual C+中對(duì)位圖資源的操作、Visual C+中對(duì)自定義

7、位圖文件的操作、設(shè)備相關(guān)位圖(DDB)的概念、用Static 控件顯示位圖以及用Status Bar顯示提示信息和Visual C+隨機(jī)函數(shù)該程序。設(shè)計(jì)流程圖繪制邊框加載圖片隨機(jī)打亂圖片拼圖判斷是否與原圖一樣完成拼圖結(jié)束開(kāi)始YN 圖1設(shè)計(jì)流程圖 第2章 系統(tǒng)需求分析2.1 功能模塊的實(shí)現(xiàn)2.1.1 成績(jī)輸入模塊第3章 系統(tǒng)設(shè)計(jì)3.1詳細(xì)設(shè)計(jì)過(guò)程(包含關(guān)鍵代碼及截圖)3.1.1 創(chuàng)建初始界面 新建一個(gè) MFC AppWizard(exe)工程,將其命名為 Picture,在第一步選擇 基本對(duì)話框,如圖所示,接下來(lái)直接點(diǎn) 完成。在 Workspace 的 Resource 標(biāo)簽中加入菜單資源,方法

8、是在 Picture resources 上右擊,在彈出的快捷菜單中選擇 insert;然后在彈出的對(duì)話框中選中 menu 項(xiàng),單擊 New。 圖3-1新建工程圖3-2添加菜單項(xiàng)以上完成后,右擊打開(kāi)對(duì)話框的屬性(Properties),將對(duì)話框的ID號(hào)設(shè)為IDD_PICTURE_DIALOG,Caption 設(shè)置為“拼圖游戲”,并為 Menu 屬性對(duì)應(yīng)的下拉框選擇IDR_MENU1,如下圖所示;這樣菜單就可以在程序運(yùn)行時(shí)顯示在主對(duì)話框的頂部了。 圖3-3拼圖游戲?qū)傩赃\(yùn)行結(jié)果如下: 圖3-4運(yùn)行結(jié)果 在 ClassView 標(biāo)簽中為 CPictureDlg 類(lèi)添加兩個(gè) CMenu 類(lèi)型的成員變量

9、*pMainMenu,*pSubMenu.3.1.2 位圖的讀入和顯示 在程序中,需要由用戶來(lái)選擇游戲中使用的圖片,同時(shí)還需要將整幅圖片分成不同的小塊。因此,采用(Picture)Static 控件作為位圖的載體,分別顯示圖片的不同部分。 首先,需要讀入位圖資源。單擊 VC6.0 菜單欄上的“InsertResource”子菜單,在彈出的對(duì)話框中選中 Bitmap,再單擊“import”,在彈出的對(duì)話框中找到你需要添加進(jìn)來(lái)的圖片(注意在文件類(lèi)型下拉框中選擇“所有文件(*.*)”,否則你將找不到“*.bmp”的圖片),單擊“import”后將彈出如圖所示的確認(rèn)框,單擊“確定”即可。 圖3-5位圖

10、添加成功依次添加四個(gè)位圖文件(ID 默認(rèn))后,在 ResourceView 中將看到如圖所示效果: 圖3-6添加四副位圖為對(duì)話框的“圖片”菜單添加五個(gè)菜單項(xiàng),如圖2-3所示,ID分別為:ID_PICTURE1,ID_PICTURE2,ID_PICTURE3,ID_PICTURE4,ID_ADVAN。參數(shù) nBitmapID 指定位圖資源的 ID 號(hào),nMenuID 指定菜單項(xiàng)的 ID 號(hào)。在函數(shù)中,我們首先用 GetSubMenu 得到指向彈出菜單對(duì)象的指針,然后用 CheckMenuItem 方法為 nMenuID所指定的菜單項(xiàng)放置選中標(biāo)記。接下來(lái)用 CBitmap 對(duì)象的 LoadBitm

11、ap 方法將 nBitmapID 所指定的位圖載入。相應(yīng)代碼如下:void CPictureDlg:OnRun(UINT nBitmapID, UINT nMenuID) pSubMenu = pMainMenu->GetSubMenu(1); pSubMenu->CheckMenuItem(ID_PICTURE1,MF_UNCHECKED); pSubMenu->CheckMenuItem(ID_PICTURE2,MF_UNCHECKED); pSubMenu->CheckMenuItem(ID_PICTURE3,MF_UNCHECKED); pSubMenu->

12、;CheckMenuItem(ID_PICTURE4,MF_UNCHECKED); pSubMenu->CheckMenuItem(ID_ADVAN,MF_UNCHECKED); pSubMenu->CheckMenuItem(nMenuID, MF_CHECKED);用類(lèi)向?qū)В–lassWizard,“View”菜單下的第一個(gè)子菜單,也可按 Ctrl + W 快捷鍵打開(kāi))依次為對(duì)話框中的“圖像”菜單中的子菜單項(xiàng)添加消息響應(yīng)函數(shù)四張圖片對(duì)應(yīng)菜單的消息響應(yīng)代碼如下:void CPictureDlg:OnPicture1() / TODO: Add your command handl

13、er code OnRun(IDB_BITMAP1, ID_PICTURE1);void CPictureDlg:OnPicture2() / TODO: Add your command handler code OnRun(IDB_BITMAP2, ID_PICTURE2);void CPictureDlg:OnPicture3() / TODO: Add your command handler code OnRun(IDB_BITMAP3, ID_PICTURE3);void CPictureDlg:OnPicture4() / TODO: Add your command handl

14、er code OnRun(IDB_BITMAP4, ID_PICTURE4); “自定義”菜單項(xiàng)的消息響應(yīng)代碼由于需要打開(kāi)一個(gè)新的位圖文件,所以需要先為CPictureDlg 類(lèi)添加一個(gè) HBITMAP 類(lèi)型的成員變量 hBitmap,用來(lái)表示指向位圖資源的句柄。其次,還需要添加兩個(gè) INT 型變量 Width,Height 來(lái)表示用戶打開(kāi)圖片的大小;BOOL 型變量 IsLong 來(lái)表示圖片屬于長(zhǎng)大于寬型還是寬大于長(zhǎng)型,BOOL 型變量 Advan 表示該圖片是否是自定義型。代碼中, LoadImage 方法來(lái)加載自定義文件中的位圖資源,用然后用 GetObject方法得到其 BITMAP

15、 對(duì)象。3.1.3 用(Picture)Static 控件顯示位圖 在游戲程序中,采用 Static Text 即靜態(tài)文本控件來(lái)顯示位圖。靜態(tài)文本控件的功能比較簡(jiǎn)單,可顯示字符串,圖標(biāo),位圖。先為對(duì)話框的“游戲”中的菜單項(xiàng)“容易”和“困難”添加消息響應(yīng),如圖所示另外還需為 CPictureDlg 類(lèi)添加 BOOL 型變量 Easy 來(lái)標(biāo)識(shí)游戲的難度(分為 9 格或 16 格),同時(shí)添加 BOOL 型變量 IsRnd 用來(lái)標(biāo)識(shí)圖格是否進(jìn)行了隨機(jī)位置的初始.把倆個(gè)難度的菜單添加消息響應(yīng)函數(shù),寫(xiě)入相應(yīng)代碼。接下來(lái)為 CPictureDlg 對(duì)話框添加 16 個(gè) Static 控件(可以先設(shè)置好一個(gè)控

16、件后,再通過(guò)復(fù)制得到其它的控件),如圖所示;并設(shè)置它們的屬性:ID 設(shè)為 IDC_IMAGE0 到IDC_IMAGE15,Tabstop 請(qǐng)勾上,Type 屬性設(shè)為 Bitmap;尤為重要的是 Styles 標(biāo)簽里的Notify勾上。控件添加好了后,我們需要添加一個(gè) CStatic 類(lèi)型的數(shù)組 m_Image16與這 16 個(gè) Static 控件相關(guān)聯(lián),通過(guò)這個(gè)操作這個(gè)數(shù)組的下標(biāo)來(lái)控制這 16 個(gè)控件對(duì)圖像進(jìn)行分格顯示。建立關(guān)聯(lián)的代碼應(yīng)寫(xiě)在 CPictureDlg 類(lèi)中系統(tǒng)生成的OnInitDialog()函數(shù)體內(nèi),這個(gè)函數(shù)是整個(gè)對(duì)話框程序運(yùn)行的入口,相當(dāng)于一個(gè) main 函數(shù),在這個(gè)函數(shù)體里

17、,我們也需要為之前聲明的變量提供初始值,即將變量初始化,變量沒(méi)有初始化的后果通常會(huì)造成內(nèi)存泄露,使程序在運(yùn)行時(shí)出現(xiàn)莫名奇妙的錯(cuò)誤。接下來(lái)要為 CPictureDlg 類(lèi)添加兩個(gè) INT 型的成員變量 x 和 y,用來(lái)計(jì)算 Static 控件的位置,如圖所示。為 CPictureDlg 類(lèi)添加一個(gè)成員函數(shù) SetPos,用來(lái)對(duì) Static 控件的位置進(jìn)行初始代設(shè)定了 Static 控件的初始位置之后,就可以將圖像拷貝到上面,因此需為 CPictureDlg類(lèi)添加一個(gè)成員函數(shù) SetImage。添加代碼。注意,代碼中涉及到一個(gè)未定義的 BOOL 型變量 Style3d,需要聲明并初始化,這個(gè)變量

18、的作用是判斷用戶選擇的圖片風(fēng)格是 3D 風(fēng)格還是平面風(fēng)格。這是他的初始化。這里我們順便把對(duì)話框菜單的“選項(xiàng)”菜單項(xiàng)完善一下。接下來(lái)用類(lèi)向?qū)椤?D 效果”菜單項(xiàng)和“平面”菜單項(xiàng)添加消息響應(yīng)函數(shù)在函數(shù)體中添加代碼。在游戲正式開(kāi)始之前,我們首先要對(duì)各圖格進(jìn)行隨機(jī)排列。 CPictureDlg 添加兩個(gè)成為員函數(shù) MapRand 和 Rnd,分別用來(lái)作為隨機(jī)函數(shù)和設(shè)定隨機(jī)圖格的位置。相應(yīng)代碼如下:UINT CPictureDlg:MapRand(UINT nMax) int nRand = rand(); float fMap = (float)nMax / RAND_MAX; float fRet

19、Val = (float)nRand*fMap+0.5f; return (UINT)fRetVal;void CPictureDlg:Rnd() int xnum,ynum,level; UINT rand; if(Easy) level = 8; else if(!Easy) level = 15; WINDOWPLACEMENT wpnum, wp15; for(int a = 0; a <= 600; a+) rand = MapRand(4); if(rand=1) for(int b = 0; b <= level - 1; b+) m_Imagelevel.GetWi

20、ndowPlacement(&wp15); m_Imageb.GetWindowPlacement(&wpnum); xnum = wpnum.rcNormalPosition.left; ynum = wpnum.rcNormalPosition.top; if(wpnum.rcNormalPosition.top = wp15.rcNormalPosition.top && wpnum.rcNormalPosition.left = wp15.rcNormalPosition.left - x) m_Imageb.SetWindowPos(NULL,xnum

21、+x,ynum,0,0,SWP_NOSIZE);m_Imagelevel.SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE); if(rand = 2) for(int c = 0; c <= level - 1; c+) m_Imagelevel.GetWindowPlacement(&wp15); m_Imagec.GetWindowPlacement(&wpnum); xnum = wpnum.rcNormalPosition.left; ynum = wpnum.rcNormalPosition.top;if(wpnum.rcN

22、ormalPosition.top=wp15.rcNormalPosition.top && wpnum.rcNormalPosition.left = wp15.rcNormalPosition.left + x) m_Imagec.SetWindowPos(NULL,xnum-x,ynum,0,0,SWP_NOSIZE);m_Imagelevel.SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE); if(rand = 3) for(int d = 0; d <= level - 1; d+) m_Imagelevel.GetWin

23、dowPlacement(&wp15); m_Imaged.GetWindowPlacement(&wpnum); xnum = wpnum.rcNormalPosition.left; ynum = wpnum.rcNormalPosition.top; if(wpnum.rcNormalPosition.left=wp15.rcNormalPosition.left && wpnum.rcNormalPosition.top = wp15.rcNormalPosition.top + y) m_Imaged.SetWindowPos(NULL,xnum,yn

24、um-y,0,0,SWP_NOSIZE);m_Imagelevel.SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE); if(rand = 4) for(int e = 0; e <= level - 1; e+) m_Imagelevel.GetWindowPlacement(&wp15); m_Imagee.GetWindowPlacement(&wpnum);xnum = wpnum.rcNormalPosition.left; ynum = wpnum.rcNormalPosition.top; if(wpnum.rcNorm

25、alPosition.left= wp15.rcNormalPosition.left && wpnum.rcNormalPosition.top = wp15.rcNormalPosition.top - y) m_Imagee.SetWindowPos(NULL,xnum,ynum+y,0,0,SWP_NOSIZE);m_Imagelevel.SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE); if(Easy) m_Image8.ShowWindow(SW_HIDE); else if(!Easy) m_Image8.ShowWindo

26、w(SW_SHOW); m_Image15.ShowWindow(SW_HIDE); pSubMenu = pMainMenu->GetSubMenu(0); pSubMenu->EnableMenuItem(ID_FORHELP,MF_ENABLED); IsRnd = TRUE;函數(shù) rand 用來(lái)產(chǎn)生一個(gè)偽隨機(jī)數(shù),它在頭文件<stdlib.h>中定義。用來(lái)移動(dòng)隨機(jī)圖格的函數(shù)為 MoveImage(int num)函數(shù)。添加相應(yīng)的代碼?,F(xiàn)在,我們就可以依次為那 16 個(gè) Static 控件添加鼠標(biāo)響應(yīng)事件了。代碼如下:void CPictureDlg:OnImage

27、0() / TODO: Add your control notification if(IsRnd) MoveImage(0); else Rnd(); if(IsWin() CanCount = FALSE;其他14個(gè)代碼只改中間那個(gè)數(shù)字。代碼的含義是:?jiǎn)螕?Static 控件時(shí),程序首先判斷圖格是否進(jìn)行了隨機(jī)數(shù)初始化,若是,則移動(dòng)圖格,否則的話先進(jìn)行初始化。此外還需用 IsWin()函數(shù)判斷游戲是否完成,如果完成則設(shè)置計(jì)時(shí)器控制變量 Cancount 為假。在這里聲明一下 BOOL 型變量 Cancount 和 INT型變量 count,他們?cè)诤竺娑紩?huì)用到。在 OnAdvan()函數(shù)中添

28、加如下代碼,如圖在 OnEasy()和 OnHard()函數(shù)中添加如下代碼,如圖在 OnRnd()函數(shù)的最后一行也添加一行代碼,如圖下面我們來(lái)添加判斷游戲是否完成的函數(shù) IsWin(),只要所有的 Static 控件都回到了相應(yīng)的位置,就可以認(rèn)為用戶己完成了拼圖,即游戲完成。為 CPictureDlg添加一個(gè)CStantusBarCtrl類(lèi)型的變量m_wndStatusBar相關(guān)代碼如下:BOOL CPictureDlg:IsWin() WINDOWPLACEMENT wp;int con,move; int win = 0; if(IsLong) move = 70; else move =

29、 0; if(Easy = TRUE) con = 2; else if(!Easy) con = 3; for(int a = 0; a <= con; a+) m_Imagea.GetWindowPlacement(&wp); if(wp.rcNormalPosition.top=0 && wp.rcNormalPosition.left = a*x+move) win+=1; for(int b = 0; b <= con; b+) m_Imagecon+1+b.GetWindowPlacement(&wp); if(wp.rcNormalPo

30、sition.top=y && wp.rcNormalPosition.left = b*x+move) win+=1; if(win<3) return FALSE; for(int c = 0; c <= con; c+) m_Image2*(con+1)+c.GetWindowPlacement(&wp); if(wp.rcNormalPosition.top=2*y && wp.rcNormalPosition.left = c*x+move) win+=1; if(win<5) return FALSE; if(!Easy)

31、for(int d = 0; d <= 3; d+) m_Image12+d.GetWindowPlacement(&wp); if(wp.rcNormalPosition.top=3*y && wp.rcNormalPosition.left =d*x+move) win+=1; if(Easy = TRUE && win = 9) /判斷是否完成 m_Image8.ShowWindow(SW_SHOW); m_wndStatusBar.SetText("祝賀你,拼出來(lái)了!",0,0); return TRUE; else i

32、f(!Easy = TRUE && win = 16) m_Image8.ShowWindow(SW_SHOW); m_Image15.ShowWindow(SW_SHOW); m_wndStatusBar.SetText("祝賀你,拼出來(lái)了!",0,0);return TRUE;else return FALSE;到目前為止,我們的程序運(yùn)行后顯示的仍然是一個(gè)什么圖片都沒(méi)有的對(duì)話框,接下來(lái),我們將為游戲添加啟動(dòng)代碼。打開(kāi)類(lèi)向?qū)?,為之前添加的菜單?xiàng)“開(kāi)始”(ID_BEGIN)“重置”,(ID_REPLAY)“提示”, (ID_FORHELP),和“退出”(ID

33、_QUIT)添加消息響應(yīng)函數(shù)。修改 CPictureDlg 類(lèi)的 OnInitDialog()函數(shù)的內(nèi)容如下:BOOL CPictureDlg:OnInitDialog() CDialog:OnInitDialog(); / Set the icon for this dialog. The framework does this automatically / when the application's main window is not a dialog SetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/

34、 Set small iconsrand(unsigned)time(NULL);/ TODO: Add extra initialization hereBitmap.LoadBitmap(IDB_BITMAP1);pkDC = new CDC;pMainMenu = GetMenu();/獲取菜單Style3d = TRUE;IsLong = FALSE;Advan = FALSE;Easy = TRUE;SetWindowPos(NULL,0,0,356,352,SWP_NOMOVE); /控制窗口大小m_Image0.SubclassDlgItem(IDC_IMAGE0,this);m

35、_Image1.SubclassDlgItem(IDC_IMAGE1,this);m_Image2.SubclassDlgItem(IDC_IMAGE2,this);m_Image3.SubclassDlgItem(IDC_IMAGE3,this);m_Image4.SubclassDlgItem(IDC_IMAGE4,this);m_Image5.SubclassDlgItem(IDC_IMAGE5,this);m_Image6.SubclassDlgItem(IDC_IMAGE6,this);m_Image7.SubclassDlgItem(IDC_IMAGE7,this);m_Image

36、8.SubclassDlgItem(IDC_IMAGE8,this);m_Image9.SubclassDlgItem(IDC_IMAGE9,this);m_Image10.SubclassDlgItem(IDC_IMAGE10,this);m_Image11.SubclassDlgItem(IDC_IMAGE11,this);m_Image12.SubclassDlgItem(IDC_IMAGE12,this);m_Image13.SubclassDlgItem(IDC_IMAGE13,this);m_Image14.SubclassDlgItem(IDC_IMAGE14,this);m_Image15.SubclassDlgItem(IDC_IMAGE15,this);OnBegin();return TRUE; / return TRUE unless you set the focus to a control其中有一個(gè) pk

溫馨提示

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

評(píng)論

0/150

提交評(píng)論