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

正文內(nèi)容

網(wǎng)絡(luò)五子棋的設(shè)計與實現(xiàn)word格式(參考版)

2024-12-10 03:23本頁面
  

【正文】 謝謝他們! 還要感謝我宿舍的同學(xué)們,他們在生活上的無私幫助,讓我能全身心地投入到課題的研究中。他那嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度深深的影響了我,在此表示最真摯的感謝!感謝他對我我的耐心知道,本課題從選題到制作完成,都離不開他的大力支持。 ( 2) 做好版本控制和備份,一旦出現(xiàn)故障,能盡快恢復(fù)到最近最新的版本 中,再在此基礎(chǔ)上修改。 網(wǎng)絡(luò)游戲正在訊速發(fā)展,作為其中一種簡單休閑的游戲也在不斷地前進。算法是在每個項目 中都會出現(xiàn)的都需要去設(shè)計的,故一個好的算法設(shè)計是必不可少的。本論文研究主要完成了如下工作: 回顧了 Java 的發(fā)展歷程及一些基本概念; ( 1) 對“五子棋游戲”進行了分析設(shè)計。以便更順利的完成我們的項目。象在該游戲的設(shè)計時就大量用到該方法,下面 是某一部分 圖 335 測試方法 當(dāng)然具體問題具體分析,還有很多解決問題的方法。所以就不能同步的進行 游戲。 剛剛測試網(wǎng)絡(luò)對弈時,服務(wù)器和客戶端能連接上,不過不能順利的接受和發(fā)送消息,應(yīng)該說能發(fā)送消息,可是接受不到消息,當(dāng)在服務(wù)器或是客戶端下棋時,在對方那里不能下,該問題的出處也不難,應(yīng)該是接受消息的方法出了問題,如 下代碼。再對該屬性在重玩游戲里面初始化一下就 OK 了。出現(xiàn)這種現(xiàn)象可能是單純的棋盤界面設(shè)置過大了,可是棋盤截面是繼承 Panel 類的,并為設(shè)置它的大小,所以可能性不大,或者說是消息面板太小了,跟棋盤面板類似,也不是該原因,那最后就可能 是整個窗口設(shè)計太大了,調(diào)整一下窗口設(shè)置的大小,把寬度設(shè)置小一點問題就解決了。和碰到問題之后解決的方法。 該游戲在做的過程中,和結(jié)束的時候都出現(xiàn)過各種各樣的問題。因此需求分析、概要設(shè)計、詳細(xì)設(shè)計以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè)計規(guī)格說明以及源程序,都應(yīng)該是軟件測試(評審)的對象。 軟件測試的對象: 軟件測試并不單純等同于程序測試。 應(yīng)當(dāng)對每一個測試結(jié)果做全面的檢查。 嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。經(jīng)驗表明,測試后程序殘存的錯誤數(shù)目與該程序中已發(fā)現(xiàn)的錯誤數(shù)目或檢錯率成正比。不合理的輸入條件是指異常的,臨界的,可能引起問題的輸入條件。(指后期系統(tǒng)測試階段,不包括單元測試) 測試用例的設(shè)計要確保能覆蓋所有可能路徑。 測試用例應(yīng)由測試輸入數(shù)據(jù)、測試執(zhí)行步驟和與之對應(yīng)的預(yù)期輸出結(jié)果三部分組成。 軟件測試的目的: 測試的最終目的是為了避免錯誤的發(fā)生,確保應(yīng)用程序能夠正常高效的運行; 好的測試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤; 成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測 試; 好的測試工程師應(yīng)該做到不僅發(fā)現(xiàn)問題,還能夠幫助開發(fā)人員分析問題; 軟件測試的原則: 應(yīng)把“盡早和不斷地進行軟件測試”作為軟件開發(fā)者的座右銘,實踐證明單元測試能夠盡早發(fā)現(xiàn)問題,減少后期測試的錯誤量。編碼和單元測試屬于軟件生命周期中的同一個階段。軟件測試是 為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。 網(wǎng)絡(luò)游戲的運行 網(wǎng)絡(luò)游戲,就是對弈的時候 的界面情況了,當(dāng)點擊網(wǎng)絡(luò)的時候,單機菜單為不可選,和單機的類似,空子面板的選項就都變問可選了,可以輸入名字和 IP了,也可以開啟服務(wù)或者是連接服務(wù)了。當(dāng)點擊“切換背景”的菜單項時,顏色就變成另外一種顏色了,如下圖,再點擊時就還原成黃色了。 程序的運行 單機游戲的運行 設(shè)計完程序之后,就可以運行了,運行的時候界面前面已經(jīng)看過,然后就可以進行游戲了,首先看一下單機游戲。 ChessClient 類的設(shè)計 該類的設(shè)計和客戶端的設(shè)計類似,單機的功能都大同小異,只是增加了一個ServerSocket 來開啟對網(wǎng)絡(luò)服務(wù)的堅挺,接受 Socket,有了該類就可以進行網(wǎng)絡(luò)對弈了,進行網(wǎng)絡(luò)對弈的時候首先客戶端和服務(wù)器端都應(yīng)該開啟網(wǎng)絡(luò)的游戲,使單機的菜單為不可選的狀態(tài),在服務(wù)器端輸入自己的姓名,并開啟網(wǎng)絡(luò)服務(wù),等待客戶端的連接,在客戶端,輸入自己的姓名和服務(wù)器的 IP,然后連接服務(wù)器,當(dāng)連接 上了的時候服務(wù)器和客戶端的消息面板上面都能顯示對方的一些基本信息。 圖 317 五子棋下棋窗口 當(dāng)有贏棋時候彈出贏棋對話框,提 示有贏棋的消息。 圖 316 五子棋完整窗口 當(dāng)點擊單機游戲,并開始玩時。所以該類要定義一些跟按鈕有關(guān)的屬性,如 MenuBar b, mGame,mItem,mHelp,mIcolor 等,這個比本身是一個窗口類,繼承了 Frame 類,該類把那些面板放在窗口里面,使他們顯示出來, 除了這些屬性外還有一些方法,如 setup 用來組織這些組件,還有一個againGame 方法用來重玩,還有一個用來初始化對話框的,也就是當(dāng)有贏棋的時候彈出來的一個對話框,應(yīng)該對該對話框的一些信息,內(nèi)容格式等進行設(shè)置。 圖 314 游戲菜單 在選項里面有“游戲規(guī)則”,“切換背景”,“音樂”,當(dāng)點擊切換背景時,顏色就換了,點擊音樂時,就能播放音樂。 點擊退出時,游戲就退出了。 圖 313 菜單欄 該圖上面為整個菜單條,下面為菜單欄的子項,菜單,有游戲菜單,選項,幫助,游戲菜單里又有單機,網(wǎng)絡(luò),退出,選項里有游戲規(guī)則,切換背景,音樂。 圖 311 消息面板 所以該類的主要屬 性定義成 pHisMessage pPublicMessage pMyMessage lHisMessageIp lHisMessageIp lHisMessageName lHisMessageNameC lHisMessageColor lPublic lPublic lMyMessageIp 等,還有一個 setup 方法,來組織他們,然后就是構(gòu)造方法對他們進行初始化了。 MessagePad 類的設(shè)計 該類也是在網(wǎng)絡(luò)對弈時用來顯示對方和自己的一些信息,像對方的 IP,姓名,棋子顏色,自己的 IP,姓名,等信息,也別交簡單,像 ControlPad 類類似,主要是一些 Label 組件,然后就是對它們進行組織。 基本定義好屬性之后就來 確定方法了,首先需要構(gòu)造方法來對初始化一些屬性和方法,因為要連接服務(wù)器和所以要有一個連接服務(wù)器的方法 connectionServer如果是服務(wù)器,還要開啟服務(wù)器就需要方法來開啟 setServerConnection,以為JAVA 是面向?qū)ο蟮?,所以對之前定義的那些數(shù)組初始化應(yīng)該放在一個方法里面initThem(),棋盤畫出來了,要初始化每個位置,也就是說鼠標(biāo)在每個點上點擊時應(yīng)該在那個具體的位置,也就是時一個區(qū)域的位置定位到一個點上,定義一個putPosition 方法,下棋的時候應(yīng)該在該子所屬的情況上面加 1,所以要有一個 putFiveCase 的方法來確定它,計算黑白棋每個沒下棋點上的分?jǐn)?shù),來確定黑白棋下棋的最佳位置分別用方法 putBlack 和 putWhite,確定計算機下棋的位置也得用一個方法 putPressWhere,一個下子后判斷有沒有贏棋的方法 ifWin,判斷點擊處有沒有棋子的方法,雖然方法簡單,單作為面向?qū)ο笳Z言,行為一般都放在方法里面,一個改變棋盤顏色的方法,然后就是繪制棋盤的方法了。 圖 38 五子棋類圖 程序的設(shè)計 分析了設(shè)計思想,有了算法,并且畫出了用例圖,類圖,之后就可以開始設(shè)計程序了,對程序的設(shè)計也可以理解為對類的設(shè)計,所以這里把程序的設(shè)計分為ChessPad 類的設(shè)計, ChessPadThread 類的設(shè)計, ControlPad 類的設(shè)計, MessagePad類的設(shè)計, Paint 類的設(shè)計, ChessClient 類和 ChessServer 類的設(shè)計 ChessPad 類的設(shè)計 ChessPad 類也是主要的類,該類的主要作用是繪制棋盤,包括棋盤方格和邊框,并組織五子棋窗口的下棋面板, 用布局管理,器來組織控制面板,棋盤面板,消息面板。對于類,開始于獲得一個責(zé)任(類的職責(zé)),然后,將它轉(zhuǎn)化為具體的屬性和方法。 用場景來預(yù)排這些事物,沿著這條路你將發(fā)現(xiàn)模型中忽略的部分和定義錯誤的部分。 對于每個機制,確定類、接口和其他的參與這個協(xié)作的協(xié)作。 確定你建模的機制。因此,除了捕獲系統(tǒng)的詞匯以外,還要將注意力集中到這些類是如何在一起工作的。例如如果 A 依賴于 B,則 B 體現(xiàn)為局部變量,方法的參數(shù)、或靜態(tài)方法的調(diào)用。它要求普通的聚合關(guān)系中代表整體的對象負(fù)(責(zé)代表部分的對象的生命周期,合成關(guān)系不能共享。 表示方法:空心菱形+實線+箭頭,箭頭指向部分。聚合關(guān)系是整體和個體的關(guān)系。 表示方法:用 實線+箭頭, 箭頭指向被使用的類?;蚩招募^+虛線,如果父類是接口。 一般化關(guān)系:表示為類與類之間的繼承關(guān)系,接口與接口之間的繼承,類對接口的實現(xiàn)關(guān)系。 其中,聚合關(guān)系( Aggregation),合成關(guān)系( Composition)屬于關(guān)聯(lián)關(guān)系( Association)。接口的表示有大概兩種方式。 3. 接口( Interface) 接口是一系列操作的集合,它指定了一個類所提供的服務(wù)。進行建模時,通常使用邏輯性的包,用于對模型進行組織;使用物理性的包,用于轉(zhuǎn)換成系統(tǒng)中的 Java 包。 UML 中的一個包直接對應(yīng)于 Java 中的一個包。書寫方式和方法類似。 描述信息使用 開頭和使用 結(jié)尾。 屬性和方法書寫規(guī)范:修飾符 [描述信息 ] 屬性、方法名稱 [參數(shù) ] [:返回類型 |類型 ],類圖的畫法如下 圖 36 類的畫法 屬性和方法之前可附加的可 見性修飾符: 加號( +)表示 public;減號( )表示 private; 號表示 protected;省略這些修飾符表示具有 package 包)級別的可見性。類名部分是不能省略的,其他組成部分可以省略。 1. 類( Class) 一般包含 3 個組成部分。在很多領(lǐng)域,你將想保存持久性數(shù)據(jù)到關(guān)系數(shù)據(jù)庫活面向?qū)ο蟮臄?shù)據(jù)庫。使用類圖來可視化這些類和他們的關(guān)系。 2,模型化簡單的協(xié)作 協(xié)作是指一些類、接口和其他的元素一起工作提供一些合作的行為,這些行為不是簡單地將元素加能得到的。 注:組件圖和分布圖和類圖類似,雖然他們不包含類而是分別包含組件和節(jié)點。 類圖通常包含如下的內(nèi)容 類 接口 協(xié)作 關(guān)系 同其他的圖一樣,類圖也可以包含注解和限制,類圖中也可以包含包和子系統(tǒng),這兩者用來將元素分組。類圖 (Class diagram)是最常用的 UML 圖,顯示出類、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系;它用于描述系統(tǒng)的結(jié)構(gòu)化設(shè)計。 類圖 (Class diagram)由許多(靜態(tài))說明性的模型元素(例如類、包和它們之間的關(guān)系,這些元素和它們的內(nèi)容互相連接)組成。 圖 35 五子棋用例圖 類圖 (Class diagram) 類圖是顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。繪制棋盤界面和點擊鼠標(biāo)下棋,點擊鼠標(biāo)下棋包含了繪制棋子的動作,繪制棋子界 面包括繪制控制界面,繪制消息界面,和他直接的棋盤界面。 用例圖主要的作用有三個:( 1)獲取需求;( 2)指導(dǎo)測試;( 3)還可在整個過程中的其它工作流起到指導(dǎo)作用。 箭頭用來表示參與 者和系統(tǒng)通過相互發(fā)送信號或消息進行交互的關(guān)聯(lián)關(guān)系。系統(tǒng)邊界在畫圖中方框來表示,同時附上系統(tǒng)的名稱,參與者畫在邊界的外面,用例畫在邊界里面。 圖 34 用例 系統(tǒng)邊界是用來表示正在建模系統(tǒng)的邊界。對于對用例的命名,我們可以給用例取一個簡單、描述性的名稱,一般為帶有動作性的詞。這是 UML 對用例的正式定義,對我們初學(xué)者可能有點難懂。參與者在畫圖中用簡筆人物畫來表示,人物下面附上參與者的名稱。還有一點要注意的是,參與者不是指人或事物本身,而是表示人或事物當(dāng)時
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1