JAVA貪吃蛇課程設(shè)計(jì)報(bào)告_第1頁(yè)
JAVA貪吃蛇課程設(shè)計(jì)報(bào)告_第2頁(yè)
JAVA貪吃蛇課程設(shè)計(jì)報(bào)告_第3頁(yè)
JAVA貪吃蛇課程設(shè)計(jì)報(bào)告_第4頁(yè)
JAVA貪吃蛇課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、javajava 應(yīng)用開(kāi)發(fā)應(yīng)用開(kāi)發(fā) 課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告 題題 目:目: java 小游戲 - 貪吃蛇 指導(dǎo)老師:指導(dǎo)老師: 姓姓 名:名: 專(zhuān)專(zhuān) 業(yè):業(yè): 班班 級(jí):級(jí): 日日 期:期: 目目 錄錄 一、系統(tǒng)總體設(shè)計(jì)一、系統(tǒng)總體設(shè)計(jì) .1 1 (一)設(shè)計(jì)目標(biāo)及完成功能.1 (二)系統(tǒng)結(jié)構(gòu)設(shè)計(jì).1 二、詳細(xì)設(shè)計(jì)二、詳細(xì)設(shè)計(jì) .2 2 (一) 界面設(shè)計(jì) .2 (二) 系統(tǒng)設(shè)計(jì) .4 (三) 關(guān)鍵技術(shù)及算法 .6 四、測(cè)試四、測(cè)試 .7 7 五、安裝使用說(shuō)明五、安裝使用說(shuō)明 .7 7 總結(jié)(體會(huì))總結(jié)(體會(huì)) .8 8 參考文獻(xiàn)參考文獻(xiàn) .8 8 一、系統(tǒng)總體設(shè)計(jì)一、系統(tǒng)總體設(shè)計(jì) (一)設(shè)計(jì)目

2、標(biāo)及完成功能 本軟件是針對(duì)貪吃蛇小游戲的 java 程序,利用上、下、左、右方向鍵來(lái)改 變蛇的運(yùn)動(dòng)方向,長(zhǎng)按某個(gè)方向鍵后,蛇的運(yùn)動(dòng)速度會(huì)加快,在隨機(jī)的地方產(chǎn) 生食物,吃到食物就變成新的蛇體,碰到壁或自身則游戲結(jié)束,否則正常進(jìn)行 游戲,在到達(dá)固定的分?jǐn)?shù)后,游戲速度會(huì)加快。 1.窗口功能說(shuō)明:設(shè)計(jì)了三個(gè)窗口,分別是游戲主窗口,成績(jī)窗口,游戲 幫助和關(guān)于作者窗口。 2.菜單欄分別為:游戲菜單和幫助菜單 其中,游戲菜單包括開(kāi)始游戲和退出游戲兩項(xiàng);幫助菜單包括游戲幫助 和關(guān)于作者兩項(xiàng)。 (二)系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 圖 1-1 系統(tǒng)結(jié)構(gòu)圖 游戲窗體 游戲菜單分?jǐn)?shù)排行幫助菜單 開(kāi) 始 游 戲 退 出 游 戲 關(guān) 于

3、 作 者 游 戲 幫 助 二、詳細(xì)設(shè)計(jì)二、詳細(xì)設(shè)計(jì) (一) 界面設(shè)計(jì) 貪吃蛇游戲的基本運(yùn)行界面 (1)生成初始界面: 圖 2-1 初始界面 (2)游戲菜單欄: 圖 2-2 游戲菜單 (2)積分排行菜單欄: 圖 2-3 積分排行菜單 (3)進(jìn)行游戲界面: 點(diǎn)擊“游戲” ,進(jìn)入游戲菜單,選擇“開(kāi)始游戲” ,或者使用快捷鍵 “ctrl+o”來(lái)開(kāi)始游戲。紅色為貪吃蛇的身體部分,黑色方塊為食物。得 分后,分?jǐn)?shù)和得到食物數(shù)在左上角處實(shí)時(shí)顯示。 圖 2-4 進(jìn)行游戲 (5)游戲結(jié)束界面: 當(dāng)蛇撞到墻壁或者自身的時(shí)候游戲結(jié)束。 圖 2-5 游戲結(jié)束界面 (二) 系統(tǒng)設(shè)計(jì) 表 2-1 主要事件監(jiān)聽(tīng)接口 事件監(jiān)聽(tīng)

4、器接口接口中的方法所處理的事件 itemlisteneritemevent eitemevent actionlisenter actionperformed(actionevent e) actionevent 表 2-2 主要成員變量 成員變量描述變量類(lèi)型名稱(chēng) 蛇類(lèi)對(duì)象private thread sheshe 繪制面板paint(graphics g)g 菜單條new jmenubarmenubar 游戲菜單jmenuyouximenu 開(kāi)始游戲菜單項(xiàng)jmenuitemkaishiyouxi 退出游戲菜單項(xiàng)jmenuitemexititem 積分排行菜單jmenufenshumenu 最

5、高紀(jì)錄菜單項(xiàng)jmenuitemfenshuitem 幫助菜單jmenuguanyumenu 游戲幫助菜單項(xiàng)jmenuitemyouxibangzuitem 關(guān)于作者菜單項(xiàng)jmenuitemzuozheitem 表 2-3 主要方法 方法名功能 getcontentpane() 創(chuàng)建蛇的面板 addkeylistener 監(jiān)視器 jmenu() 創(chuàng)建菜單 jmenuitem 構(gòu)造菜單項(xiàng) setbounds() 設(shè)置尺寸 run() 蛇的運(yùn)動(dòng)狀態(tài) check() 檢查狀態(tài) isdead() 判斷游戲是否結(jié)束 reform() 蛇吃到食物后增加方法 upgrowth() 生成食物的方法 keypre

6、ssed() 按鍵方向的定義 (三) 關(guān)鍵技術(shù)及算法 程序關(guān)鍵在于表示蛇的圖形及蛇的移動(dòng)。用一個(gè)小矩形快表示蛇的一節(jié)身 體,身體每長(zhǎng)一節(jié),增加一個(gè)矩形塊,蛇頭用倆節(jié)表示。移動(dòng)時(shí)必須從蛇頭開(kāi) 始,所以蛇不能向相反的方向移動(dòng),如果不按任意鍵,蛇自行在當(dāng)前方向上前 移,但按下有效方向鍵后,蛇頭朝著該方向移動(dòng),一步移動(dòng)一節(jié)身體,所以按 下有效方向鍵后,先確定蛇頭的位置,而后蛇的身體隨蛇頭移動(dòng),圖形的實(shí)現(xiàn) 是從蛇頭新位置開(kāi)始畫(huà)出蛇,這時(shí),由于未清屏的原因,原來(lái)的蛇的位置和新 蛇的位置差一個(gè)單位,所以看起來(lái)蛇多一節(jié)身體,所以將蛇的最后一節(jié)用背景 色覆蓋。食物的出現(xiàn)與消失也是畫(huà)矩形塊和覆蓋矩形塊。為了便于理

7、解,定義 兩個(gè)結(jié)構(gòu)體:食物與蛇。當(dāng)?shù)竭_(dá)一定分?jǐn)?shù)后蛇的運(yùn)動(dòng)速度將加快。記分排行的 功能是將得分最高的玩家信息儲(chǔ)存,其余玩家的信息將被刪除。得分和食物數(shù) 將在窗口中實(shí)時(shí)顯示。 四、測(cè)試四、測(cè)試 測(cè)試內(nèi)容:本系統(tǒng)測(cè)試的主要內(nèi)容為功能測(cè)試,界面測(cè)試。詳細(xì)的說(shuō),是 對(duì)游戲的開(kāi)始新游戲、退出、查看最高成績(jī)、計(jì)時(shí)、統(tǒng)計(jì)分?jǐn)?shù)等功能進(jìn)行測(cè) 試,并測(cè)試程序的鼠標(biāo)點(diǎn)擊事件、菜單的響應(yīng)及按鍵響應(yīng)等事件。 測(cè)試結(jié)果:能正確實(shí)現(xiàn)功能要求。要求輸出的效果與預(yù)期的輸出效果完全 一致。 五、安裝使用說(shuō)明五、安裝使用說(shuō)明 系統(tǒng)配置說(shuō)明 設(shè)備:硬件最低要求:cpu pentium 以上 pc 服務(wù)器。 操縱系統(tǒng):支持 window

8、s xp 以上的操作系統(tǒng)。 軟件:jdk 1.5;jcreator 4.50 pro 總結(jié)(體會(huì))總結(jié)(體會(huì)) 回顧這個(gè)設(shè)計(jì)過(guò)程,我學(xué)到了許多書(shū)本上沒(méi)有學(xué)到的知識(shí)。通過(guò)這次自己制 作的軟件,豐富了自己的實(shí)踐技能,擴(kuò)展了本專(zhuān)業(yè)的知識(shí)面,使我受益非淺,同時(shí) 也體驗(yàn)到了搞軟件開(kāi)發(fā)的困難度。在這次設(shè)計(jì)的同時(shí),我又從中學(xué)到了許多東西。 但由于我對(duì)這樣的軟件開(kāi)發(fā)還只是一個(gè)開(kāi)始,了解的不多,這其中或許還有很 多的不足,有些模塊做得不是很好,界面的設(shè)計(jì)及整體的布局還比較簡(jiǎn)單,沒(méi) 有突出特色出來(lái),這也可能是我這個(gè)系統(tǒng)的不足之處,在這里也懇請(qǐng)各位老師 能夠?qū)ξ业淖髌分该鞑蛔悴⒓右愿恼?總之,在這一次的課程設(shè)計(jì)過(guò)程中,我查閱了大量的資料,對(duì) java 有了一 點(diǎn)初步的認(rèn)識(shí),對(duì)于軟件工程這些輔助性的教材也鞏固了不少,為我這次的課 設(shè)提供了很大的幫助,鍛煉了我的能力讓我掌握了一門(mén)新的程序設(shè)計(jì)語(yǔ)言: java 語(yǔ)言,系統(tǒng)地學(xué)習(xí)了數(shù)據(jù)庫(kù)方面的知識(shí),并更進(jìn)一步提高了我在程序設(shè)計(jì)、 調(diào)試方面的技巧。更重要的是,它還讓我認(rèn)識(shí)到了自己的不足,在編程方面, 我僅僅是剛剛?cè)腴T(mén)而已,以后的道路任重道遠(yuǎn),需要我不斷的豐富自己、充實(shí) 自己,這樣才能在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論