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

正文內(nèi)容

網(wǎng)絡(luò)五子棋的設(shè)計與實現(xiàn)word格式(編輯修改稿)

2025-01-11 03:23 本頁面
 

【文章內(nèi)容簡介】 決定進行控制,這些應(yīng)用服務(wù)器包括 Borland 企業(yè)服務(wù)器, BEA WebLogic Server , JBoss , IBM WebSphere , Oracle9i 應(yīng)用服務(wù)器, Sybase EAServer 與Sun ONE 應(yīng)用服務(wù)器。這樣,隨著業(yè)務(wù)的發(fā)展,如果需要改變供應(yīng)商, 則您在應(yīng)用開發(fā)技術(shù)上面的投資仍能繼續(xù)發(fā)揮作用,而絲毫不用為其擔心。 另外, JBuilder 以強大的支持與服務(wù)基礎(chǔ)架構(gòu)為依托,這有助于確保您的成功。 成功地利用現(xiàn)有的項目并管理變更 保護您的未來,利用您的過去。 JBuilder 技術(shù)傳承 Borland 幫助企業(yè)發(fā)揮已有 IT 投資更大作用的承諾,用于在企業(yè) Java 應(yīng)用程序的開發(fā)過程中,繼續(xù)利用現(xiàn)有的技術(shù)資源。 JBuilder 技術(shù)對領(lǐng)先的業(yè)界標準與從 UML 到極端編程的全部開發(fā)方法提供廣泛的支持,提供了一個靈活的平臺,可以進行充分的擴展,以便滿足復(fù)雜的 Java 企業(yè)開發(fā)環(huán)境不斷變化的需要。 使用可靠的工具集成,專注于開發(fā) JBuilder 開發(fā)環(huán)境可讓開發(fā)者使用從設(shè)計、開發(fā)、調(diào)試與測試直到分發(fā)與管理的應(yīng)用程序開發(fā)生命周期的全部階段。JBuilder 企業(yè)版包括了 Borland Optimizeit Suite 套件性能工具,用以在全部開發(fā)過程中打造質(zhì)量。與 Borland 的 Java 應(yīng)用生命周期解決方案的其他部件集成在一起,這意味著開發(fā)小組可以專注于生成更好的應(yīng)用程序,而不是想方設(shè)法讓各種工具協(xié)同工作。 JBuilder 進一步提高實時可視性,讓開發(fā)者一眼看清源碼變更 對應(yīng)用的不同層次甚至整個項目的影響。這對于把軟件開發(fā)變革成可管理及成功業(yè)務(wù)流程至為關(guān)鍵。如下圖 圖 27 JBuilder開發(fā)界面 JBuilder 與 Borland Together 建模技術(shù)的結(jié)合,有助于 JBuilder 用戶更好地理解代碼結(jié)構(gòu),管理項目的復(fù)雜程度。 JBuilder 與 Borland StarTeam 自動化配置并變更管理系統(tǒng)一起使用,可以在全部開發(fā)周期中提高對項目的掌握程度。與著名的 Borland JDataStore 數(shù)據(jù)庫與Borland 企業(yè)服務(wù)器進行集成,有助 于您信心十足地進行分發(fā)。 JBuilder 也與其他業(yè)界領(lǐng)先的版本控制系統(tǒng)與分發(fā)平臺集成在一起,提供了平臺的靈活性與選擇的自由。 第三章 程序設(shè)計開發(fā) .界面設(shè)計 給一個游戲,我們首先想到的是游戲的界面,所以一個清晰美觀的界面可以讓別人對我們所設(shè)計出來的游戲產(chǎn)生好感,一開始考慮界面的設(shè)計,界面包括,棋盤,也就是棋子繪制的范圍,然后下棋的時候有一些信息,比如說網(wǎng)絡(luò)對弈時,對方的名字, IP 等要能夠看到的話就該把它顯示出來,所以還要一個顯示這些信息的界面,另外,也是在網(wǎng)絡(luò)游戲時, 要輸入 IP,姓名的信息,還要一個連接服務(wù)器(客戶端端)或者是開啟服務(wù)器(服務(wù)器端)的按鈕。這些控制的組建應(yīng)該放在一起,一開始考慮把他們放在一個面板里面,處理這些信息只要對這一個面板進行操作就可以了,但是如果這樣的話可以想像,當你計算棋子所字范圍的時候還要考慮到消息面板所占的空間,還有那些控制面板的空間,而且放在一起是也不好擺放,他們的背景顏色,等一些屬性都是一樣的,那樣給人的感覺也不大美觀。 放在一起主要原因是對他們超做不方便,對上面每一個組建進行操作都可能影響到其他的內(nèi)容,顯示情況等等。從面向?qū)ο蟮慕嵌?來看,這也不符合,都放在一起,那些東西都在一個類里面,他們還可以劃分成其他的類,而這里用的是JAVA 對該游戲進行開發(fā),所以每一個類都要單一,所以把界面分成三個部分:一個是棋盤類,也是主要的類,一個是消息面板的類,還有一個就是控制面板的類。這樣一來,我們就可以對他們進行單獨的操作了,而且組織他們也比較方便,我們可以根據(jù)自己的風格,自己的喜好來組織他們,把整個界面做的美觀清晰。而且對他們進行操作也不影響其他組件。 把對棋盤界面設(shè)計好了,我們就應(yīng)該考慮棋子了,棋子怎樣畫出來,怎樣才能讓棋子按我們所想的方式來繪制出來呢。我們就想,肯定是每次當點擊鼠標的時候就在點擊鼠標的地方畫一個棋子,所以我們還得定義一個棋子的類來對我們點擊鼠標時把棋子繪制出來。這樣我們就差不多把棋的界面棋子就確定了,而且也確定了幾個我們所需要的類。我們就可以先定義好這些類了。界面設(shè)計出來之后我們就會想,有了界面,我們怎樣控制棋子在棋盤上進行下棋呢。尤其是單機游戲時,怎樣讓你在棋盤上下棋之后就讓計算機自己下棋呢,如果能下棋,又怎樣讓計算機計算出在什么位置 下呢??這樣的話就是算法設(shè)計了 有了以上的準備就可以把棋盤繪制出來了,然后就是下棋了,如果是單機游戲,每次在適當位置點擊鼠標的時候就在所點擊的位置上畫出你這個角色的顏色,在繪制出你下棋位置的棋之后你所希望看到的是計算機下棋了,也就是說在你下完棋之后就是計算機自動的下了,計算機要自己選擇一個合適的位置來下棋,也就是說每次自己下完棋之后就要有一個控制變量來控制自能不能下棋,如自己下了棋而計算機還沒下棋的話那就得讓自己不能下棋就是說點擊鼠標沒用(當然這種情況是不可能的,因為計算機計算的速度很快,所以一般人下完棋 后計算機就馬上繪制出了所須下的棋子,只是為了說明在網(wǎng)絡(luò)對弈時候該這樣控制)。人可以隨意的下子,可是計算機就要計算在那個位置下子了。這里由計算機下子的算法來確定,對弈的話就不象單機游戲一樣,要計算機來判斷人下子之后計算機下那一個地方了,對弈只要在雙方下子的時候判斷贏棋情況,當然還要同步的控制兩個人下棋的順序,這樣的話就要用到線程了,各自都繼承或?qū)崿F(xiàn)線程類或接口,以便各自能隨時單獨控制接發(fā)消息。 服務(wù)器端和客戶端之間的流程是這樣的,首先在服務(wù)器斷開啟自定義的端口來監(jiān)聽客戶端的請求,若有請求則建立連接,否則處于等 待狀態(tài),建立連接通信后,服務(wù)器端和客戶端都創(chuàng)建獨立的線程來處理信息的發(fā)送接收方法,信息包括:玩家的姓名,下的棋子的顏色,位置等。信息發(fā)送和接收依靠網(wǎng)絡(luò)流來傳遞。 在網(wǎng)絡(luò)對戰(zhàn)的設(shè)計上,游戲系統(tǒng)由服務(wù)器端和客戶端構(gòu)成,形成點對點模式的連接和通信,在服務(wù)器端建立主機,輸入己方的名字,在客戶端連接的狀態(tài)下可以互通信息,顯示服務(wù)器的狀態(tài),即服務(wù)器和客戶端的連接情況,在客戶端需要輸入服務(wù)器端主機的 IP、端口、姓名、在連接狀態(tài)下可以與服務(wù)器通信,還可以顯示當前狀態(tài)。 .算法設(shè)計 這里算法的設(shè)計主要是講 單機的算法,包括確定計算機下棋的位置和判斷贏棋的情況 先考慮一下整個棋盤上五子連的情況,也就是說在整個棋盤上有多少種情況能構(gòu)成五子連,這里定義的是一個 15*15 的棋盤,如下圖 圖 31 棋盤上五子連情況 有四種方式的五子連,橫的、豎的、右斜、左斜,橫的情況有 15*11 種,豎的有15*11 種,右斜有 11*11 種,左斜有 11*11 種,總共是 572種,并且對每中情況按順序進行標號,如點( 1)可以屬于第 1 種,第 165 種(從第 0 種開始),第331 種,點( 2) 可以屬于地 1 種,第 2 種,第 157 種,第 332 種。定義兩個三維數(shù)組 caseBlack[15][15][572], caseWhite[15][15][572]分別用來存放白棋和黑棋各個點的情況,前面兩維存放的是某個點的坐標,第三維放的是他們所屬于的情況,并把這個數(shù)組定義成 boolean 類型的。也就是說如果這個點是這種情況的話就為 true 況的就為 false。定義一個二維數(shù)組 colorFive[2][572],這個數(shù)組存放的是白子和黑子在每種情況是棋子的個數(shù),如 colorFive[0][2]=3,就代表黑棋在第二種 五子連情況的個數(shù)是 3,這個數(shù)組就紀錄了黑棋和白棋每種五子連情況上的個數(shù),可以用這個數(shù)組來確定有沒有贏棋的情況。在每下一個棋子的時候,先遍歷這個點屬于那些情況,再在每種情況上的 colorFive 對應(yīng)的位置加上 1,定義一個數(shù)組 haveChess[15][15],來存放每一個點上是否有棋,這個數(shù)組可以用來在你下棋的時候來判斷你所下的點的位置是否有棋,如果有你就不能在你所點擊的位置下棋。如果這個數(shù)組的某個點的值等于 2則表示在這個點上沒有棋,如果等于 0 表示這個點上有黑棋,等于 1 則表示該位置上有白棋,如haveChess[10][2]=1,則表示在( 10, 2)這個位置上有白棋,如果你點擊這里的話就不能在這個位置下棋,要選擇其他位置。這樣的話就可以來判斷計算機能不能下棋了,也能判斷出贏棋的情況,那么計算機又應(yīng)該在那個地方下棋最合適呢? 在這里,定義兩個二維數(shù)組, scoreBlack[15][15] , scoreWhite[15][15]分別用來存放白棋和黑棋各個未下棋點的分數(shù),以判斷計算機在那個點下棋最合適。如下圖所示 圖 32 每個點下子后所屬的情況 該數(shù)組在點( 1) 位置時,黑子的情況 2(圖上)有一個黑子,所以在該點上加 4 分,既 scoreBlack[4][4]+=4,同樣白棋在情況三上有一個白棋所以scoreWhite[4][4]+=4 ,而點( 1)又在情況 4 上有一個白棋,所以scoreWhite[4][4]+=4,即這個點上又加上了 4,而點( 2)應(yīng)為有棋,所以不做判斷,在點( 3)這個位置時,因為沒有任何棋子,對游戲者來說也就是說不適合攻擊也不適合防守,所以也不做判斷,而點( 4)位置,對黑棋來看,情況 5是兩個子,加上 21 分,在情況 6 上面又有一個子,所以又加 4,在情況 9 上面有 一 個 子 所 以 再 4 , 在 情 況 10 上 面 有 一 個 子 , 再 加 4 所以scoreBlack[6][9]=21+4+4+4=33,對所有的未下棋的點的分數(shù)都做一個計算,把白棋和黑棋的在各個點的分數(shù)都計算出來,再比較白棋和黑棋他們之中最大的,也就是下棋的最佳位置了。 判斷贏棋情況就每次下子之前就在數(shù)組 colorFive里面找是否有棋子數(shù)等與5的,如果有就有贏棋的情況了,因為在下棋之前也就是說在把這個棋子畫到棋盤上之前,它實際已經(jīng)下棋了,也就是說這個點的各個數(shù)據(jù)已經(jīng)改變了,所以就可以判斷。 用例圖和類圖 用例圖( use case diagram) 用例圖就是由主角、用例以及它們之間的關(guān)系構(gòu)成的圖。該圖說明了用例模型中的關(guān)系。 可以將用例圖組織到用例包中,并歸用例包所有,讓特定包中僅顯示互為關(guān)聯(lián)關(guān)系的內(nèi)容。用例圖由參與者( Actor)、用例( Use Case)、系統(tǒng)邊界、箭頭組成,用畫圖的方法來完成。 參與者不是特指人,是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時間或其他系統(tǒng)等等。還有一點要注意的是,參與者不是指人或事物本身,而是表示人或事物當時所扮演的角色。比 如小明是圖書館的管理員,他參與圖書館管理系統(tǒng)的交互,這時他既可以作為管理員這個角色參與管理,也可以作為借書者向圖書館借書,在這里小明扮演了兩個角色,是兩個不同的參與者。參與者在畫圖中用簡筆人物畫來表示,人物下面附上參與者的名稱。 圖 33 角色 用例是對包括變量在內(nèi)的一組動作序列的描述,系統(tǒng)執(zhí)行這些動作,并產(chǎn)生傳遞特定參與者的價值的可觀察結(jié)果。這是 UML 對用例的正式定義,對我們初學者可能有點難懂。我們可以這樣去理解,用例是參與者想要系統(tǒng)做的事 情。對于對用例的命名,我們可以給用例取一個簡單、描述性的名稱,一般為帶有動作性的詞。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。 圖 34 用例 系統(tǒng)邊界是用來表示正在建模系統(tǒng)的邊界。邊界內(nèi)表示系統(tǒng)的組成部分,邊界外表示系統(tǒng)外部。系統(tǒng)邊界在畫圖中方框來表示,同時附上系統(tǒng)的名稱,參與者畫在邊界的外面,用例畫在邊界里面。因為系統(tǒng)邊界的作用有時候不是很明顯,所以我個人理解,在畫圖時可省略。 箭頭用來表示參與 者和系統(tǒng)通過相互發(fā)送信號或消息進行交互的關(guān)聯(lián)關(guān)系。箭頭尾部用來表示啟動交互的一方,箭頭頭部用來表示被啟動的一方,其中用例總是要由參與者來啟動。 用例圖主要的作用有三個:( 1)獲取需求;( 2)指導(dǎo)測試;( 3)還可在整個過程中的其它工作流起到指導(dǎo)作用。 對問題做出了分析之后,就可以根據(jù)分析的結(jié)果畫出用例圖了,因為下棋的角色是人,所以角色就是
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1