版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、安陽工學(xué)院JAVA課程綜合項目報告項目題目:貪吃蛇專業(yè)班級:10級軟件工程(1)班學(xué)生姓名:張賀賀學(xué)生學(xué)號:201003030017指導(dǎo)教師姓名:孫高飛2012年12月安陽工學(xué)院計算機學(xué)院制- 6 - / 8一、系統(tǒng)目標- 2 -二、系統(tǒng)設(shè)計思路- 2 -三、系統(tǒng)詳細設(shè)計- 2 -3.1 系統(tǒng)設(shè)計要求- 2 -3.2 關(guān)鍵類與關(guān)鍵方法的UML圖表述- 2 -3.3 各個類的說明- 3 -四、系統(tǒng)實現(xiàn)- 5 -4.1程序運行效果圖如圖1示- 5 -4.2 當(dāng)碰撞到墻壁的截圖- 5 -五、系統(tǒng)設(shè)計總結(jié)- 5 -六、參考文獻- 6 - 一、 系統(tǒng)目標本次課程設(shè)計使用java程序設(shè)計語言整理的一個貪吃
2、蛇小游戲。游戲的控制模塊應(yīng)該做到易懂、易操作,以給玩家一個很好的游戲環(huán)境。在這個游戲的設(shè)計中,牽涉到圖形界面的顯示與更新、數(shù)據(jù)的收集與更新,還要應(yīng)用類的繼承機制以及一些設(shè)計模式。在設(shè)計開發(fā)過程中,需要處理好各個類之間的繼承關(guān)系,還要處理各個類相應(yīng)的封裝,并且還要協(xié)調(diào)好各個模塊之間的邏輯依賴關(guān)系和數(shù)據(jù)通信關(guān)系。本游戲主要是完成貪吃蛇游戲的基本操作,利用方向鍵來改變蛇的運行方向并在隨機的地方產(chǎn)生食物,吃到食物就變成新的蛇體,撞墻或自身則游戲結(jié)束,否則正常運行。二、 系統(tǒng)設(shè)計思路本貪吃蛇游戲運用java程序設(shè)計語言來完成具體實現(xiàn),主要有兩個模塊:游戲地圖生成食物模塊和蛇的運動模塊:游戲地圖生成食物模
3、塊:主要是隨機創(chuàng)建食物,顯示食物位置,初始化蛇,增加食物和顯示下一次食物出現(xiàn)的位置,游戲結(jié)束判斷。蛇的運動模塊:通過獲取案按鍵的輸入來決定的蛇的運動方向主要是操控蛇的運動,判斷蛇是否吃到新食物,是否生長,是否撞墻,赤道鋅食物后更新蛇的身體。兩個模塊相互調(diào)用。三、 系統(tǒng)詳細設(shè)計3.1 系統(tǒng)設(shè)計要求本游戲需要滿足以下幾點要求:(1) 利用方向鍵來改變蛇的運行方向。 (2) 在隨機的地方產(chǎn)生食物。 (3) 吃到食物就變成新的蛇體,碰到壁或自身則游戲結(jié)束,否則正常運行。3.2 關(guān)鍵類與關(guān)鍵方法的UML圖表述1.流程圖蛇開始隨機鍵盤操作: 向上左移右移向下沒有吃到食物且蛇碰到邊界,判斷是否繼續(xù)游戲結(jié)束進
4、入游戲畫面圖1 游戲處理流程圖否是3.3 各個類的說明3.3.1 主框架類Map()內(nèi)部變量:foods為arrayList創(chuàng)建的一個集合,用于存儲面板上出現(xiàn)的食物she 為She創(chuàng)建的一個蛇對象實現(xiàn)方法:Map()創(chuàng)建一個地圖類,增加監(jiān)聽按鈕,實現(xiàn)對按鍵的監(jiān)聽,設(shè)置面板大小,邊框顏色和名字。getFoods 用于獲取食物集合setFoods 用于對食物集合進行賦值newPoint()隨機生成食物的坐標addFood()為食物集合增加一個新的食物showFood()該函數(shù)調(diào)用隨機產(chǎn)生的坐標,并在該坐標上顯示這個食物的位置gameover()判斷是否繼續(xù)游戲,并給出詢問提示keyPressed(
5、)按鍵的監(jiān)聽處理函數(shù),調(diào)用gbFangXiang()init()初始化蛇,和線程重繪的啟動run()主要是蛇運動的控制調(diào)用別的方法同時通過判斷對蛇在一定的時間內(nèi)進行一次更新main()該方法是該類的入口處3.3.2 She類內(nèi)部變量:Body為arrayList類的一個對象,用于存儲的身體的大小touWZ為Point對象,用于表示蛇頭的當(dāng)前的坐標qianWZ為Point對象,用于表示蛇的前一個的位置坐標實現(xiàn)方法:She()定義一個蛇類的初始化函數(shù),包含蛇的初始大?。ǔ跏紴?個單位格),初始方向(初始為右)以及窗口的大小run()主要是對蛇的身體根據(jù)其屬性在一定的時間內(nèi)進行一次更新lookFoo
6、d()判斷當(dāng)前地圖內(nèi)是否有食物touGB()當(dāng)赤道一個新的食物的時候,改變蛇頭的位置坐標gbFangXiang()用于獲取改變蛇的方向add()將新增加的食物添加到map中chi()吃東西iszq()通關(guān)判斷蛇body坐標判斷是否撞墻,如果撞墻了,則調(diào)用gameover()進行判斷四、 系統(tǒng)實現(xiàn)4.1程序運行效果圖如圖1示可以通過方向鍵調(diào)整調(diào)整蛇頭的坐標。4.2 當(dāng)碰撞到墻壁的截圖選擇是繼續(xù)游戲,選擇否退出游戲。五、 系統(tǒng)設(shè)計總結(jié)通過這次課程設(shè)計,我對這學(xué)期所學(xué)的JAVA語言程序設(shè)計有一個更深刻的了解。由于所學(xué)知識有限,期間遇到很多困難,但是通過求助同學(xué)、去圖書館查找有關(guān)資料、上網(wǎng)搜索相關(guān)知識
7、,最終完成課程設(shè)計后。可以感覺到自己對Java程序的又有了新的認識,同時也有了更深一步的喜愛,決定一定要努力學(xué)好java,并能更好的應(yīng)用于以后的工作中。這次貪吃蛇的設(shè)計,我做的不是很完美,也沒想象中的那么好,但也獲得了許多寶貴的經(jīng)驗:1) 在設(shè)計程序之前,務(wù)必要對自己所要設(shè)計的題目和內(nèi)容有一個系統(tǒng)的,大概的了解,知道所設(shè)計的題目和內(nèi)容包含哪些資源。2) 設(shè)計程序采用什么編程語言并不是非常重要,關(guān)鍵是要有一個清晰的思路和一個完整的軟件流程圖,所有要先把設(shè)計原理與思路搞清楚,再把流程圖畫出來,這樣設(shè)計起來就簡單多了。3) 在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,“反復(fù)修改,不斷改進”是程序設(shè)計的必經(jīng)之路,發(fā)現(xiàn)錯誤也是取得成績及成績的一種必經(jīng)之路。4) 要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白自己的思路,這樣也為資料的保存和交流提供了方便。 在以后的工作中,我希望我能把這些經(jīng)驗應(yīng)用起來。為以后的工作順利進行,也讓自己獲得一定的能力,能夠擁有一份好的工作。六、 參考文獻1 (美)Y. Daniel Liang著 李娜 譯Java語言
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度牧業(yè)產(chǎn)業(yè)扶貧項目承包合同范本3篇
- 2025版農(nóng)產(chǎn)品溯源與質(zhì)量認證服務(wù)合同3篇
- 遼寧省朝陽市北票市2024-2025學(xué)年七年級上學(xué)期1月期末道德與法治試題(含答案)
- 2025年度個人公司股權(quán)結(jié)構(gòu)調(diào)整合同4篇
- 二零二五年度某局勞務(wù)分包結(jié)算與數(shù)字化轉(zhuǎn)型戰(zhàn)略合同2篇
- 天然氣在科技創(chuàng)新中的地位考核試卷
- 家禽飼養(yǎng)業(yè)質(zhì)量品牌提升與市場競爭策略考核試卷
- 供應(yīng)鏈協(xié)同采購與供應(yīng)商管理考核試卷
- 儀器儀表制造業(yè)的持續(xù)創(chuàng)新能力考核試卷
- 2025版二零二五年度美發(fā)店房東租賃合同范本:租賃合作協(xié)議4篇
- 中醫(yī)診療方案腎病科
- 2025年安慶港華燃氣限公司招聘工作人員14人高頻重點提升(共500題)附帶答案詳解
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- GB/T 44351-2024退化林修復(fù)技術(shù)規(guī)程
- 從跨文化交際的角度解析中西方酒文化(合集5篇)xiexiebang.com
- 中藥飲片培訓(xùn)課件
- 醫(yī)院護理培訓(xùn)課件:《早產(chǎn)兒姿勢管理與擺位》
- 《論文的寫作技巧》課件
- 空氣自動站儀器運營維護項目操作說明以及簡單故障處理
- 2022年12月Python-一級等級考試真題(附答案-解析)
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
評論
0/150
提交評論