版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> C++課程設(shè)計報告</b></p><p> (貪吃蛇游戲的實(shí)現(xiàn))</p><p> 院 系:計算機(jī)工程系</p><p> ?! I(yè): 軟件工程</p><p><b> 學(xué) 號:</b></p><p><b> 姓
2、 名:</b></p><p><b> 目錄</b></p><p> 一、應(yīng)用程序的最終界面</p><p><b> 1.1選題背景</b></p><p><b> 1.2關(guān)于編譯軟件</b></p><p><b>
3、; 1.3關(guān)于兼容性</b></p><p><b> 二、概要設(shè)計</b></p><p> 2.1程序流程與思路</p><p><b> 三、軟件實(shí)現(xiàn)</b></p><p> 3.1變量函數(shù)的聲明</p><p> 3.2主要功能的實(shí)現(xiàn)<
4、/p><p> 3.2.1初始化食物</p><p><b> 3.2.2游戲控制</b></p><p><b> 四、結(jié)果與討論</b></p><p> 4.1錯誤調(diào)試與分析</p><p><b> 4.2程序的缺陷</b></p&g
5、t;<p><b> 五、總結(jié)展望</b></p><p> 一、應(yīng)用程序的最終界面</p><p> 本游戲是通過鍵盤的方向鍵來控制貪吃蛇的運(yùn)動的,最終運(yùn)行所產(chǎn)生的界面效果如下</p><p><b> 1.1.選題背景</b></p><p> 貪吃蛇是家喻戶曉的益智類小
6、游戲,選擇這個題目一是為了將自己的所學(xué)知識加以運(yùn)用,二是一直以來貪吃蛇這個游戲就深深地吸引著我,它的制作方法對于以前的我而言都是很神秘的。我希望通過自己的所學(xué)知識把它剖析開來,真真正正的了解它的本質(zhì)和精髓。雖然我的編程能力不是很強(qiáng),但是我有信心,在這次學(xué)習(xí)中我將從實(shí)踐和實(shí)際的項(xiàng)目中提高自己的編程能力。因此我選定了這個題目。</p><p><b> 1.2關(guān)于編譯軟件</b></p&
7、gt;<p> 本程序采用Microsoft Visual C++6.0的中文版本進(jìn)行編譯。VisualC++6.0是Microsoft公司推出的基于Windows操作系統(tǒng)的可視化C++編程工具,盡管Microsoft公司推出了.NET平臺的集成開發(fā)環(huán)境,但由于其良好的界面和可操作性,加上支持標(biāo)準(zhǔn)C/C++規(guī)范,但仍有相當(dāng)多的編程人員使用VisualC++6.0進(jìn)行應(yīng)用系統(tǒng)的開發(fā)。</p><p>
8、;<b> 第二章 概要設(shè)計</b></p><p> 2.1軟件主要功能設(shè)計</p><p><b> 2.1.1程序思路</b></p><p> 在數(shù)據(jù)結(jié)構(gòu)上,用數(shù)組存儲蛇以及蛇的運(yùn)動區(qū)域。在數(shù)組中,每個元素有四個云感動方向,分別為RIGHT,LEFT,UP,DOWN.在沒有蛇身的區(qū)域,數(shù)組的元素值為0。在蛇
9、身的每個節(jié)點(diǎn),用一個數(shù)組元素存儲當(dāng)前蛇節(jié)點(diǎn)的運(yùn)動方向。通過改變數(shù)組中元素的值來表示蛇身的移動。在程序中運(yùn)用定時器來保證蛇的持續(xù)移動。每個一定的時間間隔,蛇移動一格。</p><p> 在設(shè)計界面時。在Visual Studio C++6.0的環(huán)境下,由于目前自己的水平有限,所以游戲界面依然是基于DOS實(shí)現(xiàn)貪食蛇運(yùn)行算法。在界面中用**中畫出一個矩形,在由大**組成的矩形中,用20x20的像素單位表示每一個蛇的節(jié)
10、點(diǎn)。當(dāng)數(shù)組節(jié)點(diǎn)的值不為0的時候,在**矩形框中表示出相應(yīng)的蛇的節(jié)點(diǎn)。并在蛇每移動一小格的時候,重繪整個窗口。在對蛇身進(jìn)行繪畫時。通過數(shù)組元素的值將蛇身在對話框的矩形中顯示出來。</p><p> 在蛇身運(yùn)動時,首先在蛇頭位置蛇身增長一個節(jié)點(diǎn),然后判斷蛇頭是否到達(dá)食物所在位置,若在食物所在位置,則蛇尾不減一,蛇身繼續(xù)移動,若蛇頭不在食物位置,則蛇尾減一,蛇身繼續(xù)移動。若蛇頭越界或者蛇頭與蛇身重疊,則游戲結(jié)束。&l
11、t;/p><p> 2.1.2程序流程圖</p><p><b> 3.1函數(shù)聲明</b></p><p> void Fence::InitFence()//畫框框;</p><p> void Fence::OutputF()//顯示框框;</p><p> void SnakeNode
12、::add_head(int x,int y) //插入頭結(jié)點(diǎn);</p><p> void SnakeNode::delete_tail()//刪除尾結(jié)點(diǎn);</p><p> void move::moving()</p><p> void change_point(char); //改變方向;</p><p> void ge
13、t_food();//做種子(程序運(yùn)行時間);</p><p> 3.2.1初始化食物</p><p> 確定用點(diǎn)數(shù)組存儲貪吃蛇以后,貪吃蛇的食物如何達(dá)到隨機(jī)出現(xiàn),并且能夠按照網(wǎng)格式與蛇頭無偏差相接就是一個亟待解決的問題。</p><p> 隨機(jī)出現(xiàn)應(yīng)采用rand()函數(shù)來實(shí)現(xiàn),而食物與蛇頭無偏差相接則利用坐標(biāo)來解決。設(shè)置兩個整型變量food x,food y
14、作為食物出現(xiàn)的點(diǎn)的坐標(biāo),令food_x= rand()%18+1; food_y= rand()%18+1即可。使隨機(jī)出現(xiàn)的點(diǎn)能夠整除最小網(wǎng)格,也就是使食物與蛇頭無偏差相接。</p><p> 再由食物坐標(biāo)food x,food y與蛇頭坐標(biāo)是否相同判斷蛇是否“吃”到了食物</p><p> void move::get_food()</p><p><b
15、> {</b></p><p> srand((unsigned int) time(NULL)); //做種子(程序運(yùn)行時間); </p><p> food_x= rand()%18+1; </p><p> food_y= rand()%18+1;</p><p> f.game[food_x][food_y
16、]= '*'</p><p><b> }</b></p><p><b> 3.2.2游戲控制</b></p><p> 開始游戲后的重點(diǎn)是如何用鍵盤來控制蛇的移動.首先說明鍵盤與蛇的響應(yīng),設(shè)置一個方向控制變量dir point;,再添加m.change_point(keydown)函數(shù)來實(shí)現(xiàn)鍵盤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java貪吃蛇游戲 課程設(shè)計
- c語言貪吃蛇游戲課程設(shè)計
- c語言課程設(shè)計--貪吃蛇游戲
- qt課程設(shè)計--貪吃蛇游戲設(shè)計
- java課程設(shè)計報告貪吃蛇游戲
- 貪吃蛇課程設(shè)計
- java課程設(shè)計---java設(shè)計貪吃蛇游戲
- 貪吃蛇課程設(shè)計
- 貪吃蛇課程設(shè)計
- 課程設(shè)計--安卓手機(jī)游戲---貪吃蛇
- 貪吃蛇java課程設(shè)計--貪吃蛇程序設(shè)計
- 貪吃蛇課程設(shè)計報告
- java課程設(shè)計貪吃蛇
- java課程設(shè)計--貪吃蛇
- 貪吃蛇課程設(shè)計報告
- 課程設(shè)計--- 貪吃蛇小游戲程序設(shè)計
- 貪吃蛇課程設(shè)計報告
- 貪吃蛇vc課程設(shè)計
- j2me貪吃蛇游戲課程設(shè)計
- vb課程設(shè)計報告---用vb語句實(shí)現(xiàn)貪吃蛇游戲
評論
0/150
提交評論