版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> MFC應(yīng)用開發(fā)技術(shù)</b></p><p><b> 貪食蛇小游戲</b></p><p> 學(xué) 院: </p><p> 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 班 級(jí): </p
2、><p> 學(xué) 號(hào): </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p><b> 摘 要</b></p><p> 本設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡單的貪食蛇小游戲,該游戲不僅實(shí)現(xiàn)了簡單的游戲操作
3、功能,還實(shí)現(xiàn)了靈活的運(yùn)作功能,而且具有簡潔大方的圖文外觀。此設(shè)計(jì)按照軟件工程的方法進(jìn)行,系統(tǒng)具有良好的界面和必要的交互信息,使操作人員能快捷簡單地進(jìn)行操作,給玩家一個(gè)簡易有趣的游戲。本系統(tǒng)開發(fā)平臺(tái)為Windows XP,程序設(shè)計(jì)語言采用C++,在程序設(shè)計(jì)中,采用了結(jié)構(gòu)化與面向?qū)ο髢煞N解決問題的方法。</p><p> 關(guān)鍵詞:程序設(shè)計(jì);計(jì)算器;MFC;按鈕控件</p><p><b
4、> 目 錄</b></p><p><b> 引 言2</b></p><p> 1. vc++6.0 簡介</p><p><b> 3</b></p><p> 2 MFC 簡介3</p><p> 3.需求分析,系統(tǒng)功能……………………
5、………… 4</p><p> 4.游戲要求……………………………………………………………………………………5</p><p> 5. 程序及系統(tǒng)結(jié)構(gòu)設(shè)計(jì)…………………………6</p><p> 6軟件設(shè)計(jì)步驟……………………………………7</p><p> 7. 軟件測(cè)試報(bào)告 …………………………………15</p>&
6、lt;p> 出現(xiàn)的問題…………………………………………………………………………………………………………………………15</p><p><b> 結(jié) 論16</b></p><p><b> 參考文獻(xiàn)16</b></p><p><b> 附 錄19</b></p>
7、<p><b> 引 言</b></p><p> 在程序設(shè)計(jì)中,通過設(shè)計(jì)、編制、調(diào)試一個(gè)模擬計(jì)算器的程序,加深對(duì)語法及語義分析原理的理解,并實(shí)現(xiàn)對(duì)命令語句的靈活應(yīng)用。在程序設(shè)計(jì)中,可以用兩種方法解決問題:一是傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法,二是更先進(jìn)的面向?qū)ο蟪绦蛟O(shè)計(jì)方法。</p><p> 由于多個(gè)函數(shù)均需要訪問某些數(shù)據(jù),這些數(shù)據(jù)常被設(shè)計(jì)為全局變量。而
8、在面向?qū)ο蟪绦蛟O(shè)計(jì)中關(guān)鍵是如何將問題域中的實(shí)體(即日常所見的概念)抽取出來,作為C++程序中的類,而屬性與行為作為類的兩類要素通常是必不可少的,甚至還應(yīng)考慮類必須滿足的約束。本課程設(shè)計(jì)主要在運(yùn)算過程中,如果通過計(jì)算器來完成,就會(huì)減少計(jì)算量,該程序即可以在簡單計(jì)算器鍵面下進(jìn)行簡單運(yùn)算。</p><p> 1. vc++6.0 簡介</p><p> VC++6.0 是 Microsoft
9、 公司推出的一個(gè)基于 Windows 系統(tǒng)平臺(tái)、可視化的 集成開發(fā)環(huán)境,它的源程序按 C++語言的要求編寫,并加入了微軟提供的功能 強(qiáng)大的 MFC(Microsoft Foundation Class)類庫。MFC 中封裝了大部分 Windows API 函數(shù)和 Windows 控件,它包含的功能涉及到整個(gè) Windows 操作系統(tǒng)。MFC 不僅給用戶提供了 Windows 圖形環(huán)境下應(yīng)用程序的框架, 而且還提供了創(chuàng)建應(yīng) 用程序的組件,
10、這樣,開發(fā)人員不必從頭設(shè)計(jì)創(chuàng)建和管理一個(gè)標(biāo)準(zhǔn) Windows 應(yīng) 用程序所需的程序,而是從一個(gè)比較高的起點(diǎn)編程,故節(jié)省了大量的時(shí)間。另 外,它提供了大量的代碼,指導(dǎo)用戶編程時(shí)實(shí)現(xiàn)某些技術(shù)和功能。因此,使用 VC++提供的高度可視化的應(yīng)用程序開發(fā)工具和 MFC 類庫, 可使應(yīng)用程序開發(fā)變 得簡單。</p><p><b> 2 MFC 簡介</b></p><p>
11、 MFC(Microsoft Foundation Classes) , 是 一 個(gè) 微 軟 公 司 提 供 的 類 庫 ( class libraries) 以 C++類的形式封裝了 Windows 的 API, , 它包含了窗口等許多類的定義。 各種類的集合構(gòu)成了一個(gè)應(yīng)運(yùn)程序的框架結(jié)構(gòu),以減少應(yīng)用程序開發(fā)人員的工作 量。其中包含的類包含大量 Windows 句柄封裝類和很多 Windows 的內(nèi)建控件和組 件的封裝類。 MFC 6.
12、0 版本封裝了大約 200 個(gè)類,其中的一些可以被用戶直接使用。例如 CWnd 類封裝了窗口的功能,包括打印文本、繪制圖形及跟蹤鼠標(biāo)指針的移動(dòng)等; CsplitterWnd 類是從 CWnd 類派生出來的,繼承了基類或稱父類 CWnd 類的所有特 性,但增加了自己的功能,實(shí)現(xiàn)拆分窗口,使窗口至少可被拆分成兩個(gè)窗口,用戶 可以移動(dòng)兩個(gè)窗口之間的邊框來改變窗口的大??;CtoolBar 類可以定義工具欄等。 MFC 命名的慣例是類的名字通常是
13、由“C”打頭;成員變量使用前綴“m_” , 接著使用一個(gè)字母來指明數(shù)據(jù)類型,然后是變量的名稱;所有的單詞用大寫字母開 頭。</p><p> 3.需求分析,系統(tǒng)功能</p><p><b> 貪吃蛇游戲需求分析</b></p><p> 貪吃蛇游戲作為一款經(jīng)典小游戲,版本多樣,娛樂性也很高,適合在閑暇時(shí)放松心神。并且可在多個(gè)平臺(tái)上實(shí)現(xiàn),程
14、序簡單易懂,非常適合MFC初學(xué)者學(xué)習(xí)制作。</p><p><b> 貪吃蛇游戲功能介紹</b></p><p> 一條蛇在密閉的圍墻內(nèi),在圍墻內(nèi)隨機(jī)出現(xiàn)一個(gè)食物,通過按鍵盤上的四個(gè)方向鍵控制蛇向上接著又出現(xiàn)食物,等待被蛇吃掉,如果蛇在移動(dòng)過程中,撞到墻壁或身體交叉蛇頭撞到自己的身體游戲結(jié)束。并且可以在游戲開始前自由選擇游戲難度,游戲過程中可暫停游戲,并有積分系統(tǒng)
15、,且積分每滿一定值,蛇的運(yùn)行速度會(huì)逐步增加。</p><p> 4.游戲要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計(jì)要求、圖紙量、工作量要求等) </p><p> 采用面向?qū)ο蟪绦蛟O(shè)計(jì)語言C++進(jìn)行程序開發(fā)</p><p> 選用一種C++語言的開發(fā)環(huán)境設(shè)計(jì)界面及程序</p><p> 在C++6.0M
16、FC開發(fā)環(huán)境下,進(jìn)行程序的運(yùn)行及調(diào)試</p><p> 5. 程序及系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</p><p><b> 貪吃蛇程序設(shè)計(jì)思路</b></p><p><b> 方案討論</b></p><p> 貪吃蛇游戲作為一款經(jīng)典的休閑類小游戲,深受同學(xué)喜愛,因此我們將貪吃蛇作為此次MFC課程設(shè)計(jì)題目
17、。在最初的方案中,我們傾向于單文檔(SDI)的形式設(shè)計(jì),但最初嘗試都因缺少一些文件等情況而失敗??紤]到windows中自帶小游戲大多采用對(duì)話框形式,為能更好的與同學(xué)們的使用習(xí)慣相一致,最終決定使用對(duì)話框(Dialogue)的形式。</p><p><b> 數(shù)據(jù)結(jié)構(gòu)</b></p><p> 在數(shù)據(jù)結(jié)構(gòu)的選取,我們選擇了鏈表,鏈表具有用多少空間就開多少空間的優(yōu)點(diǎn),
18、使程序執(zhí)行更穩(wěn)定,高效。</p><p><b> 游戲控制模塊框</b></p><p><b> 函數(shù)成員 </b></p><p> 貪吃蛇程序整體間調(diào)用關(guān)系</p><p><b> 6軟件設(shè)計(jì)步驟:</b></p><p> 1)打開
19、VC++6.0,選中MFCAppWizard(exe),選路徑如圖:</p><p> 2)新建工程Tcs,在MFC的向?qū)У谝徊竭x擇單文檔,按完成結(jié)束。如圖</p><p> 3)打開Resourseview,在Menu中雙擊,如圖:</p><p> 4)編好對(duì)話框后,在類向?qū)砑尤缦聨讉€(gè)類:如圖</p><p> 5)添加消息響應(yīng)
20、,在Project中選中Tcs,Class name選CTcs,在Object IDs和Messages分別作以下操作:如圖</p><p> 6)在ClassWizard中為剛才編輯好的菜單添加消息處理函數(shù)。打開ClassWizard,選中Message Maps頁。在Class Name中選擇CTcsView,在Object ID中選擇ID_GAME_ START,在Messages中選擇COMMAND,添
21、加消息處理函數(shù)。</p><p> 7)在ClassWizard中添加鍵盤消息處理函數(shù)。打開ClassWizard,選中Message Maps頁。在Class Name中選擇CTcsView,在Object ID中選擇CTcsView,在Messages中選擇WM_KeyDown,添加消息處理函數(shù)。</p><p> 8)在ClassWizard中定時(shí)器消息添加處理函數(shù)。打開Clas
22、sWizard,選中Message Maps頁。在Class Name中選擇CTcsView,在Object ID中選擇CTcsView,在Messages中選擇WM_Timer,添加消息處理函數(shù)。</p><p> 9)編輯生成的代碼,完成程序。</p><p> 10)在程序定義宏定義,確定數(shù)值,構(gòu)造函數(shù),如圖:</p><p> 7. 軟件測(cè)試報(bào)告 &l
23、t;/p><p><b> 游戲編譯程序:</b></p><p> 游戲初始界面:玩家可以在框內(nèi)輸入自己的名字,點(diǎn)擊角色初始化,游戲便開始。</p><p> 游戲說明操作界面:當(dāng)玩家輸入姓名后,點(diǎn)擊開始,便彈出如下操作說明,玩家按Q鍵開始,空格鍵暫停,CTRL鍵調(diào)頭,方向鍵表示方向。</p><p> 游戲運(yùn)行界
24、面:玩家可以在積分框那知曉自己的成績,還可以在排分榜上看到自己名次。</p><p> 游戲結(jié)束界面:玩家失敗,游記便結(jié)束,然后推出……</p><p><b> 出現(xiàn)的問題 </b></p><p> 問題:蛇運(yùn)動(dòng)區(qū)域與邊框不匹配,造成蛇運(yùn)動(dòng)出邊框或未到達(dá)邊框而游戲結(jié)束。</p><p> 原因:相關(guān)數(shù)據(jù)不匹配
25、。</p><p> 解決:重新對(duì)程序中的矩形框繪制函數(shù)數(shù)據(jù)進(jìn)行修改,并修改蛇運(yùn)動(dòng)邊界的判斷條件。</p><p> 問題:食物出現(xiàn)在邊框外,造成游戲無法進(jìn)行。</p><p> 原因:控制事物出現(xiàn)的隨機(jī)函數(shù)出現(xiàn)問題,隨機(jī)坐標(biāo)超出蛇運(yùn)動(dòng)區(qū)域。</p><p> 解決:重新計(jì)算邊界條件,修改隨機(jī)函數(shù)rand()%x中的x值。</p
26、><p> 問題:記分牌有時(shí)會(huì)出現(xiàn)記分錯(cuò)誤。</p><p><b> 原因:尚不明確。</b></p><p><b> 參考文獻(xiàn):</b></p><p> 1)C++程序設(shè)計(jì)實(shí)踐教程第2版 吳乃陵 李海文 高等教育出版社</p><p> 2)深入淺
27、出MFC第2版 候俊杰 華中科技大學(xué)出版社</p><p> 3)Visual C++從入門到實(shí)踐 葛亮 清華大學(xué)出版社</p><p> 4) 鄭莉,董淵,張瑞豐.C++語言程序設(shè)計(jì).第3版.北京:清華大學(xué)出版.2003</p><p> 5) 錢能.C++程序設(shè)計(jì)教程.第二版.北京:清華大學(xué)出版社.200
28、5</p><p> 6) 鄭莉.C++語言程序設(shè)計(jì)案例教程.第一版.北京:清華大學(xué)出版社.2005</p><p> 7) 韋樸,陳泰生. Visual C++通用范例開發(fā)金典.北京:電子工業(yè)出版社.2008</p><p> 8) 揣錦華.面向?qū)ο蟪绦蛟O(shè)計(jì)與VC++實(shí)踐.西安電子科技大學(xué)出版社,2005</p><p> 9) 張
29、建宏,湯練兵,馬德駿.計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)-C語言程序設(shè)計(jì).科學(xué)出版社,2006</p><p> 10) 陳清華.Visual C++課程設(shè)計(jì)案例精選與編程指導(dǎo).東南大學(xué)出版社,2004</p><p> 2012-06-25</p><p><b> 附 錄</b></p><p> 以下代碼,我曾參考過,但有
30、一個(gè)數(shù)組弄不清楚,此貼供大家參考:</p><p> int m_nLeft, m_nTop, m_nWidth, m_nHeight, m_nSize; // 起始坐標(biāo),寬/高度(格數(shù)),每格大小</p><p> int m_nDirect; // 當(dāng)前方向</p><p> // 1-右,2-左,3-下,4-上</p><p>
31、 CPoint m_pAim; // 當(dāng)前目標(biāo)坐標(biāo)</p><p> CArray < CPoint, CPoint > m_aBody; // 蛇身</p><p> int m_nGameStatus; // 游戲狀態(tài):0-未開始,1-開始</p><p> int m_nCount; // 吃掉目標(biāo)數(shù)</p><p>
32、 int m_nTime, m_nTime1; // 用時(shí)間</p><p><b> };</b></p><p> (2)在CSnakeView. Cpp文件,添加3個(gè)成員函數(shù)IniAim、IniGame和ReDiaplay:</p><p> // 該函數(shù)隨機(jī)產(chǎn)生一個(gè)供蛇吃的目標(biāo),如果該目標(biāo)恰巧與蛇身重合,則重新產(chǎn)生一個(gè)</
33、p><p> void CSnakeView::IniAim()</p><p><b> {</b></p><p> int uX, uY; // 目標(biāo)位置</p><p><b> while (1)</b></p><p><b> {</b&g
34、t;</p><p> uX=rand ( ) % m_nHeight;</p><p> uY=rand ( ) % m_nWidth;</p><p> int uTag = 0; // 0-不與蛇身重合,1-重合</p><p> for (int i=0;i <= m_aBody. GetUpperBound ( );i
35、++) </p><p><b> {</b></p><p> CPoint uPoint = m_aBody. GetAt (i);</p><p> if (uPoint. x == uX ||uPoint. y == uY ) // 目標(biāo)與蛇身重合</p><p><b> {</b>
36、;</p><p><b> uTag = 1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if (uTag ==
37、 0)</p><p><b> break;</b></p><p><b> }</b></p><p> m_pAim = CPoint (uX, uY); // 產(chǎn)生的目標(biāo)存放在成員變量中</p><p><b> }</b></p><p&
38、gt; // 該函數(shù)對(duì)游戲初始化,定義游戲的初始狀態(tài)</p><p> void CSnakeView::IniGame()</p><p><b> {</b></p><p><b> // 游戲區(qū)域</b></p><p> m_nLeft = 20;</p><
39、p> m_nTop = 20;</p><p> m_nWidth = 40;</p><p> m_nHeight = 30;</p><p> m_nSize = 10;</p><p><b> // 游初始狀態(tài)</b></p><p> m_nGameStatus = 0
40、;</p><p> m_nDirect = 1;</p><p> m_nCount = 0;</p><p><b> // 初始化蛇身</b></p><p> m_aBody. RemoveAll ( );</p><p> m_aBody. Add ( CPoint (2, 7
41、) );</p><p> m_aBody. Add ( CPoint (2, 6) );</p><p> m_aBody. Add ( CPoint (2, 5) );</p><p> m_aBody. Add ( CPoint (2, 4) );</p><p><b> // 計(jì)時(shí)器清零</b><
42、/p><p> m_nTime = 0;</p><p> m_nTime1 = 0;</p><p> // 初始化隨機(jī)數(shù)發(fā)生器</p><p> srand ( (unsigned) time (NULL) );</p><p><b> // 產(chǎn)生一個(gè)目標(biāo)</b></p>
43、<p> IniAim ( );</p><p><b> }</b></p><p> // 刷新游戲區(qū)域中pPoint處的一個(gè)小方格</p><p> void CSnakeView::ReDisplay(CPoint pPoint)</p><p><b> {</b>&
44、lt;/p><p> InvalidateRect (CRect (m_nLeft + pPoint. y * m_nSize, m_nTop + pPoint. x * m_nSize,</p><p> m_nLeft + (pPoint. y + 1) * m_nSize, m_nTop + (pPoint. x + 1) * m_nSize) );</p><p
45、><b> }</b></p><p> (3)修改CSnakeView的構(gòu)造函數(shù),完成游戲的初始化。</p><p> CSnakeView::CSnakeView()</p><p><b> {</b></p><p> IniGame();</p><p&
46、gt;<b> }</b></p><p> ?。?)在OnDraw中加入代碼,顯示游戲界面。</p><p> void CSnakeView::OnDraw(CDC* pDC)</p><p><b> {</b></p><p> CSnakeDoc* pDoc = GetDocume
47、nt();</p><p> ASSERT_VALID(pDoc);</p><p> // TODO: add draw code for native data here</p><p><b> // 畫游戲區(qū)域</b></p><p> pDC -> SelectStockObject (WHITE
48、_BRUSH);</p><p> pDC -> Rectangle (CRect (m_nLeft - 1, m_nTop - 1, m_nLeft + m_nWidth * m_nSize + 1,</p><p> m_nTop + m_nHeight * m_nSize + 1) );</p><p><b> // 顯示當(dāng)前用時(shí)<
49、;/b></p><p> CString uStr;</p><p> uStr. Format ("當(dāng)前用時(shí):% d", m_nTime);</p><p> pDC -> TextOut (m_nLeft + m_nWidth * m_nSize + 30, 40, uStr);</p><p>&
50、lt;b> // 顯示當(dāng)前得分</b></p><p> uStr. Format ("當(dāng)前得分: % d", m_nCount);</p><p> pDC -> TextOut (m_nLeft + m_nWidth * m_nSize + 30, 140, uStr);</p><p><b> /
51、/ 顯示目標(biāo)</b></p><p> pDC -> SelectStockObject (LTGRAY_BRUSH);</p><p> pDC -> Rectangle (CRect (m_nLeft + m_pAim. y * m_nSize, m_nTop + m_pAim. x * m_nSize,</p><p> m_nL
52、eft + (m_pAim. y + 1) * m_nSize, m_nTop + (m_pAim. x + 1 ) *m_nSize ));</p><p><b> // 畫蛇</b></p><p> for (int i=0; i<= m_aBody. GetUpperBound (); i++)</p><p><b&
53、gt; {</b></p><p> CPoint uPoint = m_aBody. GetAt (i);</p><p> pDC -> Rectangle (CRect (m_nLeft + uPoint. y * m_nSize, m_nTop + uPoint. x * m_nSize,</p><p> m_nLeft + (u
54、Point. y + 1) * m_nSize, m_nTop + (uPoint. x + 1) * m_nSize) );</p><p><b> }</b></p><p><b> }</b></p><p> (5)為游戲菜單下的開始項(xiàng)的消息映射函數(shù)添加代碼。</p><p>
55、void CSnakeView::OnGameStart() </p><p><b> {</b></p><p> // 啟動(dòng)游戲,啟動(dòng)定時(shí)器</p><p> IniGame ( );</p><p> m_nGameStatus = 1;</p><p> SetTimer (1
56、, 100, NULL);</p><p> Invalidate ( );</p><p><b> }</b></p><p> ?。?)為鍵盤按鍵消息處理函數(shù)添加代碼。</p><p> // 根據(jù)按下的方向鍵設(shè)置代表不同方向的值</p><p> void CSnakeView::
57、OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) </p><p><b> {</b></p><p> switch (nChar)</p><p><b> {</b></p><p><b> case 38:</b&g
58、t;</p><p> m_nDirect = 4;</p><p><b> break;</b></p><p><b> case 40:</b></p><p> m_nDirect = 3;</p><p><b> break;</b&g
59、t;</p><p><b> case 37:</b></p><p> m_nDirect = 2;</p><p><b> break;</b></p><p><b> case 39:</b></p><p> m_nDirect
60、= 1;</p><p><b> break;</b></p><p><b> } </b></p><p> CView::OnKeyDown(nChar, nRepCnt, nFlags);</p><p><b> }</b></p><p
61、> ?。?)為定時(shí)器消息處理函數(shù)添加代碼。</p><p> void CSnakeView::OnTimer(UINT nIDEvent) </p><p><b> {</b></p><p> m_nTime1++; // 計(jì)時(shí) </p><p> if (m_nTime1 == 10) // 達(dá)到1
62、秒</p><p><b> {</b></p><p> m_nTime++;</p><p> m_nTime1 = 0;</p><p> Invalidate ( );</p><p><b> }</b></p><p> CPo
63、int uPoint = m_aBody. GetAt (0); // 蛇頭的位置</p><p> int uTag = 0; //是否失敗 </p><p> switch (m_nDirect) // 判斷下一步蛇是否出界</p><p><b> {</b></p><p> case 1: // rig
64、ht</p><p> uPoint. y++;</p><p> if (uPoint. y >= m_nWidth)</p><p><b> uTag = 1;</b></p><p><b> break;</b></p><p> case 2: /
65、/ left</p><p> uPoint. y--;</p><p> if (uPoint. y < 0)</p><p><b> uTag = 1;</b></p><p><b> break;</b></p><p> case 3: // do
66、wn</p><p> uPoint. x++;</p><p> if (uPoint. x >= m_nHeight)</p><p><b> uTag = 1;</b></p><p><b> break;</b></p><p> case 4:
67、// up</p><p> uPoint. x--;</p><p> if (uPoint. x < 0)</p><p><b> uTag = 1;</b></p><p><b> break;</b></p><p><b> }<
68、/b></p><p> if (uTag ==0) // 判斷蛇是否碰到了自身</p><p><b> {</b></p><p> for (int i=0; i <= m_aBody.GetUpperBound(); i++)</p><p><b> {</b><
69、/p><p> CPoint uPoint1 = m_aBody. GetAt (i);</p><p> if (uPoint1. x == uPoint. x && uPoint1.y == uPoint. y)</p><p><b> {</b></p><p><b> uTag
70、= 1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if (uT
71、ag == 0)</p><p><b> {</b></p><p> m_aBody. InsertAt (0, uPoint); // 新的蛇頭的位置</p><p> ReDisplay (uPoint);</p><p> if (uPoint. x == m_pAim. x && uP
72、oint. y == m_pAim. y) // 碰上目標(biāo)</p><p><b> {</b></p><p> m_nCount++;</p><p> IniAim ( );</p><p> Invalidate ( );</p><p><b> }</b>
73、;</p><p><b> else</b></p><p><b> {</b></p><p> CPoint uPoint1 = m_aBody. GetAt (m_aBody.GetUpperBound ( ) );</p><p> m_aBody. RemoveAt (m_aB
74、ody.GetUpperBound ( ) );</p><p> ReDisplay (uPoint1);</p><p><b> }</b></p><p><b> }</b></p><p> else // 游戲結(jié)束</p><p><b>
75、{</b></p><p> KillTimer(1);</p><p> AfxMessageBox("Fail!");</p><p><b> }</b></p><p> CView::OnTimer(nIDEvent);</p><p><b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貪食蛇小游戲的開發(fā)
- java版貪食蛇游戲的設(shè)計(jì)(含錄像)
- 基于arm7的貪食蛇游戲設(shè)計(jì)
- 貪食蛇游戲、計(jì)算器的實(shí)現(xiàn)-軟工課程設(shè)計(jì)任務(wù)書
- 貪食蛇游戲、計(jì)算器的實(shí)現(xiàn)-軟工課程設(shè)計(jì)任務(wù)書
- vb貪食蛇小游戲的開發(fā)畢業(yè)論文
- java課程設(shè)計(jì)報(bào)告貪吃蛇游戲
- 基于mfc的貪吃蛇程序設(shè)計(jì)課程設(shè)計(jì)
- vc可視化課程設(shè)計(jì)mfc貪吃蛇
- java貪吃蛇游戲 課程設(shè)計(jì)
- c語言課程設(shè)計(jì)報(bào)告--貪吃蛇游戲系統(tǒng)
- 嵌入式課程設(shè)計(jì)報(bào)告---貪吃蛇游戲
- mfc課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- qt課程設(shè)計(jì)--貪吃蛇游戲設(shè)計(jì)
- c語言貪吃蛇游戲課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--貪吃蛇游戲
- 貪吃蛇游戲的實(shí)現(xiàn)課程設(shè)計(jì)
- java課程設(shè)計(jì)---java設(shè)計(jì)貪吃蛇游戲
- mfc計(jì)算器課程設(shè)計(jì)報(bào)告
- mfc課程設(shè)計(jì)———利用vc++程序編寫掃雷游戲
評(píng)論
0/150
提交評(píng)論