




免費預(yù)覽已結(jié)束,剩余13頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
xxx航空工業(yè)學(xué)院 課課 程程 設(shè)設(shè) 計計 報報 告告 課程設(shè)計名稱:c 語言課程設(shè)計語言課程設(shè)計 課程設(shè)計題目:運動的小車動畫 院(系):計算機(jī)學(xué)院 專 業(yè):網(wǎng)絡(luò)工程 班 級: 學(xué) 號: 姓 名: 指導(dǎo)教師: 完成日期:2009年07月17日 沈陽航空工業(yè)學(xué)院課程設(shè)計報告 -i- 目目 錄錄 第第 1 章章 需求分析需求分析.1 1.1 題目的內(nèi)容與要求1 1.2 開發(fā)工具1 1.3 題目分析1 第第 2 章章 概要設(shè)計概要設(shè)計.2 2.1 總體結(jié)構(gòu)2 第第 3 章章 詳細(xì)設(shè)計詳細(xì)設(shè)計.3 3.1 主函數(shù)模塊3 2.2 圖形驅(qū)動模塊3 2.3 場景游戲模塊4 3.4 游戲過程模塊5 3.5 結(jié)束模塊模塊7 第第 4 章章 調(diào)試分析調(diào)試分析.8 第第 5 章章使用說明使用說明9 參考文獻(xiàn)參考文獻(xiàn).11 附附 錄(程序清單)錄(程序清單).12 沈陽航空工業(yè)學(xué)院課程設(shè)計報告 -1- 第 1 章 需求分析 1.1 題目的內(nèi)容與要求題目的內(nèi)容與要求 內(nèi)容:實現(xiàn)一個簡單動畫,屏幕背景為藍(lán)色,畫一簡單小車。小車在屏中隨 意移動。 要求: 1)實現(xiàn)簡單的游戲界面; 2)對小車運動進(jìn)行控制; 3)熟練掌握基本的調(diào)試方法,并將程序調(diào)試通過; 4)采用 vc 環(huán)境進(jìn)行調(diào)試運行。 1.2 開發(fā)工具開發(fā)工具 操作系統(tǒng):windowsxp sp2。 硬件環(huán)境:cpuamd3000+內(nèi)存 1g ,硬盤 120g。 軟件環(huán)境:turboc。 1.3 題目分析題目分析 本程序首先分為四個模塊即編寫四個函數(shù),主程序按順序調(diào)用這四個函數(shù)最 后掉用關(guān)閉圖形系統(tǒng)函數(shù),至此整個程序算是真正結(jié)束。題目程序設(shè)計思想分析 是:先設(shè)置背景色和前景色,確定小車的初始位置和車頭方向,畫出小車,在沒 有按鍵的情況下,進(jìn)入一個循環(huán)系統(tǒng)小車自動向前運動,直到撞墻,有按鍵的情 況下,判斷按鍵的性質(zhì)確定車頭的方向,計算小車的新坐標(biāo),進(jìn)入另一個畫車循 環(huán),一直循環(huán),直到結(jié)束。 沈陽航空工業(yè)學(xué)院課程設(shè)計報告 -2- 第 2 章 概要設(shè)計 2.1 總體結(jié)構(gòu)總體結(jié)構(gòu) 本程序主要分為五個模塊:主函數(shù)模塊,圖行驅(qū)動模塊,場景游戲模塊,游 戲過程模塊,結(jié)束模塊。主函數(shù)模塊實現(xiàn)函數(shù)調(diào)用。圖行驅(qū)動模塊對圖行操作系 統(tǒng)進(jìn)行初使化。場景游戲模塊建立簡單的游戲界面。游戲過程模塊畫小車,并通 過鍵盤控制小車的運動。結(jié)束模塊關(guān)閉作圖系統(tǒng),結(jié)束程序(如圖 2.1) 。 小車動畫程序 場 景 游 戲 模 塊 游 戲 過 程 模 塊 主 模 塊 圖 形 驅(qū) 動 模 塊 結(jié) 束 模 塊 圖圖 2.1 功能模塊功能模塊 1 主函數(shù)模塊:本模塊主要實現(xiàn)函數(shù)的調(diào)用,一共四個函數(shù)。 2 圖行驅(qū)動模塊:本模塊主要是實現(xiàn)對圖形系統(tǒng)進(jìn)形初始化以及做出簡單界 面,設(shè)置屏幕背景顏色,還有顯示游戲開始時的菜單。 3 場景游戲模塊:本模塊主要是實現(xiàn)畫出游戲界面,利用循環(huán)畫出四面墻, 屏幕背景為藍(lán)色。 4 游戲過程模塊:本模塊主要是實現(xiàn)畫出初始小車及顯示其位置,用 swich- case()來控制小車的移動情況。 5 結(jié)束模塊:本模塊主要是實現(xiàn)最后清屏以及關(guān)閉作圖系統(tǒng),顯示游戲結(jié)束 菜單。 沈陽航空工業(yè)學(xué)院課程設(shè)計報告 -3- 第 3 章 詳細(xì)設(shè)計 3.1 主函數(shù)模塊主函數(shù)模塊 控制整個程序的運行,控制菜單操作,通過主函數(shù)模塊分別調(diào)用各個模塊, 實現(xiàn)各項功能,流程如圖 3.1 所示。 調(diào)用 init()函數(shù) 調(diào)用 drawplay()函數(shù) 調(diào)用 gameplay()函數(shù) 調(diào)用 close()函數(shù) 開始 結(jié)束 圖圖 3.1 主模塊流程圖主模塊流程圖 主函數(shù)主要完成函數(shù)的調(diào)用,一共有四個函數(shù):畫圖系統(tǒng)初始化函數(shù),畫開 始游戲界面函數(shù),游戲過程函數(shù),關(guān)閉圖形系統(tǒng)函數(shù)。 2.2 圖形驅(qū)動模塊圖形驅(qū)動模塊 此模塊完成圖形操做系統(tǒng)初始化,選擇適配器,設(shè)置背景顏色及前景色,顯示 進(jìn)入游戲界面,流程如圖 3.2 所示。 沈陽航空工業(yè)學(xué)院課程設(shè)計報告 -4- initgraph( setbkcolor(blue) etcolor(11); setlinestyle(); i=50 i #include #include #define left 0x4b00 #define right 0x4d00 #define down 0x5000 #define up 0x4800 #define esc 0x011b int i,key; int gamespeed=60000;/*游戲速度自己調(diào)整*/ struct car int xn; int yn; int node;/*小車的節(jié)數(shù)*/ int direction;/*小車移動方向*/ car; void init(void);/*圖形驅(qū)動*/ void close(void);/*圖形結(jié)束*/ void drawk(void);/*開始畫面*/ void gameover(void);/*結(jié)束*/ void gameplay(void);/*具體過程*/ /*主函數(shù)*/ void main(void) init();/*圖形驅(qū)動*/ drawk();/*開始畫面*/ 沈陽航空工業(yè)學(xué)院課程設(shè)計報告 -13- gameplay();/*具體過程*/ close();/*圖形結(jié)束*/ /*圖形驅(qū)動*/ void init(void) int gd=detect,gm; initgraph( cleardevice(); /*開始畫面,左上角坐標(biāo)為(50,40),右下角坐標(biāo)為(610,460)的圍墻*/ void drawk(void) setbkcolor(blue); setcolor(11); setlinestyle(solid_line,0,thick_width);/*設(shè)置線型*/ for(i=50;i0;i-)/*小車的每個環(huán)節(jié)往前移動,也就是小車運行的關(guān) 鍵算法*/ car.xi= car.xi-1; car.yi=car.yi-1; /*1,2,3,4表示右,左,上,下四個方向,通過這個判斷來移動車頭*/ switch(car.direction) case 1:car.x0+=20;break; case 2: car.x0-=20;break; case 3: car.y0-=20;break; case 4: car.y0+=20;break; if(car.x0595|car.y0455)/*小車是否撞到墻壁*/ gameover();/*本次演示結(jié)束*/ getch(); setcolor(4);/*畫出小車*/ for(i=0;icar.node;i+) rectangle(car.xi,car.yi,car.xi+20, car.yi-20); delay(gamespeed); setcolor(blue);/*用背景色去除車的的最后一節(jié)*/ rectangle(car.xcar.node-1,car.ycar.node-1, car.xcar.node-1+20,car.ycar.node-1-20); /*endwhile(!kbhit)*/ key=bioskey(0);/*接收按鍵*/ if(key=esc)/*按esc鍵退出*/ gameover(); else 沈陽航空工業(yè)學(xué)院課程設(shè)計報告 -15- if(key=up else if(key=right else if(key=left else if(key=down /*endwhile(1)*/ void gameover(void) cleardevice(); setcolor(red); settextstyle(0,0,4); outtextxy(200,200,“game over“); close(); /*圖形結(jié)束*/ void close(void) getch(); closegraph(); 沈陽航空工業(yè)學(xué)院課程設(shè)計報告 -16- 課程設(shè)計總結(jié):課程設(shè)計總結(jié): 這次 c 語言課程設(shè)計是我的第一次編寫一個相對平時實驗課寫的小程序大 得多也復(fù)雜得多的程序。我的題目是小車動畫,屬于游戲類,用到的函數(shù)全是新的, 這說明我必須自修,對我來說是一個挑戰(zhàn)。 在這一個暑假的的開發(fā)工作中,雖然遇到不少困難和難題,但是我都以堅 堅持不懈的毅力和頑強(qiáng)的拼搏精神一一解決了它們。雖然暑假沒玩好,看書看 到眼睛疼,但是當(dāng)小車動畫程序最終按自己的意圖執(zhí)行時的欣慰亦足以彌補。 通過此次的課程設(shè)計,我也意識到了自身的不足。無論是從程序模塊化還 是系統(tǒng)穩(wěn)定性都還有很大的改進(jìn)優(yōu)化余地,自己 c 語言知識學(xué)的太少,以后學(xué)習(xí) 應(yīng)該開闊眼界,應(yīng)當(dāng)多閱讀他人的優(yōu)秀程序,取人所長,補己之短。努力提升自 己的程序編寫、系
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司組團(tuán)采摘活動方案
- 公司故居活動方案
- 公司每天小禮物活動方案
- 公司旅游策劃活動方案
- 公司新業(yè)務(wù)拓展策劃方案
- 短視頻制作師職業(yè)資格考試的測試題及答案
- 2025年信息系統(tǒng)項目管理師職業(yè)資格考試試卷及答案
- 2025年醫(yī)院管理師考試試題及答案
- 2025年心理咨詢與治療理論基礎(chǔ)考試試題及答案
- 2025年心理健康和社會支持服務(wù)考試試卷及答案
- 求職心理調(diào)適專家講座
- GB/T 6344-2008軟質(zhì)泡沫聚合材料拉伸強(qiáng)度和斷裂伸長率的測定
- GB/T 3532-1995日用瓷器
- 學(xué)術(shù)論文寫作規(guī)范與技巧課件
- 生物高中-基于大數(shù)據(jù)分析的精準(zhǔn)教學(xué)課件
- 工程結(jié)算審計實施方案(共8篇)
- 樂東221氣田投產(chǎn)專家驗收匯報
- 信任五環(huán)(用友營銷技巧)課件
- 2022年廣東省深圳市中考化學(xué)真題試卷
- 危險貨物道路運輸安全生產(chǎn)管理制度
- GB∕T 8110-2020 熔化極氣體保護(hù)電弧焊用非合金鋼及細(xì)晶粒鋼實心焊絲
評論
0/150
提交評論