freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的坦克網(wǎng)戰(zhàn)游戲的設(shè)計(jì)和實(shí)現(xiàn)(編輯修改稿)

2024-10-06 18:12 本頁面
 

【文章內(nèi)容簡介】 生命耗盡,游戲結(jié)束,玩家可以選擇重玩,但需要雙方 做出一致選擇 。 四川師范大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì) 6 3 總體設(shè)計(jì) 程序運(yùn)行流程 本游戲程序運(yùn)行需要玩家雙方在局域網(wǎng)內(nèi)建立通信,也可在同一電腦上建立通信,但只能 操作 一個(gè)玩家。具體運(yùn)行流程如圖 所示: 圖 程序 運(yùn)行流程如圖 總體構(gòu)架 本游戲 在設(shè)計(jì)過程中,為了降低設(shè)計(jì)難度,將整個(gè)程序按模塊進(jìn)行單獨(dú)編寫, 包括開始 服務(wù)器建立主機(jī) 建立成功 客服端連接主機(jī) 運(yùn)行服務(wù)器 運(yùn)行客服端 連接成功 游戲結(jié)束 載入游戲 結(jié)束 重玩游戲 否 是 否 是 是 否 四川師范大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì) 7 主類、通信類、坦克類、子彈類、墻類、輔助類、服務(wù)器類、客服端類、敵人坦克類、關(guān)卡類以及時(shí)鐘類。各個(gè)類和實(shí)現(xiàn)的功能表如表 : 表 各個(gè)類和實(shí)現(xiàn)的功能表 類 實(shí)現(xiàn)功能 主類 實(shí)現(xiàn)游戲窗口的顯示 提供公共接口 通信類 實(shí)現(xiàn)玩家間建立游戲 使玩家間可以進(jìn)行信息交流 坦克類 添加坦克圖片 控制坦克移動(dòng) 讓坦克可以發(fā)出 子彈 讓玩家坦克死亡后重置 使坦克不能穿墻和其他坦克 使坦克可以穿草叢不能穿河 子彈類 畫出子彈 控制子彈 讓普通子彈可以擊毀普通磚墻不能擊毀鋼墻 讓子彈可以穿越草叢和河流 墻類 添加磚墻圖片 添加鋼墻圖片 添加草叢圖片 添加河流圖片 顯示圖片 輔助類 添加輔助圖片 敵方閃爍坦克陣亡后隨機(jī)顯示輔助圖片 玩家獲得輔助圖片后得到相應(yīng)輔助功能 服務(wù)器類 建立主機(jī) 控制游戲進(jìn)程 客服端類 輸入主機(jī) IP連接主機(jī) 四川師范大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì) 8 控制游戲進(jìn)程 關(guān)卡類 添加墻類圖片并進(jìn) 行排版編輯 顯示添加圖片 時(shí)鐘類 刷新線程 對(duì)玩家事件進(jìn)行監(jiān)聽 控制游戲運(yùn)行與休眠 4 程序模塊 本游戲程序由多個(gè)模塊同時(shí)運(yùn)行而實(shí)現(xiàn),也體現(xiàn)了 Java 語言的優(yōu)越性。通過各個(gè)模塊的相互調(diào)用,它能完成游戲顯示,通信建立,控制進(jìn)程等一系列操作,使游戲規(guī)范化,易于操作。 主體模塊 主體模塊首先構(gòu)建接口 , 因?yàn)?Java 不支持多繼承性,即一個(gè)類只能有一個(gè)父類。單繼承性使得 Java 簡單,易于管理程序。為了克服單繼承的缺點(diǎn), Java 使用了接口,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。使用關(guān)鍵字 interface 來定義一個(gè)接口 。接口的定義和類的定義很相似,分為接口的聲明和接口體。 其次是畫出游戲面板和游戲窗口的顯示 ,在游戲窗口中添加了幾個(gè)功能按鍵,主要進(jìn)行聯(lián)機(jī)操作,游戲進(jìn)程操作等 。 游戲過程中,游戲版面顯示當(dāng)前關(guān)卡數(shù),敵人剩余數(shù),玩家生命數(shù)以及玩家獲得的分?jǐn)?shù)。 通信模塊 通信模塊通過 Java語言中套接字 Socket編寫通信類 ,針對(duì)游戲中客戶端和服務(wù)器的聯(lián)機(jī)功能的實(shí)現(xiàn),它的通信過程是基于 TCP/IP 協(xié)議中傳輸層接口 socket 實(shí)現(xiàn)。通過通信模塊玩家可以進(jìn)行信息傳遞以便協(xié)同作戰(zhàn),為本游戲添加樂趣。 坦克模塊 坦克模塊部分主要由玩家坦克 和敵人坦克組成,敵方坦克隨機(jī)出現(xiàn),并隨機(jī)移動(dòng),玩家通過鍵盤操作來控制坦克的移動(dòng)和對(duì)敵方坦克進(jìn)行攻擊。玩家坦克可以對(duì)敵方閃爍坦克進(jìn)行攻擊,并得到額外輔助道具,獲得道具后玩家坦克具備相應(yīng)功能。 敵方 坦克由游戲窗口上方按照左中 右依次出現(xiàn),敵方在移動(dòng)過程中隨機(jī)發(fā)出子彈,如遇見障礙則隨機(jī)改變運(yùn)動(dòng)方向。玩家在第一關(guān)卡時(shí),最多同時(shí)出現(xiàn)三輛敵方坦克 , 隨著游戲的進(jìn)行敵方坦克數(shù)量隨之增加且敵方坦克運(yùn)動(dòng)速度加快, 和經(jīng)典單機(jī)坦克游戲十分相似,將玩家?guī)胪昊貞洝? 四川師范大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì) 9 子彈模塊 在該模塊中,初始玩家一次只能發(fā)射一顆子彈,且只對(duì)敵方坦克和普 通磚墻有效,當(dāng)子彈消失后才能接著發(fā)射。 子彈擊毀時(shí)出現(xiàn)爆炸效果,玩家子彈和敵方坦克發(fā)出的子彈可以撞毀, 敵方坦克向四個(gè)方向隨機(jī)移動(dòng)并發(fā)射子彈。游戲工程中玩家獲得相應(yīng)輔助道具后,子彈速度加快且可以進(jìn)行連續(xù)射擊。 墻模塊 墻模塊是由四個(gè)類共同組成,包括磚墻、鋼墻、草叢和河流。通過這四個(gè)類的組合,編輯成游戲地圖。 游戲地圖中,玩家基地周圍是由磚墻包圍, 在墻模塊中,磚墻是最基本的組成,玩家或敵方坦克都能將其摧毀,鋼墻只有玩家獲得特殊輔助后才能摧毀,玩家和敵方發(fā)出的子彈都能穿越草叢和河流。 關(guān)卡模塊 為了增加游戲的趣味性, 游戲中設(shè)計(jì)了九個(gè)循環(huán)關(guān)卡。在游戲過程中,玩家雙方各有 3條生命,當(dāng)玩家雙方均把生命耗盡時(shí),通關(guān)失敗,只有雙方選擇重玩時(shí)才重新開始游戲。 在關(guān)卡進(jìn)行時(shí),任一玩家可以選擇暫停游戲, 在每個(gè)關(guān)卡中設(shè)置了玩家基地,當(dāng)玩家基地被毀, 則 通關(guān)失敗。每個(gè)關(guān)卡設(shè)計(jì) 20 輛敵方坦克,當(dāng)敵方坦克均被消滅,游戲自動(dòng)進(jìn)入下一關(guān)卡。游戲玩家具體游戲流程如圖 所示 : 圖 玩家游戲流程圖 5 程序?qū)崿F(xiàn) 載入游戲 開始 失敗 重玩 結(jié)束 進(jìn)入下一關(guān) 是 否 否 是 四川師范大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì) 10 游戲窗口 界面設(shè)計(jì) 游戲窗口使用 Frame 類 , Frame 類是 Container 類的間接子類。當(dāng)需要一個(gè)窗口時(shí),可使用 Frame 或其子類創(chuàng)建一個(gè)對(duì)象。窗口也是一個(gè)容器,可以向窗口添加組件。 該游戲界面包括文本輸入框和按鈕,因?yàn)榉?wù)器端和客戶端窗口相似,以下提供客服端游戲窗口設(shè)計(jì)代碼: public class ServerView extends JFrame{ public drawingPanel mainPanel。 public JButton createServer, exit, pauseAndResume, help, hiddenButton。 public JTextField messageField。 public JButton sendMessage。 public ServerControler controler。 public ServerModel model。 public ServerView(){ super(基于 Java 的坦克網(wǎng)戰(zhàn)游戲 )。 try { (())。 } catch (Exception e) { } getContentPane().setLayout(null)。 mainPanel = new drawingPanel()。 (null)。 (0, 22, 679, 605)。 (new Color(128, 64, 128))。 setDefaultCloseOperation()。 setBounds(150, 130, 640, 590)。 setVisible(true)。 setResizable( false )。 model = new ServerModel(this)。 controler = new ServerControler(this, model)。 /* * 添加按鍵和文本框 并實(shí)現(xiàn)相應(yīng)功能 */ 四川師范大學(xué)成都學(xué)院本科畢業(yè)設(shè)計(jì) 11 messageField = new JTextField()。 (0,519, 560,22)。 (false)。 sendMessage = new JButton(發(fā)送 )。 (570,518, 62,24)。 (false)。 (messageField)。 (sendMessage)。 getContentPane().add(mainPanel)。 (true)。 createServer = new JButton(建立主機(jī) )。 (0, 0,120,22)。 getContentPane().add(createServer)。 (false)。 pauseAndResume = new JButton(暫停 /繼續(xù) )。 (120, 0,120,22)。 getContentPane().add(pauseAndResume)。 (false)。 help = new JButton(幫助 )。 (240, 0,120,22)。 getContentPane().add(help)。 (false)。 exit = new JButton(退出 )。 (360, 0,120,22)。 getContentPane().add(exit)。 (false)。 setDefaultCloseOperation()。 setBounds(150, 130, 640, 590)。 setVisible(true)。 setResizable( false )。 model = new ServerModel(this)。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1