官术网_书友最值得收藏!

4.2 系統(tǒng)功能設(shè)計

本節(jié)主要介紹系統(tǒng)實現(xiàn)的功能,搭建好設(shè)計的總體框架,從而使我們對待開發(fā)游戲有一個系統(tǒng)、全面的認(rèn)識。

4.2.1 總體功能

游戲由服務(wù)器端和客戶端兩個部分組成。

在服務(wù)器端,ServerModel類主要用來創(chuàng)建主機(jī),ServerView類主要負(fù)責(zé)設(shè)置服務(wù)器端圖形界面的面板信息,ServerControler類處理來自服務(wù)器視圖框架的輸入(包括創(chuàng)立通信與幫助信息等),Enemy類主要負(fù)責(zé)創(chuàng)建敵方坦克,Player類主要用來設(shè)置玩家的得分及其顯示位置等信息,DrawingPanel類主要負(fù)責(zé)創(chuàng)建和設(shè)置服務(wù)器端界面窗口,PowerUp類主要用來設(shè)置彈藥屬性(例如加快速度、提升火力等),F(xiàn)eedbackHandler類主要用來解碼從客戶端發(fā)來的指令字符串,再將其轉(zhuǎn)換成指令來判斷游戲失敗后玩家是否繼續(xù)游戲的問題。

在客戶端,ClientModel類主要用來設(shè)置與服務(wù)器的連接,ClientView類主要負(fù)責(zé)客戶端圖形界面的面板信息,ClientControler類主要負(fù)責(zé)處理來自客戶端視圖框架的輸入和創(chuàng)立通信與幫助信息等,DrawingPanel主要用來設(shè)置客戶端窗口界面,InstructionHandler類主要用來解碼從服務(wù)器端發(fā)來的指令字符串,再將其轉(zhuǎn)換成指令來判斷游戲失敗后玩家是否繼續(xù)游戲的問題,Shield類主要負(fù)責(zé)設(shè)置坦克銷毀頭盔圖標(biāo)獲得保護(hù)時的狀態(tài),NormalObject類主要用來創(chuàng)建和描繪其他物體對象。

在服務(wù)器端和客戶端都存在的類中,Actor類主要用來創(chuàng)建接口,Base類主要用來創(chuàng)建基地并設(shè)置屬性,Bullet類主要用來創(chuàng)建彈藥并設(shè)置屬性,Ticker類主要用來創(chuàng)建時間信息,Bomb類主要用來創(chuàng)建彈藥打出后產(chǎn)生的爆炸效果,River類主要用來創(chuàng)建河道并設(shè)置屬性,Grass類主要負(fù)責(zé)創(chuàng)建草坪并設(shè)置屬性,Steelwall類主要用來創(chuàng)建鋼墻并設(shè)置屬性,Wall類主要用來創(chuàng)建和設(shè)置普通墻及其屬性,Level類負(fù)責(zé)創(chuàng)建關(guān)卡。游戲服務(wù)器端各類功能如表4-1所示,游戲客戶端各類功能如表4-2所示。

表4-1 游戲服務(wù)器端各類功能一覽表

表4-2 游戲客戶端各類功能一覽表

客戶端玩家輸入主機(jī)地址來完成與服務(wù)器玩家的連接,雙方通過使用指令鍵來操控自己的坦克,敵方坦克和彈藥則是自主隨機(jī)運(yùn)行。游戲中會對玩家的分?jǐn)?shù)進(jìn)行記錄,并增加了特殊武器;另外,對此游戲還進(jìn)行了部分創(chuàng)新,如添加了通信功能,客戶端與服務(wù)器端的連接訪問通過使用套接字Socket來實現(xiàn)。

坦克大戰(zhàn)游戲的總體功能如圖4-1所示。

圖4-1 總體功能圖

4.2.2 總體流程圖

坦克大戰(zhàn)游戲主要實現(xiàn)玩家參加游戲的整個流程。玩家進(jìn)入游戲運(yùn)行界面后,程序會初始化坦克、炮彈、障礙物。玩家可以通過控制鍵盤來控制自己的坦克進(jìn)行移動、射擊、復(fù)活等主要操作。當(dāng)玩家殲滅本關(guān)卡所有的坦克后,程序會判定玩家通關(guān)勝利,此時運(yùn)行界面中出現(xiàn)通關(guān)勝利的畫面。Java版坦克大戰(zhàn)游戲的總體流程圖如圖4-2所示。

圖4-2 總體流程圖

主站蜘蛛池模板: 南华县| 毕节市| 乐昌市| 南安市| 左云县| 莱州市| 潞西市| 昭觉县| 泸州市| 始兴县| 柏乡县| 仙游县| 广宗县| 绍兴县| 江阴市| 芦山县| 景东| 大庆市| 宁德市| 南岸区| 江门市| 遵义县| 桦甸市| 侯马市| 达拉特旗| 都昌县| 华容县| 兰西县| 科技| 丰县| 时尚| 施秉县| 平陆县| 青浦区| 七台河市| 普洱| 公安县| 资兴市| 乃东县| 通海县| 老河口市|