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

正文內(nèi)容

五子棋設(shè)計(jì)報(bào)告-閱讀頁

2024-08-22 09:28本頁面
  

【正文】 輸出設(shè)備并在屏幕上畫出棋盤,加載音樂及顯示詩詞功能。? 玩家落子模塊:即用戶在指定落子區(qū)域單擊后,程序會計(jì)算該子的坐標(biāo),并且將棋盤數(shù)組中坐標(biāo)處記錄棋子的顏色,1 代表黑色,2 代表白色,以表明是服務(wù)方下的棋子還是客戶方下的棋子。? 電腦落子模塊:根據(jù)填寫的棋盤表,選擇最優(yōu)落子位置。? 網(wǎng)絡(luò)模塊:在人機(jī)對弈的基礎(chǔ)上,添加網(wǎng)絡(luò)功能的實(shí)現(xiàn),使兩臺不同計(jì)算機(jī)的用戶通過網(wǎng)絡(luò)連接,實(shí)現(xiàn)網(wǎng)絡(luò)對弈的功能 [9]。接收客戶端的信息,接收信息后按照此客戶端的要求將信息發(fā)送到相應(yīng)的客戶端,服務(wù)器端起到了中轉(zhuǎn)的作用 [10]。玩家在邀請其他玩家加入自己建立好的游戲或者要加入其他玩家建立的游戲,需要9玩家選在用戶列表界面選擇要操作的玩家,再發(fā)起邀請或者加入。游戲各模塊功能如下:各模塊實(shí)現(xiàn)功能chessPad 用于繪制棋盤及棋子,以及當(dāng)前的提示信息,另外人機(jī)對戰(zhàn)的主要功能也在此模塊實(shí)現(xiàn)。4. 概要設(shè)計(jì)NetClient 類:主要用于實(shí)現(xiàn)網(wǎng)絡(luò)用戶的連接,玩家通過此類發(fā)送本方的游戲狀態(tài)以及接收從服務(wù)器傳遞過來的信息進(jìn)行處理。另外電腦落子的算法也全部在此類中實(shí)現(xiàn)。如客戶端發(fā)送過的連接信息、客戶端發(fā)送過來的改名信息、客戶端發(fā)送過的斷開連接信息等。如客戶端給游戲另一方發(fā)送的棋盤狀態(tài)數(shù)據(jù)、倒計(jì)時(shí)信息、聊天信息。2. UDP_PORT服務(wù)器端用于向客戶端轉(zhuǎn)發(fā)數(shù)據(jù)需要綁定的用戶數(shù)據(jù)報(bào)套接字的端口號,玩家發(fā)送給服務(wù)器需要轉(zhuǎn)發(fā)的消息時(shí),服務(wù)器端的 DatagramSocket 就是使用此端口號建立的 UDP 連接。游戲客戶端的主要對象如下:101. isGameConnected用于判定玩家是否與服務(wù)器連接。 網(wǎng)絡(luò)客戶端類網(wǎng)絡(luò)客戶端的主要功能是當(dāng)前玩家與其他玩家進(jìn)行對弈時(shí),網(wǎng)絡(luò)客戶端需要發(fā)送和接收的消息處理。棋盤類的主要對象:1. board玩家所維護(hù)的棋盤二維數(shù)組。2. withComputer玩家與電腦對弈的標(biāo)志。3. isMouseEnable以此變量來控制在網(wǎng)絡(luò)對弈的雙方中,當(dāng)前玩家是否處于可以落子狀態(tài)。4. isRegretEnable判斷當(dāng)前的悔棋按鈕是否可用。5. 詳細(xì)設(shè)計(jì) 服務(wù)器端設(shè)計(jì)服務(wù)器端主要通過建立流連接來連接客戶端,與客戶端進(jìn)行相互通信、轉(zhuǎn)發(fā)信息。服務(wù)器端主要方法如下:(1) 在主類的 Start()函數(shù)中,用于初始化連接的信息為:ss = new ServerSocket(TCP_PORT)。11ss 為服務(wù)器端 Socket,為了保證連接的正確性和轉(zhuǎn)發(fā)數(shù)據(jù)的高效性,因此定義了兩個(gè)端口變量:TCP_PORT 和 UDP_PORT, 服務(wù)器端用 TCP_PORT 實(shí)現(xiàn)服務(wù)器套接字。用 UDP_PORT 用來發(fā)送和接收數(shù)據(jù)報(bào)包的套接字。 游戲客戶端設(shè)計(jì)游戲客戶端主要用于初始化玩家信息,定義玩家的操作狀態(tài),包括游戲客戶端界面的結(jié)構(gòu)組織,定義游戲控制按鈕的實(shí)現(xiàn),定義鍵盤事件的實(shí)現(xiàn)。(2)方法 actionPerformed(ActionEvent e)用于實(shí)現(xiàn)玩家單擊客戶端下文的控制按鈕的功能。參數(shù)為觸發(fā)事件的行為事件。此事件中主要處理了兩個(gè)行為,一是當(dāng)用戶選擇所有人進(jìn)行公聊時(shí)的處理,二是當(dāng)玩家選擇某一具體的玩家進(jìn)行私聊時(shí)的處理。主要方法:(1)方法 connect(String,int)用于連接服務(wù)器。玩家在此方法中連接上服務(wù)器,并且啟動(dòng)一個(gè)線程用于接受服務(wù)器發(fā)送過來的消息。12 棋盤類設(shè)計(jì) 棋盤類主要用于繪制棋盤以及電腦算法的實(shí)現(xiàn)。為了消除加載圖片時(shí)的窗口閃爍,在此方法中采用了雙緩沖技術(shù)。(3)方法 select()用于實(shí)現(xiàn)當(dāng)玩家與電腦對弈時(shí),選擇誰是先手,以及對按鈕狀態(tài)的設(shè)置。如果當(dāng)前棋盤已滿,則向玩家發(fā)送一個(gè)提示框,告知玩家此局游戲流局。第一個(gè)參數(shù)是當(dāng)前落子的橫坐標(biāo),第二個(gè)參數(shù)是當(dāng)前落子的縱坐標(biāo),第三個(gè)參數(shù)是當(dāng)前落子的棋子的顏色。 電腦落子算法的實(shí)現(xiàn)(1)行棋簡要相關(guān)術(shù)語。 [活四 ]有兩個(gè)點(diǎn)可以成五的四。 [死四 ]不能成五的四。 [眠三 ]再走一著可以形成沖四的三。 [活二 ]再走一著可以形成活三的二。 [死二 ]不能成五的二。在此之后還要為電腦和玩家雙方各建立一張棋型表 Computer[21][21][4]和 Player[15][15][4],用來存放棋型數(shù)據(jù),就是剛才所說的重要程度,比如用‘20’代表13“沖四”的點(diǎn),用‘15’代表“活三”的點(diǎn),那么在計(jì)算重要性時(shí),就可以根據(jù) 2015 得出前者比后者重要,下子時(shí)電腦便會自動(dòng)選擇“沖四”的點(diǎn)。[2] 程序流程本程序由六個(gè)基本功能模塊構(gòu)成,各模塊的詳細(xì)分析如下:(1)初始化:首先,建立盤面數(shù)組 board[21][21]、對戰(zhàn)雙方的棋型表 Computer[21][21][4]和 Player[21][21][4]并將它們清零以備使用(2)主循環(huán)控制模塊:控制下棋順序,當(dāng)輪到某方下子時(shí),負(fù)責(zé)將程序轉(zhuǎn)到相應(yīng)的模塊中去,主要擔(dān)當(dāng)一個(gè)調(diào)度者的角色。(4)盤面分析填寫棋型表:本程序核心模塊之一,人工智能算法的根本依據(jù)!其具體實(shí)現(xiàn)方法如下:玩家在下五子棋時(shí),一定會先根據(jù)棋盤上的情況,找出當(dāng)前最重要的一些點(diǎn)位,如“活三”、“沖四”等;然后再在其中選擇落子點(diǎn)。先來分析己方的棋型,從棋盤左上角出發(fā),向右逐行搜索,當(dāng)遇到一個(gè)空白點(diǎn)時(shí),以它為中心向左挨個(gè)查找,如果遇到己方的子則記錄然后繼續(xù),如果遇到對方的子、空白點(diǎn)或邊界就停止查找。而其他三個(gè)方向的棋型也可用同樣的方法得到,當(dāng)搜索完整張棋盤后,己方棋型表也就填寫完畢了。 電腦下子:有了上面填寫的兩張棋型表,現(xiàn)在要作的就是讓電腦知道在哪一點(diǎn)下子了。 勝負(fù)判斷:毋須多言,某方形成五子連即獲勝。執(zhí)行測試用例后,需要跟蹤故障,以確保開發(fā)的產(chǎn)品適合需求。 通 過 分 析 錯(cuò) 誤 產(chǎn) 生 的 原 因 和 錯(cuò) 誤 的 發(fā)生 趨 勢 , 可 以 幫 助 項(xiàng) 目 管 理 者 發(fā) 現(xiàn) 當(dāng) 前 軟 件 開 發(fā) 過 程 中 的 缺 陷 , 以 便 及 時(shí) 改進(jìn) ;(2)這 種 分 析 也 能 幫 助 測 試 人 員 設(shè) 計(jì) 出 有 針 對 性 的 測 試 方 法 , 改 善 測 試 的效 率 和 有 效 性 ;(3)沒 有 發(fā) 現(xiàn) 錯(cuò) 誤 的 測 試 也 是 有 價(jià) 值 的 , 完 整 的 測 試 是 評 定 軟 件 質(zhì) 量 的 一種 方 法 。測試結(jié)果:連接成功,測試結(jié)果正確。總結(jié)全文的工作,具體概括如下:論文首先研究了網(wǎng)絡(luò)五子棋游戲的優(yōu)勢,對比了 C/S 和 B/S 模式的各自特點(diǎn),并分析了其優(yōu)缺點(diǎn)。采用 Socket 網(wǎng)絡(luò)編程,分析了其通信的基本原理及其實(shí)現(xiàn),選擇了 TCP 協(xié)議作為通訊方式,為了保證數(shù)據(jù)傳輸?shù)母咝裕瑢τ谕婕倚畔⒌慕粨Q及聊天信息采用的是 UDP 協(xié)議進(jìn)行傳輸。本軟件雖然基本實(shí)現(xiàn)了網(wǎng)絡(luò)五子棋這款游戲的設(shè)計(jì),但需要改進(jìn)的地方還很多,我個(gè)人認(rèn)為需要改進(jìn)的地方有以下幾點(diǎn):15可以為游戲加入一個(gè)游戲大廳的界面,這樣用戶在進(jìn)入游戲時(shí)可以選擇座位坐下,省去了用戶加入與邀請游戲的麻煩。此外電腦落棋算法也有待進(jìn)一步改進(jìn),這里采用的是循環(huán)遍歷算法。同時(shí)我漸漸的復(fù)習(xí)了 Java 使用方法和編程語法,之后的編程過程也相對得心應(yīng)手,基本完成了預(yù)期計(jì)劃的要求。在畢業(yè)設(shè)計(jì)及論文寫作過程中,得到了劉老師和同學(xué)們的親切關(guān)懷和耐心的指導(dǎo),當(dāng)設(shè)計(jì)無法理清思路時(shí),都是翻閱我們平時(shí)的課堂筆記,讓我有所啟發(fā)。從課題的選擇到項(xiàng)目的最終完成,劉老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。多少個(gè)日日夜夜,劉老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想上、生活上給我以無微不至的關(guān)懷,除了敬佩劉老師的專業(yè)水平外,他的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。在設(shè)計(jì)論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有許多可敬的師長、同學(xué)和朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!17參考文獻(xiàn)[1] 埃史爾, 編程思想(第 4 版)[M].北京:機(jī)械工業(yè)出版社,:105121[2] 李鐘尉,馬文強(qiáng), 從入門到精通[M].北京:清華大學(xué)出版社,:234250[3] Liang,萬波,鄭海紅, 語言程序設(shè)計(jì):基礎(chǔ)篇(原書第 6 版)[M].北京:機(jī)械工業(yè)出版社,:355363[4] Ian ,關(guān)麗榮, 經(jīng)典實(shí)例(第 2 版)[M].北京:中國電力出版社,:179203[5] 馮博 應(yīng)群 .面向?qū)ο蟮?Java 網(wǎng)絡(luò)編程[M]
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1