資源描述:
《俄羅斯方塊游戲--mfc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、俄羅斯方塊3.0版本一、采用的技術(shù)方法(1)編程方法采用的MFC;(2)運(yùn)用編程技術(shù):Windows圖形編程技術(shù)(基本的繪圖CDC/HDC,GDI對(duì)象(筆、刷子、字體)、圖形(線、矩形、圓形);(2)菜單、工具條設(shè)計(jì)與使用;(3)對(duì)話框設(shè)計(jì)與使用;(4)系統(tǒng)通用對(duì)話框的使用;(6)基本控件(按鈕、靜態(tài)文本框、文本編輯框、下拉框、列表框等);(7)實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)的可持久化:要求使用數(shù)據(jù)庫(kù)或文件或MFC文檔串行化技術(shù)實(shí)現(xiàn)這一點(diǎn);二、達(dá)到目標(biāo)在我的俄羅斯方塊2.0版本基礎(chǔ)上,完善游戲功能(如背景音樂(lè)和游戲音效的播放,游戲結(jié)束,排行榜等),完善游戲的運(yùn)行規(guī)則(確
2、定輸贏的準(zhǔn)則,積分的獲得方式等)。三、主要步驟1、添加游戲背景音樂(lè),音效資源;2、添加兩個(gè)對(duì)話框類即排行榜對(duì)話框類和打破記錄者更改的對(duì)話框類;3、添加響應(yīng)排行榜對(duì)話框IDD_DIALOG_NEWRECORD和IDD_DIALOG_PH;4、添加結(jié)束菜單ID_VIEW_END和排行榜菜單ID_VIEW_PHB;5、主要代碼說(shuō)明;mciSendString("playmusic\4.mp3repeat",NULL,0,NULL);//背景音樂(lè)是mp3格式循環(huán)播放mciSendString("stopmusic\4.mp3",NULL,0,NULL);/
3、/停止播放背景音樂(lè)caseVK_LEFT://左移russia.Move(1);PlaySound("music\btn.wav",NULL,SND_FILENAME
4、SND_ASYNC);//播放左移音效break;caseVK_RIGHT://右移russia.Move(2);PlaySound("music\btn.wav",NULL,SND_FILENAME
5、SND_ASYNC);//播放右移音效break;caseVK_DOWN://下移russia.Move(3);PlaySound("music\btn.wav",NULL,SND_
6、FILENAME
7、SND_ASYNC);//播放下移音效break;caseVK_UP://變換russia.Move(4);PlaySound("music\transform.wav",NULL,SND_FILENAME
8、SND_ASYNC);//播放變換方塊音效PlaySound("music\fadelayer.wav",NULL,SND_FILENAME
9、SND_ASYNC);//消方塊時(shí)的音效PlaySound("music\lost.wav",NULL,SND_FILENAME
10、SND_ASYNC);//游戲結(jié)束時(shí)的音效響應(yīng)結(jié)束菜單
11、函數(shù)voidCMBlockView::OnViewEnd(){if(AfxMessageBox("是否結(jié)束游戲?",MB_OKCANCEL)==IDOK){russia.end=true;//將結(jié)束標(biāo)志設(shè)為真IfGoon=false;//將繼續(xù)游戲標(biāo)志為假mciSendString("closemusic\4.mp3",NULL,0,NULL);//關(guān)閉背景音樂(lè)KillTimer(1);//移除定時(shí)器1}NewRecord();//是否破紀(jì)錄函數(shù)}開(kāi)始響應(yīng)結(jié)束游戲菜單消息是否結(jié)束游戲?繼續(xù)游戲設(shè)結(jié)束標(biāo)志為真,關(guān)閉背景音樂(lè),移除定時(shí)器結(jié)束響應(yīng)結(jié)束菜單流
12、程圖排行榜功能實(shí)現(xiàn)函數(shù)//...........顯示排行榜對(duì)話框................voidCMBlockView::OnViewPhb(){LoadConfig();//裝載配置CPaihangph;//排行榜對(duì)話框ph.SetBRecord(m_uPrimary);//顯示冠軍分?jǐn)?shù)ph.SetBHolder(m_szPrimary);//顯示冠軍姓名ph.DoModal();//為模態(tài)對(duì)話框SaveConfig();//保存ini信息}/............載入配置...............voidCMBlockView::Lo
13、adConfig(){//----------獲取本地目錄-------------*/charexeFullPath[MAX_PATH];//MAX_PATH在API中有定義,為128CStringstrPath;//存儲(chǔ)執(zhí)行程序路徑GetModuleFileName(NULL,exeFullPath,MAX_PATH);//應(yīng)用程序全路徑存放地址strPath=CString(exeFullPath);strPath=strPath.Left(strPath.ReverseFind('\'));//------------------------
14、-----------*/strPath+="\config.ini";//配置文件名cha