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

正文內(nèi)容

java桌面游戲爭(zhēng)霸的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2025-06-28 08:01本頁(yè)面
  

【正文】 tring output, boolean a, boolean b)方法被實(shí)現(xiàn)為:public void sendMessage(String output, boolean a, boolean b){ },其他所有方法類似,雖然它實(shí)現(xiàn)了接口中的所有抽象方法,但是沒(méi)有具體實(shí)現(xiàn)方法的內(nèi)容,這有什么用呢?因?yàn)槿绻阋瞧渌某绦蛑袑?shí)現(xiàn)該接口,你必須要實(shí)現(xiàn)其中的多有方法,無(wú)論你用不用的上,所以就會(huì)導(dǎo)致一些無(wú)用功,然而我們定義了這樣一個(gè)適配器類,你就不用實(shí)現(xiàn)接口,可以繼承該方法,而重寫其中的一些你需要用到的方法,這樣就省去了很多的無(wú)用功,能節(jié)省很多的寶貴時(shí)間!在游戲中還需要通過(guò)java輸入輸出包來(lái)讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入文件保存,這時(shí)候需要對(duì)文件或數(shù)據(jù)進(jìn)行篩選,這時(shí)候我們就需要有自己的文件過(guò)濾器,所以我們定義一個(gè)RiskFileFilter類:public class RiskFileFilter extends FileFilter {…… public RiskFileFilter(String ext) { extension = ext。 } public boolean accept(File f) { if (()) { return true。 } String ext = getExtension(f)。 if (ext != null) { if (( extension )) { return true。 }else { return false。 } } return false。 } public String getDescription(){ …… } public static String getExtension(File f) {……}}最后我們需要主要的類Risk:public class Risk extends Thread {…… public Risk(String a,String b) {} public Risk() {} public void addRiskListener(RiskListener o) {} public void deleteRiskListener(RiskListener o) {} public synchronized void parser(String m) {} public void run() {} public void GameParser(String mem) {} public void DoEndGo() {} public void getInput() {} public String getAutoDefendString() {} public String whoWon() {} public static Frame findParentFrame(Container c) {} public static String getNewFile(Frame f,String a) {} public synchronized void kickedOff() { } public Vector getCurrentCards() {} public boolean isOwnedCurrentPlayerInt(int name) {} public String getCurrentMission() {} public Color[] getPlayerColors() {} public Color getCurrentPlayerColor() {} public boolean canTrade(String c1, String c2, String c3) {} public RiskGame getGame() {} public String getCountryName(int c) {} public boolean getAutoEndGo() {} public boolean getAutoDefend() {} public static Color getTextColorFor(Color c) {}} 游戲界面的設(shè)計(jì)一個(gè)游戲只有好的界面的才能吸引玩家,要有很好的交互性,所以本游戲的開(kāi)發(fā)過(guò)程中就是以操作簡(jiǎn)便、界面美觀、靈活實(shí)用的用戶要求為出發(fā)點(diǎn)的,當(dāng)玩家進(jìn)入游戲時(shí),游戲的主界面的設(shè)計(jì)如下圖所示:圖48 游戲的主界面。其主要實(shí)現(xiàn)代碼SwingGUIFrame如下:public class SwingGUIFrame { public static void main(String[] argv) { try { String os = ()。 if ( os != null amp。amp。 (Linux)) { ()。 } else { (())。 } } catch (Exception e) { ()。 } JFrame gui = new JFrame()。 ( new SwingGUIPanel( new Risk() ) )。 ( )。 (().getImage( () ))。 (false)。 ()。 ()。 Dimension screenSize = ().getScreenSize()。 Dimension frameSize = ()。 = (( ) ? : )。 = (( ) ? : )。 (( ) / 2, ( ) / 2)。 (true)。 }}當(dāng)你單擊選擇進(jìn)行新游戲時(shí),出現(xiàn)游戲設(shè)置面板,如圖49所示;當(dāng)你選擇載入游戲時(shí),如圖410 所示;控制臺(tái)面板如圖412所示;統(tǒng)計(jì)面板如圖413所示;游戲中的界面如圖411所示;卡片交易面板如圖414所示;關(guān)于面板如圖415所示;圖49 游戲設(shè)置面板圖410 載入游戲面板圖411 游戲過(guò)程中實(shí)現(xiàn)這些界面的是類SwingGUIPanel,其中實(shí)現(xiàn)游戲界面的方法主要是GamePaenl()主要實(shí)現(xiàn)代碼: public GamePanel() { pp = new PicturePanel(myrisk)。 (mapSize)。 (mapSize)。 (mapSize)。 ((new (0,0,0),1))。 (this)。 (this)。 Dimension gameOptionsSize = new Dimension(,25)。 gameOptions = new GameOptionsPanel()。 (gameOptionsSize)。 (gameOptionsSize)。 (gameOptionsSize)。 Dimension d = new Dimension( , 50)。 inGameCards = new CardLayout()。 inGameInput = new JPanel()。 ( inGameCards )。 (d)。 (d)。 (d)。 JPanel nothing = new JPanel()。…… JPanel results = new JPanel()?!? JPanel placeArmies = new placeArmiesPanel()?!? roll = new rollPanel()。 JPanel move = new movePanel()。 JPanel attack = new attackPanel()。 defend = new defendPanel()。 …… // IN GAME (new ())。 GridBagConstraints c = new GridBagConstraints()。 = new (3, 3, 3, 3)。 = 。 = 0。 // col = 0。 // row = 1。 // width = 1。 // height (gameOptions, c)。 = 0。 // col = 1。 // row = 1。 // width = 1。 // height (pp, c)。 = 0。 // col = 2。 // row = 1。 // width = 1。 // height (inGameInput, c)。 }圖412 控制臺(tái)面板圖413 統(tǒng)計(jì)面板圖414 交易面板圖415 關(guān)于面板5 用戶使用手冊(cè) 系統(tǒng)環(huán)境說(shuō)明本游戲沒(méi)有操作系統(tǒng)的限制,沒(méi)有硬件的限制,只要求是在PC機(jī)上且該機(jī)子裝了JRE(),這就是用Java開(kāi)發(fā)出來(lái)的游戲的優(yōu)勢(shì)。而本游戲是在Windows XP操作系統(tǒng),jdk 。 系統(tǒng)簡(jiǎn)介 系統(tǒng)特點(diǎn)⑴ 用戶無(wú)需考慮系統(tǒng)的維護(hù);⑵ 操作簡(jiǎn)單,一目了然;⑶ JAVA開(kāi)發(fā),可移植性好; 操作方法,,玩家只需要雙擊該命令行文件就可以運(yùn)行游戲了,游戲菜單欄有四個(gè)菜單:游戲、控制臺(tái)、統(tǒng)計(jì)和幫助。在菜單下一行是二級(jí)菜單。如圖所示:圖51 游戲菜單當(dāng)你選擇想進(jìn)行一輪新的游戲時(shí),你可以選擇“新游戲”,如果你曾經(jīng)保存過(guò)了游戲,你想接著玩,可以選擇“裝載游戲”;剛開(kāi)始游戲時(shí),“保存游戲”按鈕和“關(guān)閉游戲”按鈕是灰色的(不可點(diǎn)擊),只有游戲過(guò)程當(dāng)中才能保存和關(guān)閉游戲;如果你想進(jìn)行網(wǎng)絡(luò)聯(lián)機(jī)游戲,并做服務(wù)器,可以點(diǎn)擊“啟動(dòng)服務(wù)器”,等待其他玩家的加入,若網(wǎng)上有其他玩家已經(jīng)建立了游戲,你可以選擇“加入游戲”如果玩家想了解一下游戲的其他信息,可以選擇“關(guān)于”,你也可以通過(guò)點(diǎn)擊“退出”按鈕退出游戲或則直接關(guān)閉游戲窗口。 圖52 控制臺(tái)菜單控制臺(tái)會(huì)在在整個(gè)過(guò)程中記錄并顯示游戲中用過(guò)的命令,玩家可以通過(guò)直接點(diǎn)擊按鈕進(jìn)行游戲,也可以通過(guò)控制臺(tái)的命令行輸入命令來(lái)進(jìn)行游戲,只需要點(diǎn)擊“命令”按鈕就可以看到多有的命令列表和說(shuō)明。 圖53 統(tǒng)計(jì)菜單統(tǒng)計(jì)菜單可以讓玩家選擇某個(gè)數(shù)據(jù)的統(tǒng)計(jì)圖,例如玩家只需點(diǎn)擊“國(guó)家”按鈕就可以看到各個(gè)玩家在游戲過(guò)程中的國(guó)家的數(shù)目的統(tǒng)計(jì)圖,選擇“軍隊(duì)”按鈕就可以看到游戲過(guò)程中各個(gè)玩家的軍隊(duì)數(shù)目的統(tǒng)計(jì)圖,依次類推。在進(jìn)行單機(jī)新游戲時(shí),玩家可以自己選擇電腦玩家的數(shù)量和難度,數(shù)量不同的游戲模式有所不同,每個(gè)玩家有自己的名字和顏色都可以設(shè)置,如圖:圖54 設(shè)置玩家面板游戲模式分為統(tǒng)治、首都和任務(wù)三種,統(tǒng)治模式是玩家要占領(lǐng)所有玩家為勝利,首都模式是玩家需要將敵人的首都都占領(lǐng)算勝利,任務(wù)是在電腦隨機(jī)分配了軍隊(duì)的情況下占領(lǐng)全世界為勝利,玩家通過(guò)單選框選擇,如圖所示:圖55 選擇游戲類型游戲開(kāi)始后玩家只需要隨的游戲中的提示進(jìn)行就可以了。 游戲需要改進(jìn)的地方本游戲完全是基于java圖形開(kāi)發(fā)的,沒(méi)有設(shè)計(jì)到聲音的開(kāi)發(fā),所以在游戲的以后版本中將會(huì)在游戲中加入聲音效果,并且游戲的界面并不是很美觀,所以在游戲的后續(xù)版本中會(huì)繼續(xù)美化游戲的界面;還有一點(diǎn)就是游戲的網(wǎng)絡(luò)包部分還存在很多的bug,經(jīng)常會(huì)出現(xiàn)一些問(wèn)題,有時(shí)候會(huì)連接不上,這也是本游戲主要的需要改進(jìn)的地方。 結(jié) 論本次畢業(yè)設(shè)計(jì)到此就已經(jīng)順利結(jié)束了,通過(guò)這次的畢業(yè)設(shè)計(jì),我學(xué)到了很多東西。在以前的三年多的時(shí)間里我學(xué)習(xí)了很多的課程,從開(kāi)始的計(jì)算機(jī)理論基礎(chǔ),到c語(yǔ)言,數(shù)據(jù)結(jié)構(gòu),c++,Java,數(shù)據(jù)庫(kù)系統(tǒng)概論等等。雖然通過(guò)學(xué)習(xí)對(duì)這些課程有所了解和掌握,但也只是膚淺的了解,也只是停留在對(duì)理論知識(shí)的理解階段,對(duì)知識(shí)的中我還不夠全面和熟練,并不能進(jìn)行編程開(kāi)發(fā),更不用說(shuō)實(shí)際項(xiàng)目的開(kāi)發(fā)了。這次的畢業(yè)設(shè)計(jì),使我將大學(xué)四年中所學(xué)到的很多東西貫串起來(lái),并真正地第一次的在實(shí)踐中運(yùn)用起來(lái),在設(shè)計(jì)中還存在許多我們平時(shí)沒(méi)有接觸過(guò)的新知識(shí),這就培養(yǎng)了我快速自學(xué)和應(yīng)用新知識(shí)的能力。此次設(shè)計(jì)不僅是對(duì)我所學(xué)知識(shí)的一次綜合應(yīng)用,更是對(duì)我綜合分析實(shí)際問(wèn)題、處理實(shí)際問(wèn)題、解決實(shí)際問(wèn)題的能力的培養(yǎng)和鍛煉。在本次畢業(yè)設(shè)計(jì)中我需要學(xué)習(xí)的不僅僅是JAVA語(yǔ)言和NeatBeans IDE開(kāi)發(fā)工具,還有其他很多方面的知識(shí)都需要我去了解和掌握。本文同時(shí)運(yùn)用了UML的基本知識(shí),以及使用UML進(jìn)行建模的方法,通過(guò)敏捷型方法思想,完成了本系統(tǒng)的UML建模工作,并在UML模型的基礎(chǔ)上,實(shí)現(xiàn)了該游戲。雖然對(duì)該UML建模方法作了一定的學(xué)習(xí)和探索,但是,由于時(shí)間、條件有限,經(jīng)驗(yàn)不足等,本文所做的工作還有很多不足,還有很多方面需要進(jìn)一步學(xué)習(xí)和研究。學(xué)習(xí)最終是為了服務(wù)社會(huì),我即將踏入社會(huì),通過(guò)畢業(yè)設(shè)計(jì)的訓(xùn)練,我將會(huì)更加適應(yīng)這個(gè)社會(huì)。成績(jī)已屬于過(guò)去,面對(duì)未來(lái),我充滿信心!相信明天一定會(huì)更好! 參 考 文 獻(xiàn)[1] Thomas :清華大學(xué)出版社,2005[2] ,ObjectOriented Modeling and Design,Printice Hall,1991[3] Patrick Keegan,Ludovi
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1