資源描述:
《基于Java面向?qū)ο蟪绦蛟O(shè)計(jì)課程報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、.word教育資料.基于Java語言的簡易坦克大戰(zhàn)游戲設(shè)計(jì)課程報(bào)告摘要:本課程設(shè)計(jì)使用Java語言開發(fā)了一個(gè)簡單坦克大戰(zhàn)小游戲,主要采用面向?qū)ο蟪绦蛟O(shè)計(jì)思想來完成程序的需求分析,概念及邏輯設(shè)計(jì),系統(tǒng)的詳細(xì)實(shí)現(xiàn)等過程。游戲主要實(shí)現(xiàn)了游戲場景的構(gòu)造,坦克及子彈類的初始化,敵我坦克對(duì)戰(zhàn),游戲存盤及讀檔等功能。關(guān)鍵詞:Java;面向?qū)ο?;敵我坦克?duì)戰(zhàn);引言坦克大戰(zhàn)是一個(gè)經(jīng)典的單機(jī)對(duì)戰(zhàn)游戲,其在青少年中非常流行,目前游戲開發(fā)商對(duì)其不斷改進(jìn),已從簡單的單機(jī)手游擴(kuò)充為大型的網(wǎng)絡(luò)對(duì)戰(zhàn)游戲,但其基于面向?qū)ο蟪绦蛟O(shè)計(jì)思想仍未變。本設(shè)計(jì)是為檢驗(yàn)面向?qū)ο蟪绦蛟O(shè)計(jì)課程的知識(shí)運(yùn)用而進(jìn)
2、行的實(shí)踐,其主要目的是采用面向?qū)ο蟮乃枷?,?dú)立完成程序的各個(gè)過程,并在實(shí)踐中應(yīng)用學(xué)到的關(guān)于Java類與對(duì)象,接口,包,異常處理,多線程,事件處理及各類流的處理等知識(shí)。1.系統(tǒng)分析1.1系統(tǒng)可行性分析在技術(shù)上,本系統(tǒng)的坦克大戰(zhàn)是基于Java語言設(shè)計(jì),并在Eclipse軟件上具體實(shí)現(xiàn)的。Java語言是一種跨平臺(tái),適合于分布式計(jì)算環(huán)境的面向?qū)ο缶幊陶Z言,具有簡潔,安全,面向?qū)ο?,?dòng)態(tài),體系結(jié)構(gòu)中立,可移植,高性能,多線程,解釋執(zhí)行,分布式等特性。Java現(xiàn)在主要用在WEB開發(fā),手機(jī)游戲及一些平臺(tái)游戲的開發(fā),因?yàn)槠渚哂辛己玫目缙脚_(tái)性,在各類電子產(chǎn)品上應(yīng)用非常廣泛。
3、本系統(tǒng)使用Swing,GUI,Socket,面向?qū)ο笤O(shè)計(jì)等技術(shù)實(shí)現(xiàn),這些技術(shù)已非常成熟,廣泛應(yīng)用于各類程序開發(fā),故現(xiàn)在使用這些技術(shù)是可行的。word教育資料.在實(shí)用性上,坦克大戰(zhàn)為一款經(jīng)典射擊游戲,其前身為1985年日本游戲公司在任天堂FC(FamilyComputer)平臺(tái)上開發(fā)的紅白單機(jī)游戲,游戲以坦克戰(zhàn)斗及保衛(wèi)基地為主題,憑借流暢的游戲體驗(yàn),不錯(cuò)的游戲視覺效果風(fēng)靡全世界。直到今天,仍有游戲商家以其為模型開發(fā)出3D網(wǎng)絡(luò)對(duì)戰(zhàn)版坦克大戰(zhàn),可見其具有廣大的市場效益。本系統(tǒng)運(yùn)用Java跨平臺(tái)編程語言,在PC上重新實(shí)現(xiàn)這一經(jīng)典游戲,探究其設(shè)計(jì)思路與實(shí)現(xiàn)方法,并且
4、設(shè)計(jì)了關(guān)卡模式,新增了游戲存盤,讀檔功能,使游戲玩法更加豐富。因此,本系統(tǒng)具有一定的實(shí)用性。1.2系統(tǒng)需求分析憑著由于系統(tǒng)為簡易的單機(jī)對(duì)戰(zhàn)射擊游戲故游戲必須具有以下功能:1)有圖形游戲界面,使用戶看得到游戲給出的反饋。2)有人機(jī)交互功能,用戶可以操作指定的游戲元素。3)坦克可以上下左右四個(gè)方向任意行走,且不可超出游戲設(shè)定邊界。4)敵方坦克必須明顯區(qū)別于我方坦克,且可以隨機(jī)移動(dòng),隨機(jī)打出炮彈。5)我方坦克可在控制下四個(gè)方向任意移動(dòng),且可按不同速率發(fā)射炮彈。6)敵方坦克之間不能重疊,我方坦克與敵方坦克也不能重疊。7)炮彈與坦克的碰撞檢測,且炮彈超出邊界的檢測。
5、8)加入聲音,圖片等資源,使游戲具有良好體驗(yàn)性。9)菜單欄選項(xiàng),可以選擇新游戲,退出游戲,存檔游戲,讀取游戲,并可以查看幫助信息。2.系統(tǒng)概要設(shè)計(jì)2.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)坦克大戰(zhàn)游戲主要實(shí)現(xiàn)玩家參加游戲的整個(gè)過程,用戶打開游戲,將出現(xiàn)游戲初始界面,用戶可點(diǎn)擊菜單欄選擇游戲模式和幫助文檔。若玩家選擇游戲菜單,將出現(xiàn)四個(gè)選項(xiàng):新游戲(N)、退出游戲(E)、存盤退出(C)和繼續(xù)游戲(S),選擇新游戲則玩家開始游戲,選擇存盤退出將保存游戲記錄并退出,選擇繼續(xù)游戲則讀取保存記錄玩家繼續(xù)上次游戲。幫助菜單將幫助玩家了解游戲的相關(guān)操作。整個(gè)游戲流程如圖1所示:word教育資料
6、.是否判斷勝負(fù)負(fù)程序開始初始化游戲幫助新游戲繼續(xù)游戲是否有記錄退出存盤退出對(duì)戰(zhàn)圖1系統(tǒng)流程圖2.2TankAction類的設(shè)計(jì)TankAction類是整個(gè)系統(tǒng)的核心部分,承擔(dān)整個(gè)系統(tǒng)的所有可實(shí)現(xiàn)功能的調(diào)度工作,它的設(shè)計(jì)決定著游戲的好壞。TankAction類的設(shè)計(jì)流程如圖2所示:word教育資料.結(jié)束同角色坦克初始化坦克敵我坦克移動(dòng)(碰撞規(guī)避)發(fā)射炮彈擊中檢測產(chǎn)生爆炸判斷勝負(fù)不處理不同角色坦克圖2TankAction類設(shè)計(jì)流程圖TankAction類是主類,通過調(diào)用其他類中封裝的方法使系統(tǒng)運(yùn)行起來,下面是TankAction類與其它類的關(guān)系。如圖3所示:交
7、戰(zhàn)隨機(jī)移動(dòng)擊中MyTank類(我方)TankAction類(主類)調(diào)用Zidan類調(diào)用BaoZha類產(chǎn)生爆炸判斷勝負(fù)DiTank類(敵方)鍵盤控制移動(dòng)圖3TankAction類與其它類關(guān)聯(lián)圖word教育資料.2.3Tank類的設(shè)計(jì)由面向?qū)ο笤O(shè)計(jì)思想知,Tank類為系統(tǒng)主要對(duì)象。在Tank類中封裝了一些成員變量,包括坦克相對(duì)于游戲界面左上角的橫坐標(biāo)(x)、縱坐標(biāo)(y),坦克正面所對(duì)于方向(fangxiang),坦克顏色(color),坦克速度(sudu)和坦克生命值(shengming)等;Tank類中沒有main函數(shù),其中只封裝了一些變量屬性和靜態(tài)方法,如
8、getcolor()、getsudu()、setFangxiang