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

正文內(nèi)容

計(jì)算機(jī)中國(guó)象棋網(wǎng)絡(luò)對(duì)弈軟件畢業(yè)設(shè)計(jì)-wenkub.com

2024-08-26 10:38 本頁(yè)面
   

【正文】 如果在一條路上有兩個(gè)相同的棋子則用前后 區(qū)分而不必說明在幾路 , 比如二路上有兩個(gè)我方車把前面的車向前走一步就是前車進(jìn)一 。 棋盤數(shù)組 [源 X177。amp。amp。 1==目的 X amp。 17代表黑方棋子: 1 車 2 馬 3 象 4 士 5 將 6 炮 7 兵 。 數(shù)據(jù)類型常量類,擁有各種數(shù)據(jù)類型的常量 。 聊天框顯示會(huì)話屬性類,實(shí)現(xiàn)會(huì)話屬性常量 。 存儲(chǔ)棋譜類,實(shí)現(xiàn)棋譜的存儲(chǔ) 。 安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說明書 共 51 頁(yè) 第 19 頁(yè) ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 裝 ┊ ┊ ┊ ┊ ┊ 訂 ┊ ┊ ┊ ┊ ┊ 線 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ chessstateP chessstateP 包需要實(shí)現(xiàn)棋譜記錄模塊的功能 : 棋譜顯示 、棋譜保存、 時(shí) 鐘 。 登錄界面類,實(shí)現(xiàn)登錄界面展 現(xiàn) 。 棋譜生成類,實(shí)現(xiàn)棋譜的產(chǎn)生 。 圖 chessboardP 包結(jié)構(gòu) 弈棋規(guī)則類,實(shí)現(xiàn)象棋規(guī)則、勝負(fù)判定 。 實(shí)現(xiàn)后的效果 如圖 。 實(shí)現(xiàn)后的效果 如圖 。 Begin: 第一步(登錄): Client (Login): send UDP packet(登錄消息 +用戶名 +密碼) Server (Login and Register Thread): 接收 Client 的 UDP 包,解析數(shù)據(jù)內(nèi)容為 mand + message if(mand == 登錄消息 ) 查詢數(shù)據(jù)庫(kù)中此用戶名的密碼 if(無(wú)此用戶或密碼不一致 ) send UDP packet(登錄 失敗 ) else 將用戶名經(jīng) MD5加密 send UDP packet(登錄成功 +MD5 加 密后的密匙) else if(mand == 注冊(cè)消息 ) if(數(shù)據(jù)庫(kù)中有此用戶 ) send UDP packet(注冊(cè)失敗) else send UDP packet(注冊(cè)成功) else 錯(cuò)誤消息類型,丟棄 Client(Login):接收 Server 的 UDP響應(yīng)包,解析數(shù)據(jù)內(nèi)容為 mand + message if(mand==登錄成功 ) goto 第二步 else 登錄失敗 goto 第一步 第二步 (連接 弈棋服務(wù)器 ): Client(UserList): send TCP request(連接服務(wù)器 +用戶名 +密匙 ) Server(ChessRoom Thread):接收 Client 的 TCP 連接,解析數(shù)據(jù)內(nèi)容為mand + message 將用戶名進(jìn)行 MD5 加密生成密匙 if(客戶端密匙 ==服務(wù)器端密匙 ) send TCP packet(登錄成 功) 添加用戶到 usermanage 中 生成用戶交互監(jiān)聽進(jìn)程 查詢數(shù)據(jù)庫(kù)用戶數(shù)據(jù) send TCP packet to 全體在線用戶(用戶列表更新 +新上線用戶信息) send TCP packet to 當(dāng)前用戶(用戶列表初始化 +全體在線用戶信息) 安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說明書 共 51 頁(yè) 第 14 頁(yè) ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 裝 ┊ ┊ ┊ ┊ ┊ 訂 ┊ ┊ ┊ ┊ ┊ 線 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ else send TCP packet(登錄失敗) Client( UserList):接收 Server的 TCP 響應(yīng)包,解析數(shù)據(jù)內(nèi)容為 mand + message if( mand==登錄成功 ) 接收 Server 的用戶列表初始化信息,初始化用戶列表 goto 第三步 else goto 第一步 第三步 (邀請(qǐng)弈棋): Client1(Userlist):send TCP request(邀請(qǐng)弈棋 +Client2 用戶名 ) Server(ChessRoom Thread): 接收 Client 的 TCP 連接,解析數(shù)據(jù)內(nèi)容為mand + message if(Client2 已經(jīng)被邀請(qǐng)或正在弈棋 ) send(拒絕邀請(qǐng)) else send to Client2(邀請(qǐng)弈棋 +Client1 用戶名) Client2(Userlist):接收 Server 的 TCP 包,解析數(shù)據(jù)內(nèi)容為 mand + message if(同意 Client1 的弈棋邀請(qǐng)) send(接收邀請(qǐng)) else send(拒絕邀請(qǐng)) goto 第三步 Server(ChessRoom Thread): 接收 Client 的 TCP 連接,解析數(shù)據(jù)內(nèi)容為mand + message if(mand == 同意邀請(qǐng) ) send to Client1(接受邀請(qǐng)) 生成一個(gè) ChessDesk 實(shí)例管理整個(gè)弈棋過程 send to Client1 Client2(開始弈棋 +執(zhí)子顏色) send to 全體用戶(用戶列表更新 +Client1 Client2 用戶狀態(tài)改變) goto 第四步 else send to Client1(拒絕邀請(qǐng)) Client1(Userlist):接收 Server 的 TCP 包,解析數(shù)據(jù)內(nèi)容為 mand + message if( mand==接收邀請(qǐng)) 接收 Server 的 TCP 包,初始化棋盤,更新用戶列表 goto 第四步 else goto 第三步 Client2(Userlist):接收 Server 的 TCP 包,初始化棋盤,更新用戶列表 goto 第四步 安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說明書 共 51 頁(yè) 第 15 頁(yè) ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 裝 ┊ ┊ ┊ ┊ ┊ 訂 ┊ ┊ ┊ ┊ ┊ 線 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 第四步 (弈棋過程): ClientRedOrBlack (ChessBoard):send (選中棋子 +棋子坐標(biāo) ) ClientRedOrBlack (ChessBoard):send (移動(dòng)棋子 +棋子坐標(biāo) ) ClientRedOrBlack (ChessBoard):send (棋局結(jié)束 ) goto 第三步 Server(ChessDesk): 接收 ClientOneColor 的 TCP 包 ,解析數(shù)據(jù)內(nèi)容為mand + message Switch( mand) case 選中棋子: send to ClientOtherColor(選中棋子 +棋子坐標(biāo)) case 移動(dòng)棋子: send to ClientOtherColor (移動(dòng)棋子 +棋子坐標(biāo) ) 記錄當(dāng)前棋盤狀態(tài) case 棋局結(jié)束: send to ClientOtherColor (棋局結(jié)束 ) 結(jié)束 ChessDesk 生命周期 goto 第 五步 ClientRedOrBlack (ChessBoard): 接收 Server 的 TCP 包,解析數(shù)據(jù)內(nèi)容為 mand + message Switch( mand) case 選中棋子: 選中棋子 case 移動(dòng)棋子: 移動(dòng)棋子 case 棋局結(jié)束: 棋局結(jié)束 goto 第三步 第五步 (用戶數(shù)據(jù)更新): Server(ChessRoom): 處理積分信息,更新數(shù)據(jù)庫(kù) send to 全體在線用戶(用戶列 表更新 +用戶狀態(tài)改變 ) Client(Userlist): 接收 Server 的 TCP 包,解析數(shù)據(jù)內(nèi)容為 mand + message 更新用戶列表 安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說明書 共 51 頁(yè) 第 16 頁(yè) ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 裝 ┊ ┊ ┊ ┊ ┊ 訂 ┊ ┊ ┊ ┊ ┊ 線 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 4.中國(guó)象棋網(wǎng)絡(luò)版客戶端實(shí)現(xiàn) 客戶端基礎(chǔ)架構(gòu) 客戶 端架構(gòu) 設(shè)計(jì) 如圖 。給不同的功能模塊設(shè)計(jì)不同的系統(tǒng)命令 (如表 中 Chessboard 中第一級(jí)命令格式為 CHESSBOARDPANE 0x1000/0001,其中 0x1000 表示此命令的十六進(jìn)制數(shù)值,0001 表示為此命令的部分二進(jìn)制數(shù)值, CHESSBORADPANE 表示此命令所實(shí)現(xiàn)的消息內(nèi)容) 。0xf000 charamp。如果不加分 類很容易產(chǎn)生混亂,所以根據(jù)數(shù)據(jù)所屬的不同模塊將這些數(shù)據(jù)進(jìn)行分類。如果采用 UDP協(xié)議需要在服務(wù) 器應(yīng)用中添加包檢測(cè)與重傳功能,增加了服務(wù)器負(fù)載 。每一次登錄注冊(cè)請(qǐng)求與響應(yīng)只產(chǎn)生一個(gè)往返的數(shù)據(jù)報(bào), UDP 協(xié)議的無(wú)連接特性保證的數(shù)據(jù)通信的高效性。 中國(guó)象棋網(wǎng)絡(luò)版 數(shù)據(jù)通信設(shè)計(jì)與實(shí)現(xiàn) 通信協(xié)議選擇 經(jīng)架構(gòu)分析將登錄 注冊(cè)模塊 與弈棋的通信模塊分開設(shè)計(jì),又根據(jù)兩個(gè)模塊對(duì)網(wǎng)絡(luò)通信 可靠性和即時(shí)性要求不同,所以設(shè)計(jì)登錄模塊的網(wǎng)絡(luò)層通信協(xié)議為 UDP協(xié)議,弈棋通信模塊的網(wǎng)絡(luò)層通信協(xié)議為 TCP 協(xié)議。 安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說明書 共 51 頁(yè) 第 7 頁(yè) ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 裝 ┊ ┊ ┊ ┊ ┊ 訂 ┊ ┊ ┊ ┊ ┊ 線 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 架構(gòu) 設(shè)計(jì)與 通信 設(shè)計(jì) 中國(guó)象棋網(wǎng)絡(luò)版架構(gòu)分析與設(shè)計(jì) 本軟件要實(shí)現(xiàn)多用戶在線弈棋,所以采用 C/S 架構(gòu),服務(wù)器端和客戶端分別完成各自的功能。 Socket;用來(lái)產(chǎn)生客戶端套接字實(shí)例的類 。 Socket 也具有一個(gè)類似于打開文件的函數(shù)調(diào)用Socket(),該函數(shù)返回一個(gè)整型的 Socket 描述符,隨后的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^該 Socket 實(shí)現(xiàn)的。要學(xué) Inter 上的TCP/IP 網(wǎng)絡(luò)編程,必須理解 Socket 接口。 服務(wù)器,使用 ServerSocket 監(jiān)聽指定的端口,端口可以隨意指定(由于 1024
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1