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

正文內(nèi)容

網(wǎng)絡五子棋的設計與實現(xiàn)word格式-文庫吧資料

2024-12-14 03:23本頁面
  

【正文】 所扮演的角色。 參與者不是特指人,是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。 可以將用例圖組織到用例包中,并歸用例包所有,讓特定包中僅顯示互為關聯(lián)關系的內(nèi)容。 用例圖和類圖 用例圖( use case diagram) 用例圖就是由主角、用例以及它們之間的關系構(gòu)成的圖。如下圖所示 圖 32 每個點下子后所屬的情況 該數(shù)組在點( 1) 位置時,黑子的情況 2(圖上)有一個黑子,所以在該點上加 4 分,既 scoreBlack[4][4]+=4,同樣白棋在情況三上有一個白棋所以scoreWhite[4][4]+=4 ,而點( 1)又在情況 4 上有一個白棋,所以scoreWhite[4][4]+=4,即這個點上又加上了 4,而點( 2)應為有棋,所以不做判斷,在點( 3)這個位置時,因為沒有任何棋子,對游戲者來說也就是說不適合攻擊也不適合防守,所以也不做判斷,而點( 4)位置,對黑棋來看,情況 5是兩個子,加上 21 分,在情況 6 上面又有一個子,所以又加 4,在情況 9 上面有 一 個 子 所 以 再 4 , 在 情 況 10 上 面 有 一 個 子 , 再 加 4 所以scoreBlack[6][9]=21+4+4+4=33,對所有的未下棋的點的分數(shù)都做一個計算,把白棋和黑棋的在各個點的分數(shù)都計算出來,再比較白棋和黑棋他們之中最大的,也就是下棋的最佳位置了。如果這個數(shù)組的某個點的值等于 2則表示在這個點上沒有棋,如果等于 0 表示這個點上有黑棋,等于 1 則表示該位置上有白棋,如haveChess[10][2]=1,則表示在( 10, 2)這個位置上有白棋,如果你點擊這里的話就不能在這個位置下棋,要選擇其他位置。定義一個二維數(shù)組 colorFive[2][572],這個數(shù)組存放的是白子和黑子在每種情況是棋子的個數(shù),如 colorFive[0][2]=3,就代表黑棋在第二種 五子連情況的個數(shù)是 3,這個數(shù)組就紀錄了黑棋和白棋每種五子連情況上的個數(shù),可以用這個數(shù)組來確定有沒有贏棋的情況。定義兩個三維數(shù)組 caseBlack[15][15][572], caseWhite[15][15][572]分別用來存放白棋和黑棋各個點的情況,前面兩維存放的是某個點的坐標,第三維放的是他們所屬于的情況,并把這個數(shù)組定義成 boolean 類型的。 在網(wǎng)絡對戰(zhàn)的設計上,游戲系統(tǒng)由服務器端和客戶端構(gòu)成,形成點對點模式的連接和通信,在服務器端建立主機,輸入己方的名字,在客戶端連接的狀態(tài)下可以互通信息,顯示服務器的狀態(tài),即服務器和客戶端的連接情況,在客戶端需要輸入服務器端主機的 IP、端口、姓名、在連接狀態(tài)下可以與服務器通信,還可以顯示當前狀態(tài)。 服務器端和客戶端之間的流程是這樣的,首先在服務器斷開啟自定義的端口來監(jiān)聽客戶端的請求,若有請求則建立連接,否則處于等 待狀態(tài),建立連接通信后,服務器端和客戶端都創(chuàng)建獨立的線程來處理信息的發(fā)送接收方法,信息包括:玩家的姓名,下的棋子的顏色,位置等。人可以隨意的下子,可是計算機就要計算在那個位置下子了。界面設計出來之后我們就會想,有了界面,我們怎樣控制棋子在棋盤上進行下棋呢。這樣我們就差不多把棋的界面棋子就確定了,而且也確定了幾個我們所需要的類。 把對棋盤界面設計好了,我們就應該考慮棋子了,棋子怎樣畫出來,怎樣才能讓棋子按我們所想的方式來繪制出來呢。這樣一來,我們就可以對他們進行單獨的操作了,而且組織他們也比較方便,我們可以根據(jù)自己的風格,自己的喜好來組織他們,把整個界面做的美觀清晰。 放在一起主要原因是對他們超做不方便,對上面每一個組建進行操作都可能影響到其他的內(nèi)容,顯示情況等等。 第三章 程序設計開發(fā) .界面設計 給一個游戲,我們首先想到的是游戲的界面,所以一個清晰美觀的界面可以讓別人對我們所設計出來的游戲產(chǎn)生好感,一開始考慮界面的設計,界面包括,棋盤,也就是棋子繪制的范圍,然后下棋的時候有一些信息,比如說網(wǎng)絡對弈時,對方的名字, IP 等要能夠看到的話就該把它顯示出來,所以還要一個顯示這些信息的界面,另外,也是在網(wǎng)絡游戲時, 要輸入 IP,姓名的信息,還要一個連接服務器(客戶端端)或者是開啟服務器(服務器端)的按鈕。與著名的 Borland JDataStore 數(shù)據(jù)庫與Borland 企業(yè)服務器進行集成,有助 于您信心十足地進行分發(fā)。如下圖 圖 27 JBuilder開發(fā)界面 JBuilder 與 Borland Together 建模技術的結(jié)合,有助于 JBuilder 用戶更好地理解代碼結(jié)構(gòu),管理項目的復雜程度。 JBuilder 進一步提高實時可視性,讓開發(fā)者一眼看清源碼變更 對應用的不同層次甚至整個項目的影響。JBuilder 企業(yè)版包括了 Borland Optimizeit Suite 套件性能工具,用以在全部開發(fā)過程中打造質(zhì)量。 JBuilder 技術對領先的業(yè)界標準與從 UML 到極端編程的全部開發(fā)方法提供廣泛的支持,提供了一個靈活的平臺,可以進行充分的擴展,以便滿足復雜的 Java 企業(yè)開發(fā)環(huán)境不斷變化的需要。 成功地利用現(xiàn)有的項目并管理變更 保護您的未來,利用您的過去。這樣,隨著業(yè)務的發(fā)展,如果需要改變供應商, 則您在應用開發(fā)技術上面的投資仍能繼續(xù)發(fā)揮作用,而絲毫不用為其擔心。 減少開發(fā)的風險與成本 —— 一直到分發(fā) JBuilder 是一個靈活的、 開放式解決方案,用來開發(fā)并分發(fā) Java 應用程序,賦予您選擇所偏愛開發(fā)平臺及版本控制系統(tǒng)的自由,您的業(yè)務不再遭受與供應商鎖定相關的、不斷升級的費用的困擾。 有了 JBuilder,開發(fā)者就可以在集成的、可升級的、可擴展的小組環(huán)境中進行工作,從而簡化源代碼的并行管理,對于提高效率來說好處十分明顯。在世界數(shù)千個軟件實施項目中, JBuilder 為首選軟件,用來加速 Enterprise JavaBeans (EJB )、 Web、 XML、 Web 業(yè)務、移動與數(shù)據(jù)庫應用程序的開發(fā),支持面向領先的 J2EE 平臺應用服務器的快速分發(fā)。無論對于初出茅廬的 新手還是經(jīng)驗豐富的開發(fā)者來說,Jbuilder 都能為他們提供創(chuàng)新性工具,能夠顯著提高開發(fā)小組的生產(chǎn)力。 事實上,在享有盛名的 JBuilder IDE 之內(nèi),開發(fā)者能夠在從設計到分發(fā)的全部應用程序開發(fā)生命周期中成為主要角色。 Java 開發(fā)工具 開發(fā)工具 JBuilder 簡介 中文名稱 : JBuilder 2021 企業(yè)完整版 英文名稱 : Borland JBuilder Enterprise 2021 版本 : 2021 發(fā)行時間 : 2021 年 09 月 地區(qū) :美國 語言 :英語 簡介 : 圖 26 JBuilder 啟動界面 Borland JBuilder開發(fā)環(huán)境是 Borland 用于 Java 平臺的應用 程序生命周期管理技術套件的關鍵部分。一個 Socket 包括兩個流,分別為一個輸入流和一個輸出流,一個進程如果要通過網(wǎng)絡向另一個進程發(fā)送數(shù)據(jù),只需簡單地寫入與 Socket 相關聯(lián)的輸出流,同樣,一個進程通過從與 Socket相關聯(lián)的輸入流來讀取另一個進程所寫的數(shù)據(jù)。 從 開始, java 提供了關于 ServerSocket 的 ServerSocketChannel, jdk建議用管道來實現(xiàn)客戶端連接的監(jiān)聽以及關閉服務器套接字會更安全,因此,現(xiàn)在我們應該通過 ServerSocket 來得 到其套接字管道,通過管道來實現(xiàn)服務監(jiān)聽以 及 關閉 ,可 以 通過 ServerSocket 的 getChannel()方 法 來得 到當 前ServerSocket 的相關管道。 public void bind(SocketAddress endpoint) throws IOException 綁定該 ServerSocket 到指定的 endpoint 地址 (IP 地址和端口 ) public void close() throws IOException 關閉當前 ServerSocket。 ServerSocket 還定義了以下一些常用的方法: public Socket accept() throws IOException 該方法用于告訴服務器不停地等待,直到有客戶端連接到該 ServerSocket指定的端口,一旦有客戶端通過網(wǎng)絡向該端口發(fā)送正確的連接請求,該方法就會返回一個表示服務器與客戶端連接已建立的 Socket 對象,接下來我們就可以通過這個返回的 Socket 對象實現(xiàn)服務器與指定客戶端的通信。 public ServerSocekt(int port, int maxQueue) throws IOException 在指定端口創(chuàng)建指定隊列長度的服務器套接字 public ServerSocket(int port, int maxQueue, IAddress bindAddr ) throws IOException 在多地址主機上,我們除了可以指定端口之外,還可以通過 IAddress 類來指定該套接字約束的 IP地址。 ServerSocket 其中, ServerSocket 被設計成在等待客戶建立連接之前不做任何事情的監(jiān)聽器,構(gòu)造方法的版本如下: public ServerSocekt(int port) throws IOException 在服務器指定端口 port 創(chuàng)建隊列長度為 50 的服務器套接字,當 port 為 0則代表創(chuàng)建一個基于任意可用端口的服務器套接字。該技術由引入的端口處理,該端口既是一個特定機器上的一個被編號的套接字 通信端口 .TCP/IP 套接字用于在主機和 Inter 之間建立的可靠、雙向、點對點、持續(xù)的流式連接。這可以通過在各種時間間隔中發(fā)出 sleep()調(diào)用來做到。(下節(jié)將描述:如果有一個以上可運行線程時,系統(tǒng)如何分配 CPU。 下圖形象地說明了這點: 圖 25 線程的生命周期 線程進入 可運行 狀態(tài),并不意味著它立即開始運行。優(yōu)先級最高的非空池中的線程會得到處理機時間 (被運行 )。 所有可運行線程根據(jù)優(yōu)先級保存在池中。 線程的代碼可能執(zhí)行了一 個 ()調(diào)用,要求這個線程暫停一段固定的時間。這個線程會一直運行,直至它不再是可運行的 (運行時間到,時間片原則,或者,另一個具有更高優(yōu)先級的線程搶占,優(yōu)先級優(yōu)先原則 )。 線程狀態(tài)和調(diào)度 在 Java 中,線程的調(diào)度是基于時間片基礎上的優(yōu)先級優(yōu)先原則 。構(gòu)造線程時,定義其上下文的代碼和數(shù)據(jù)是由傳遞給它的構(gòu)造函數(shù)的對象指定的。如果兩個線程共享對一個公共對象的訪問,則它們可以共享相同的數(shù)據(jù)。如果兩個線程執(zhí)行同一個類的實例的代碼時,則它們可以共享相同的代碼。一個或更多的線程構(gòu)成了一個進程(操作系 統(tǒng)是以進程為單位的,而進程是以線程為單位的,進程中必須有一個主線程)。在單 CPU 的情況下,一個時刻只能運行一個進程,那么進程在運行時,也只能運行一個線程來代表該進程的執(zhí)行。在這個模型中,線程(或執(zhí)行上下文),被認為是帶有自己的程序代碼和數(shù)據(jù)的虛擬處理機的封裝。 你不需關心這一點是如何實現(xiàn)的,只需從編程的角度考慮就可以了。在這個簡化視圖中,只能執(zhí)行 一個作業(yè)。 假設 J2DK 安裝在“ C:\”,環(huán)境變量可設置為: JAVA_HOME=C:\ CLASSPATH=. PATH=%JAVA_HOME%\BIN。 nclude: Java 提供用于 c/c++調(diào)用的 .h文件; jre: 對應版本的 java 運行環(huán)境文件 sample: java 案例。 圖 22 JDK 安裝目錄示例 bin: java 常用開發(fā)工具目錄,例如 javac, java, jar 等工具。 JRE: 是 Java運行環(huán)境 (Java Runtime Enviroment) 的縮寫。 Java 安裝配置: 各平臺安裝程序可以到 SUN 的網(wǎng)站上下載, 在安裝完成后應該進行配置,通常集成開發(fā)環(huán)境( IDE)自帶 JDK 或進行了自動配置,如果我們通過控制臺編譯或運行 Java 程序則必須手動配置。 動態(tài)性: Java 允許下載代碼模塊,因此,當程序運行時也能動態(tài)升級。
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1