俄羅斯方塊實(shí)習(xí)報(bào)告.doc
《俄羅斯方塊實(shí)習(xí)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《俄羅斯方塊實(shí)習(xí)報(bào)告.doc(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
西安財(cái)經(jīng)學(xué)院 實(shí)踐教學(xué)活動(dòng)周實(shí)踐報(bào)告 姓 名: 學(xué) 號(hào): 專 業(yè): 院 系: 本校指導(dǎo)教師: 完成日期: 2013 年8 月 31 日 西安財(cái)經(jīng)學(xué)院實(shí)驗(yàn)實(shí)訓(xùn)教學(xué)管理中心 制 實(shí)踐報(bào)告名稱 小型游戲軟件設(shè)計(jì)與開(kāi)發(fā) 實(shí)踐時(shí)間 2013年 07 月08 日至 2013 年07 月19 日 共 2 周 實(shí)踐地點(diǎn) 西安財(cái)經(jīng)學(xué)院 指導(dǎo)教師 職稱 講師 二級(jí)學(xué)院、系 信息學(xué)院、軟件工程系 實(shí)踐內(nèi)容(后附實(shí)踐報(bào)告) 實(shí)踐周關(guān)于小型游戲軟件設(shè)計(jì)與開(kāi)發(fā)其中主要有編譯軟件,系統(tǒng)兼容性,和需求分析,系統(tǒng)設(shè)計(jì),通過(guò)這些軟件設(shè)計(jì)我懂的了許多知識(shí),也覺(jué)得軟件設(shè)計(jì)在我們生活中運(yùn)用的重要性,也一定好好掌握C語(yǔ)言這門(mén)語(yǔ)言。在今后我也會(huì)更努力的學(xué)習(xí)有關(guān)軟件上的知識(shí)。 指 導(dǎo) 教 師 評(píng) 語(yǔ) 及成績(jī) 簽字(蓋章): 年 月 日 院系意見(jiàn) 簽字(蓋章): 年 月 日 小型游戲軟件設(shè)計(jì)與開(kāi)發(fā) 隨著社會(huì)的發(fā)展,人們的生活日益加快,越來(lái)越多加入了全球化的世界。人們不在拘泥于戶外活動(dòng),戶外游戲,而此時(shí)一款可以隨時(shí)隨地娛樂(lè)的游戲成了必需品。在手機(jī)電腦不斷向人們襲來(lái)的社會(huì),一款又好玩又娛樂(lè)性強(qiáng)的游戲橫空出世。這就是我們每個(gè)人熟悉的再也熟悉不過(guò)的游戲---貪吃蛇,貪吃蛇這款游戲簡(jiǎn)單易行,操作方便,娛樂(lè)性強(qiáng)。該游戲給人們帶來(lái)了追逐的快感,以及成功后的滿足感,對(duì)于一直處于高壓下的現(xiàn)代人是很好的放松工具。該游戲使用的開(kāi)發(fā)語(yǔ)言為C語(yǔ)言,使用TC2.0作為開(kāi)發(fā)工具。貪吃蛇游戲背景: 蛇引誘夏娃吃了蘋(píng)果之后,就被貶為毒蟲(chóng),陰險(xiǎn)的象征。 而蛇吃東西是整只動(dòng)物吞進(jìn)去的,大概在文藝復(fù)興的時(shí)候(好象是那個(gè)時(shí)候但是不確定)就有人發(fā)明的一種游戲,是現(xiàn)在貪吃蛇的前身。后來(lái)慢慢的發(fā)展就變成了今天的貪吃蛇了、現(xiàn)在貪吃蛇主要應(yīng)用于手機(jī)游戲。本文運(yùn)用軟件工程思想、JAVA面向?qū)ο缶幊獭㈩惖姆庋b、抽象類的使用(接口),游戲編碼規(guī)范遵循MVC模式,循序漸進(jìn)實(shí)現(xiàn)貪吃蛇的相關(guān)功能。所以為了適應(yīng)時(shí)代需求,促進(jìn)自己各方面的發(fā)展,使自己的暑假生活更加完善,我參加了這次小型游戲軟件的設(shè)計(jì)與開(kāi)發(fā)的實(shí)踐。我的實(shí)踐內(nèi)容如下: 1.1關(guān)于編譯軟件 本程序采用Turbo C 2.0英文版本進(jìn)行編譯。Turbo C 2.0是美國(guó)Borland 公司的產(chǎn)品,Borland公司是一家專門(mén)從事軟件開(kāi)發(fā)、研制的大公司。該公司相繼推出了一套 Turbo系列軟件。 Turbo C 2.0介紹: Turbo C2.0不僅是一個(gè)快捷、高效的編譯程序,同時(shí)還有一個(gè)易學(xué)、易用的集成開(kāi)發(fā)環(huán)境。使用Turbo C2.0無(wú)需獨(dú)立地編輯、編譯和連接程序,就能建立并運(yùn)行C語(yǔ)言程序。因?yàn)檫@些功能都組合在Turbo 2.0的集成開(kāi)發(fā)環(huán)境內(nèi),并且可以通過(guò)一個(gè)簡(jiǎn)單的主屏幕使用這些功能。 基本配置要求: Turbo C 2.0可運(yùn)行于IBM-PC系列微機(jī),包括XT,AT及IBM 兼容機(jī)。此時(shí)要求DOS2.0或更高版本支持,并至少需要448K的RAM,可在任何彩、單色80列監(jiān)視器上運(yùn)行。支持?jǐn)?shù)學(xué)協(xié)處理器芯片,也可進(jìn)行浮點(diǎn)仿真,這將加快程序的執(zhí)行。 Turbo C 2.0的主要文件的簡(jiǎn)單介紹: INSTALL.EXE 安裝程序文件 TC.EXE 集成編譯 TCINST.EXE 集成開(kāi)發(fā)環(huán)境的配置設(shè)置程序。 TCHELP.TCH 幫助文件 THELP.COM 讀取TCHELP.TCH的駐留程序README 關(guān)于Turbo C的信息文件 TCCONFIG.EXE 配置文件轉(zhuǎn)換程序MAKE.EXE 項(xiàng)目管理工具TCC.EXE 命令行編譯TLINK.EXE Turbo C系列連接器TLIB.EXE Turbo C系列庫(kù)管理工具C0?. OBJ 不同模式啟動(dòng)代碼C?.LIB 不同模式運(yùn)行庫(kù)GRAPHICS.LIB 圖形庫(kù)EMU.LIB 8087仿真庫(kù)FP87.LIB 8087庫(kù) *.H Turbo C頭文件 *.BGI 不同顯示器圖形驅(qū)動(dòng)程序 *.C Turbo C例行程序(源文件) 其中:上面的?分別為:T Tiny(微型模式) 、S Small(小模式) 、C Compact(緊湊模式) 、M Medium(中型模式) 、L Large(大模式)H Huge(巨大模式 1.2 C語(yǔ)言簡(jiǎn)介 C語(yǔ)言發(fā)展沿革: C語(yǔ)言是國(guó)際上廣泛流行且很有發(fā)展前途的計(jì)算機(jī)高級(jí)語(yǔ)言,不僅用來(lái)編寫(xiě)應(yīng)用軟件,也用來(lái)編寫(xiě)系統(tǒng)軟件。 在C語(yǔ)言誕生以前,操作系統(tǒng)及其他系統(tǒng)軟件主要是用匯編語(yǔ)言實(shí)現(xiàn)的。由于匯編語(yǔ)言程序設(shè)計(jì)依賴于計(jì)算機(jī)硬件,其可讀性和可移植性都很差,而一般的高級(jí)語(yǔ)言又難以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件的直接操作,因此人們需要一種兼有匯編語(yǔ)言和高級(jí)語(yǔ)言特性的語(yǔ)言。C語(yǔ)言就是在這種環(huán)境下產(chǎn)生的。 它最早是由Dennis Richie于1973年設(shè)計(jì)并實(shí)現(xiàn)。它的產(chǎn)生同UNIX系統(tǒng)之間具有非常密切的聯(lián)系——C語(yǔ)言是在UNIX系統(tǒng)上開(kāi)發(fā)的。而無(wú)論UNIX系統(tǒng)本身還是其上運(yùn)行的大部分程序,都是用C語(yǔ)言編寫(xiě)實(shí)現(xiàn)。同時(shí),它同樣適合于編寫(xiě)不同領(lǐng)域中的大多數(shù)程序。C語(yǔ)言已經(jīng)成為全球程序員的公共語(yǔ)言,并且由此產(chǎn)生了當(dāng)前兩個(gè)主流的語(yǔ)言C++和Java——它們都建立在C語(yǔ)言的語(yǔ)法和基本結(jié)構(gòu)的基礎(chǔ)上,而且現(xiàn)在世界上的許多軟件都是在C語(yǔ)言及其衍生的各種語(yǔ)言的基礎(chǔ)上開(kāi)發(fā)而成。 目前,在微機(jī)上廣泛使用的C語(yǔ)言編譯系統(tǒng)有Turbo C、Borland C++、Microsoft Visual C++等。雖然它們的基本部分都是相同的,但還是有一些差異。 C語(yǔ)言特點(diǎn): C語(yǔ)言是一種由ALGOL語(yǔ)言派生和發(fā)展起來(lái)通用流行的程序設(shè)計(jì)語(yǔ)言,許多大型軟件均采用C語(yǔ)言編寫(xiě),它同時(shí)具有匯編語(yǔ)言和高級(jí)語(yǔ)言的特性。具體地說(shuō),它具有如下特點(diǎn): 語(yǔ)言簡(jiǎn)潔,結(jié)構(gòu)緊湊,使用方便、靈活。C語(yǔ)言一共只有32個(gè)關(guān)鍵字和9條控制語(yǔ)句,且源程序書(shū)寫(xiě)格式自由。 運(yùn)算符極其豐富,數(shù)據(jù)處理能力強(qiáng)。C語(yǔ)言一共有45種運(yùn)算符,它把括號(hào)、賦值符號(hào)、強(qiáng)制類型轉(zhuǎn)換符號(hào)等都作為運(yùn)算符處理,使得C語(yǔ)言的運(yùn)算符類型極為豐富,表達(dá)式類型多樣化。靈活使用可以實(shí)現(xiàn)其他高級(jí)語(yǔ)言難以實(shí)現(xiàn)的運(yùn)算和操作。 數(shù)據(jù)結(jié)構(gòu)豐富。C語(yǔ)言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等,用它們可以實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹(shù)等)。特別是指針類型,使用起來(lái)靈活多變。 具有結(jié)構(gòu)化的控制語(yǔ)句,是一種模塊化的程序設(shè)計(jì)語(yǔ)言。如if?else語(yǔ)句、while語(yǔ)句、for語(yǔ)句等,可以在程序中使用所有的控制語(yǔ)句。另外,函數(shù)是C語(yǔ)言的基本單位,用函數(shù)作為程序模塊的基本單位,以實(shí)現(xiàn)程序的模塊化。 可移植性好。C程序本身基本上可以不作任何修改,就能運(yùn)行在各種不同型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)環(huán)境上。 C語(yǔ)言提供了某些接近匯編語(yǔ)言的功能,能直接訪問(wèn)物理地址,直接對(duì)硬件操作,從而有利于編寫(xiě)系統(tǒng)軟件。 這些是C語(yǔ)言的一般特點(diǎn)。正是由于這些特點(diǎn),使得它的應(yīng)用非常廣泛。 C語(yǔ)言程序設(shè)計(jì)教材特點(diǎn): 根據(jù)C語(yǔ)言注重實(shí)踐的特點(diǎn),和實(shí)際的教學(xué)情況,該教材具有如下特點(diǎn): 首次真正地在(C語(yǔ)言)程序設(shè)計(jì)教材中突出講授程序設(shè)計(jì)而不是程序,明確地給出了程序設(shè)計(jì)主要過(guò)程:將非計(jì)算機(jī)語(yǔ)言表述的算法,改寫(xiě)成帶計(jì)算過(guò)程和計(jì)算條件的計(jì)算公式的過(guò)程。 突出算法在計(jì)算學(xué)科中的靈魂作用。強(qiáng)調(diào)程序設(shè)計(jì)之前,應(yīng)將解決問(wèn)題的辦法抽象成帶有計(jì)算過(guò)程和計(jì)算條件的數(shù)學(xué)公式,即使枚舉法,也應(yīng)該用帶計(jì)算過(guò)程和計(jì)算條件的數(shù)學(xué)公式來(lái)表示枚舉過(guò)程和方法。 將所有帶計(jì)算過(guò)程和計(jì)算條件的數(shù)學(xué)公式,按基本程序模塊分成了遞推算法、迭代算法和嘗試算法三類,使程序規(guī)范化、規(guī)律化,大大降低了程序設(shè)計(jì)難度。 所有需要設(shè)計(jì)的程序都給出了設(shè)計(jì)過(guò)程,都給出了帶計(jì)算過(guò)程和計(jì)算條件的數(shù)學(xué)公式,以及和算式有關(guān)的重要的數(shù)據(jù)字典,使程序設(shè)計(jì)教材和軟件工程并軌。 1.3 關(guān)于系統(tǒng)兼容性 本程序經(jīng)過(guò)調(diào)試,可以在 2000 2003 XP 系統(tǒng)下編譯運(yùn)行。 1.4 本章小結(jié) 本章主要介紹了,關(guān)于選題和題目的背景;開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具做了簡(jiǎn)單的介紹;系統(tǒng)的兼容性。這樣使讀者對(duì)文章有個(gè)大概的了解。 第二章 需求分析 2.1 可行性分析 游戲開(kāi)發(fā)至今已經(jīng)有30多年,在這個(gè)短暫的時(shí)期里,隨著硬件水平的提高,游戲開(kāi)發(fā)新技術(shù)層出不窮,經(jīng)典游戲比比皆是。游戲這個(gè)名稱一直就存在于每個(gè)人的日常生活中,如猜拳游戲,大地游戲,球類游戲,林林總總,不勝枚舉,甚至于有些流行歌曲把人生也比喻為游戲,好比“一場(chǎng)游戲一場(chǎng)夢(mèng)”。因此,游戲?qū)τ诂F(xiàn)代人的成長(zhǎng)歷程,絕對(duì)是一個(gè)不可或缺的角色。 2.2 設(shè)計(jì)目的 綜合運(yùn)用在校期間所學(xué)的理論知識(shí)和技能,設(shè)計(jì)開(kāi)發(fā)貪吃蛇游戲,使自己熟悉應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程,培養(yǎng)獨(dú)立思考能力,檢驗(yàn)學(xué)習(xí)效果和動(dòng)手能力,提高工程實(shí)踐能力。 2.3 游戲需求 給出1條小蛇和隨機(jī)一個(gè)食物當(dāng)小蛇吃到食物就加分。 第三章 系統(tǒng)設(shè)計(jì) 3.1.概要設(shè)計(jì) 通過(guò)對(duì)貪吃蛇的需求分析,我們用C語(yǔ)言實(shí)現(xiàn)該程序概要如下: 畫(huà)面設(shè)計(jì): 主要內(nèi)容有對(duì)邊框`食物`蛇的設(shè)計(jì),起用了與圖形設(shè)計(jì)相關(guān)的函數(shù),有INITGRAPH,SETCOLOR等.首先是畫(huà)面的啟動(dòng)問(wèn)題,緊接就是畫(huà)面的繪制,而對(duì)食物及蛇則可放在游戲具體過(guò)程中,因?yàn)槭澄锸请S機(jī)的,而蛇是移動(dòng)的. 游戲過(guò)程: 主要是對(duì)食物及蛇的設(shè)置.在這個(gè)環(huán)節(jié)程序有幾個(gè)重要的算法,是程序能否成功地運(yùn)行的關(guān)鍵.其主要有蛇是如何移動(dòng)身體的,蛇怎樣才能吃到食物,怎樣判斷蛇的死亡,以及如何中斷游戲等等. 游戲結(jié)束: 在確定蛇死亡后,游戲結(jié)束,此時(shí)就必需退出游戲.注意此時(shí)界面的設(shè)計(jì),及分?jǐn)?shù)的輸出和圖形的結(jié)束. 添加的功能: 起先的程序是很簡(jiǎn)單的,無(wú)任何的修飾,而且在有些地方不便于用戶的操作.于是在相應(yīng)的地方添加了某些功能. 例如在游戲的開(kāi)頭,添加了”WELCOME TO GAME”的語(yǔ)句,并添加”P(pán)RESS ANY KEY TO GAME”以提示用戶.在游戲的中途,用戶可以按ESC鍵以中斷游戲,也可以選擇繼續(xù)游戲. 運(yùn)用函數(shù)如下表: 表3—1 游戲模塊功能 函數(shù) 函數(shù)名及函數(shù)類型 函數(shù)功能 主函數(shù) Void Main() 調(diào)用輔函數(shù)使用程序 圖形驅(qū)動(dòng) Void Init() 啟動(dòng)畫(huà)面開(kāi)始畫(huà)圖 開(kāi)始畫(huà)圖 Void Drawk() 畫(huà)出游戲圖框 歡迎界面 Void Pause() 歡迎字幕 續(xù)表3—1 游戲模塊功能 游戲結(jié)束 Void GameOver() 游戲結(jié)束的調(diào)用 開(kāi)始游戲 VoidPlay() 游戲開(kāi)始的標(biāo)志 成績(jī)輸出 Void Prscore() 游戲進(jìn)行程度的標(biāo)志 結(jié)束界面 Void Close() 結(jié)束所有的操作 音樂(lè) Void Music() 輸出音樂(lè) 3.2.詳細(xì)設(shè)計(jì) 程序設(shè)計(jì)分析: 開(kāi)始 歡迎界面 音樂(lè) 游戲界面 結(jié)束游戲 退出游戲 圖3-1 主程序圖 這是一個(gè)簡(jiǎn)單的游戲,所以循環(huán)和分支之類的函數(shù)在大的面上運(yùn)用較少,主要體現(xiàn)在計(jì)算上,尤其是坐標(biāo)上的計(jì)算較突出.簡(jiǎn)單易懂,一目了然. 開(kāi)始游戲 鍵入B開(kāi)始游戲 初步繪制食物和蛇 根據(jù)玩家不同操作來(lái)具體操作 游戲結(jié)束 3-2 游戲主圖 在這一過(guò)程中包含著這個(gè)程序的主要算法:食物是如何出現(xiàn)的;蛇是如何移動(dòng)了;蛇的每個(gè)環(huán)節(jié)如何跟隨蛇頭移動(dòng);怎樣才算游戲失敗等等。 食物的出現(xiàn): if(food.yes==1) { food.x=rand()%400+60; food.y=rand()%350+60; while(food.x%10!=0)/*食物隨機(jī)出現(xiàn)后必須讓食物能夠在整格內(nèi),這樣才可以讓蛇吃到*/ food.x++; while(food.y%10!=0) food.y++; food.yes=0;/*畫(huà)面上有了食物*/ } if(food.yes==0)/*畫(huà)面上有了食物就要顯示*/ { setcolor(GREEN); rectangle(food.x,food.y,food.x+10,food.y-10); } 食物是游戲的關(guān)鍵之一,只有設(shè)定好才可以使游戲成功.而食物必須在整格內(nèi)是主要的內(nèi)容,接著就是繪制圖。 蛇的移動(dòng): for(i=snake.node-1;i>0;i--)/*蛇的每個(gè)環(huán)節(jié)的移動(dòng)*/ { snake.x[i]=snake.x[i-1]; snake.y[i]=snake.y[i-1]; } /*1,2,3,4表示右,左,上,下四個(gè)方向,通過(guò)這個(gè)判斷來(lái)移動(dòng)蛇頭*/ switch(snake.direction) { case 1:snake.x[0]+=10;break; case 2: snake.x[0]-=10;break; case 3: snake.y[0]-=10;break; case 4: snake.y[0]+=10;break; } 蛇尾緊跟隨著蛇頭的改變,蛇頭則依據(jù)輸入的情況做不相應(yīng)的判斷. 補(bǔ)充: while(1) { while(!kbhit()) /*在沒(méi)有按鍵的情況下,蛇自己移動(dòng)身體*/ 游戲失敗 蛇撞到自己 for(i=3;i- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 俄羅斯方塊 實(shí)習(xí) 報(bào)告
鏈接地址:http://appdesigncorp.com/p-9144763.html