已閱讀5頁(yè),還剩8頁(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)介
程序設(shè)計(jì)基礎(chǔ)項(xiàng)目報(bào)告項(xiàng) 目 名 稱貪吃蛇1 項(xiàng)目功能簡(jiǎn)要說(shuō)明:貪吃蛇游戲,該有游戲主要指通過(guò)控制小蛇的移動(dòng)方向,來(lái)吃掉隨機(jī) 生成的食物,從而使小蛇達(dá)到一個(gè)成長(zhǎng)的效果。小蛇每吃掉一次食物都會(huì)加相應(yīng)得分?jǐn)?shù)。當(dāng)小蛇碰到自身或者碰到墻就會(huì)結(jié)束游戲。2 程序基本算法的文字描述(500字)(一)函數(shù)頭必不可少要包含TC里面的圖形庫(kù)()、()里面定義了五種類型、一些宏和通用工具函數(shù)、()這是一個(gè)頭文件,里面包含了很多BIOS和DOS調(diào)用函數(shù)。首先要定義四個(gè)方向鍵和一個(gè)退出鍵的掃描碼;(二)分別定義食物和小蛇的結(jié)構(gòu)體;(三)聲明調(diào)用的函數(shù);(四)主函數(shù)(圖形驅(qū)動(dòng)、開(kāi)始畫(huà)面、玩游戲具體過(guò)程、圖形結(jié)束;)(五)圖形驅(qū)動(dòng):初始化圖形系統(tǒng);(六)開(kāi)始畫(huà)面,左上角坐標(biāo)為(50,40),右下角坐標(biāo)為(610,460)的圍墻。設(shè)置顏色、設(shè)置線型、用兩個(gè)for循環(huán)分別畫(huà)出上下、左右圍墻;(七)玩游戲具體過(guò)程:隨機(jī)發(fā)生器控制食物出現(xiàn)位置,1表示需要出現(xiàn)新食物,0表示已經(jīng)存在食物,在沒(méi)有按鍵的情況下,蛇自己移動(dòng)身體,當(dāng)遇見(jiàn)食物之后會(huì)吃掉食物起身增長(zhǎng),然后食物還要隨機(jī)生成,每吃一次食物分?jǐn)?shù)就會(huì)長(zhǎng)十,但分?jǐn)?shù)為偶數(shù)的時(shí)候小蛇是一種顏色,否則為另外一種顏色,當(dāng)分?jǐn)?shù)是五十的整數(shù)倍時(shí)會(huì)出現(xiàn)good!的提示,此時(shí)小蛇為綠色,當(dāng)分?jǐn)?shù)是五十的整數(shù)倍時(shí)食物為黃色,否則為另一種顏色。當(dāng)分?jǐn)?shù)為100的倍數(shù)后小蛇的速度就會(huì)增長(zhǎng)。當(dāng)吃到食物之后小蛇會(huì)自動(dòng)長(zhǎng)一截,而在沒(méi)吃到食物的時(shí)候,小蛇向前走,最后一節(jié)會(huì)被磨掉,吃到食物就不摸了,當(dāng)小蛇遇到自己或者墻都會(huì)死亡也就是結(jié)束游戲;(八)圖形結(jié)束,輸出成績(jī)。3. 該項(xiàng)目用到的知識(shí)的總結(jié)(200字)調(diào)用函數(shù),for循環(huán),while循環(huán),if else 語(yǔ)句,隨機(jī)函數(shù),控制坐標(biāo),輸出圖形,背景顏色,控制形狀顏色線性,等等4. 關(guān)鍵步驟的流程圖(三個(gè)流程圖以上)開(kāi)始定義食物的結(jié)構(gòu)體struct Foodint x;-食物的橫坐標(biāo)int y;-食物的縱坐標(biāo)int yes;-判斷是否要出現(xiàn)食物的變量food;-食物的結(jié)構(gòu)體定義小蛇的結(jié)構(gòu)體被調(diào)用函數(shù)void Init(void);-圖形驅(qū)動(dòng)void Close(void);-圖形結(jié)束void DrawK(void);-開(kāi)始畫(huà)面void GameOver(void);-結(jié)束游戲void GamePlay(void);-玩游戲具體過(guò)程void PrScore(void);-輸出成績(jī)void main(void)Init();/*圖形驅(qū)動(dòng)*/DrawK();/*開(kāi)始畫(huà)面*/GamePlay();/*玩游戲具體過(guò)程*/Close();/*圖形結(jié)束*/struct Snakeint xN;int yN;int node;/*蛇的節(jié)數(shù)*/int direction;/*蛇移動(dòng)方向*/int life;/* 蛇的生命,0活著,1死亡*/snake;結(jié)束整個(gè)游戲大體制作過(guò)程開(kāi)始setcolor(9);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設(shè)置線型*/for(i=50;i=600;i+=10)/*畫(huà)圍墻*/rectangle(i,40,i+10,49); /*上邊*/rectangle(i,451,i+10,460);/*下邊*/for(i=40;i0snake.direction1snake.x0+=10;break;2snake.x0-=10;break;3snake.y0-=10;break;4snake.y0+=10;break;11i=3snake.xi=snake.x0&snake.yi=snake.y0是GameOver();/*顯示失敗*/snake.life=1;break;否snake.x0595|snake.y0455是GameOver();/*本次游戲結(jié)束*/snake.life=1; /*蛇死*/否/*蛇是否撞到墻壁*/breaksnake.life=1是否*以上兩種判斷以后,如果蛇死就跳出內(nèi)循環(huán),重新開(kāi)始*/snake.x0=food.x&snake.y0=food.ysetcolor(0);/*把畫(huà)面上的食物東西去掉*/rectangle(food.x,food.y,food.x+10,food.y-10);snake.xsnake.node=-20;snake.ysnake.node=-20;/*新的一節(jié)先放在看不見(jiàn)的位置,下次循環(huán)就取前一節(jié)的位置*/snake.node+;/*蛇的身體長(zhǎng)一節(jié)*/food.yes=1;/*畫(huà)面上需要出現(xiàn)新的食物*/score+=10;PrScore();/*輸出新得分是否/*吃到食物以后*/2是否2if(score%20=0) setcolor(MAGENTA); /*畫(huà)出蛇*/else setcolor(LIGHTRED); if(score%50=0&score!=0) setcolor(GREEN); settextstyle(0,0,3); outtextxy(80,16,good!);for(i=0;i0;i-)/*蛇的每個(gè)環(huán)節(jié)往前移動(dòng),也就是貪吃蛇的關(guān)鍵算法*/snake.xi=snake.xi-1;snake.yi=snake.yi-1; 6. 項(xiàng)目特色(延伸功能、附加功能)分?jǐn)?shù)為偶數(shù)的時(shí)候小蛇是一種顏色,否則為另外一種顏色,當(dāng)分?jǐn)?shù)是五十的整數(shù)倍時(shí)會(huì)出現(xiàn)good!的提示,此時(shí)小蛇為綠色,當(dāng)分?jǐn)?shù)是五十的整數(shù)倍時(shí)食物為黃色,否則為另一種顏色。當(dāng)分?jǐn)?shù)為100的倍數(shù)后小蛇的速度就會(huì)增長(zhǎng)。7. 收獲與心得體會(huì)通過(guò)親自動(dòng)手動(dòng)腦完成這個(gè)小游戲,不僅復(fù)習(xí)了一下自己學(xué)過(guò)的很多知
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 九年級(jí)政治尊重他人是我的需要課件
- 液壓與氣動(dòng)技術(shù) 課件 模塊四 課題14
- 單位管理制度集合大合集職工管理篇
- 單位管理制度集粹匯編員工管理
- 議論文結(jié)構(gòu)的六種模式
- 單位管理制度匯編大合集人員管理
- 單位管理制度分享大全【人力資源管理】十篇
- 單位管理制度范例合集員工管理篇十篇
- 單位管理制度呈現(xiàn)合集【人力資源管理篇】十篇
- 萬(wàn)有引力定律復(fù)習(xí)課件
- 水泥行業(yè)數(shù)字化轉(zhuǎn)型服務(wù)方案
- 2024版房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)內(nèi)容解讀
- 江蘇省鎮(zhèn)江市實(shí)驗(yàn)學(xué)校2023-2024學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試卷
- 期末 (試題) -2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- GB/T 32066-2024煤基費(fèi)托合成液體石蠟
- 飛機(jī)起落架緩沖器的設(shè)計(jì)航空專業(yè)
- 江蘇衛(wèi)視跨年演唱會(huì)電視轉(zhuǎn)播技術(shù)方案-209年精選文檔
- 水電工程施工機(jī)械臺(tái)時(shí)費(fèi)定額(2004年版)
- 鋼鐵企業(yè)安全生產(chǎn)事故案例匯編
- 安慶市農(nóng)業(yè)雪災(zāi)恢復(fù)重建和救災(zāi)資金使用情況總結(jié)
- 食品工程原理課程設(shè)計(jì)攪拌器的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論