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

正文內(nèi)容

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

2025-06-24 13:58本頁(yè)面
  

【正文】 裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊ 用戶列表面板該面板主要實(shí)現(xiàn)在線用戶狀態(tài)顯示、用戶上線、用戶下線、觀戰(zhàn)和邀請(qǐng)弈棋的功能。實(shí)現(xiàn)后的效果如圖 。圖 用戶列表面板 棋譜記錄面板 該面板主要實(shí)現(xiàn)棋譜的記錄和顯示、棋譜的保存、對(duì)弈雙方用戶名。實(shí)現(xiàn)后的效果如圖 。圖 棋譜記錄面板 用戶交流面板該面板主要實(shí)現(xiàn)在線的用戶交流、以及系統(tǒng)消息的顯示。實(shí)現(xiàn)后的效果如圖 。圖 用戶交流面板安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書共 51 頁(yè) 第 18 頁(yè) ┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊ 客戶端類設(shè)計(jì)由面向?qū)ο蟮乃枷?,?duì)不同模塊的功能進(jìn)行需求分析,設(shè)計(jì)出相應(yīng)的類。 chessboardP chessboardP 包需要實(shí)現(xiàn)棋盤模塊的功能:具體有弈棋規(guī)則、棋盤、棋子、棋盤界面、棋譜生成。chessboardP 包結(jié)構(gòu)如圖 。圖 chessboardP 包結(jié)構(gòu) 弈棋規(guī)則類,實(shí)現(xiàn)象棋規(guī)則、勝負(fù)判定。 棋盤類,實(shí)現(xiàn)邏輯棋盤生成、棋盤記錄。 棋子類,實(shí)現(xiàn)邏輯棋子生成。 棋盤界面類,實(shí)現(xiàn)棋盤展現(xiàn)、弈棋操作、棋子閃爍、弈棋通信。 棋譜生成類,實(shí)現(xiàn)棋譜的產(chǎn)生。 userP userP 包需要實(shí)現(xiàn)用戶列表和登錄注冊(cè)模塊的功能:登錄和注冊(cè) UDP 通信、登錄、注冊(cè)、用戶列表、邀請(qǐng)弈棋、觀看弈棋。userP 包結(jié)構(gòu)如圖 。 圖 userP 包結(jié)構(gòu) 登錄和注冊(cè) UDP 通信類,實(shí)現(xiàn)登錄和注冊(cè)的UDP 通信。 登錄界面類,實(shí)現(xiàn)登錄界面展現(xiàn)。 注冊(cè)界面類,實(shí)現(xiàn)注冊(cè)界面展現(xiàn)。 UDP 通信接口,提供 UDP 通信的統(tǒng)一接口。 用戶列表界面類,實(shí)現(xiàn)用戶狀態(tài)顯示、邀請(qǐng)弈棋、觀看弈棋。安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書共 51 頁(yè) 第 19 頁(yè) ┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊ chessstateP chessstateP 包需要實(shí)現(xiàn)棋譜記錄模塊的功能:棋譜顯示、棋譜保存、時(shí)鐘。chessstateP 包結(jié)構(gòu)如圖 。圖 chessstateP 包結(jié)構(gòu) 棋譜顯示類,實(shí)現(xiàn)棋譜的顯示。 時(shí)鐘類,實(shí)現(xiàn)時(shí)鐘功能。 存儲(chǔ)棋譜類,實(shí)現(xiàn)棋譜的存儲(chǔ)。 chatPchatP 包需要實(shí)現(xiàn)聊天功能:在線交流。chatP 包結(jié)構(gòu)如圖 。圖 chatP 包結(jié)構(gòu) 聊天框顯示類,實(shí)現(xiàn)聊天框的展現(xiàn)、聊天數(shù)據(jù)通信。 聊天框顯示會(huì)話屬性類,實(shí)現(xiàn)會(huì)話屬性常量。 數(shù)據(jù)處理相關(guān)類實(shí)現(xiàn)與服務(wù)器端通行和數(shù)據(jù)預(yù)處理分發(fā)。dataprocessP 包結(jié)構(gòu)如圖 。圖 dataprocessP 包結(jié)構(gòu) 數(shù)據(jù)預(yù)處理和分發(fā)類,預(yù)處理底層通信類傳遞的數(shù)據(jù),根據(jù)數(shù)據(jù)類型分發(fā)給不同的模塊。 數(shù)據(jù)類型常量類,擁有各種數(shù)據(jù)類型的常量。 通信接口,提供通信接口。安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書共 51 頁(yè) 第 20 頁(yè) ┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊ TCP 通信類,實(shí)現(xiàn)底層的 TCP 通信。 客戶端主要算法偽碼示例 棋子和棋盤狀態(tài)維護(hù)算法簡(jiǎn)介,主要屬性有chessObject,chessImage分別表示棋子類型和棋子圖片,棋子chessObject取值有:0代表沒(méi)有棋子。 17代表黑方棋子: 1 車 2 馬 3 象 4 士 5 將 6 炮 7 兵。 1117代表紅方棋子:11 車 12 馬 13 相 14 仕 15 將 16 炮 17 卒。棋盤是由 的一個(gè)實(shí)例對(duì)象維護(hù)的,該類有一個(gè)屬性Chess[10][9] board 數(shù)組,此數(shù)組來(lái)維護(hù)整個(gè)棋盤狀態(tài)。 棋盤規(guī)則馬規(guī)則偽碼示例Begin:初始化int 源 X 坐標(biāo),源 Y 坐標(biāo),目的 X 坐標(biāo),目的 Y 坐標(biāo),棋盤數(shù)組馬走日,所以棋盤中馬在一個(gè)位置最多有 8 種走法,遍歷這八種走法并且判斷是否蹩馬腿if(源 X177。1==目的 X amp。amp。 源 Y177。2==目的 Y amp。amp。 棋盤數(shù)組[源 X][源 Y177。1]==0)return 合法走法if(源 X177。2==目的 X amp。amp。 源 Y177。1==目的 Y amp。amp。 棋盤數(shù)組[源 X177。1][源 Y]==0)return 合法走法如果都不滿足則為非法走法 return 非法走法 棋子選擇和移動(dòng)偽碼示例Begin:初始化int 鼠標(biāo) X 坐標(biāo),鼠標(biāo) Y 坐標(biāo),棋盤 X 坐標(biāo),棋盤 Y 坐標(biāo) int flag0 當(dāng) flag=1 時(shí)表示有己方棋子被選中 0 表示沒(méi)有第一步: 在棋盤上點(diǎn)擊鼠標(biāo),獲得當(dāng)前鼠標(biāo)的 X 和 Y 坐標(biāo),對(duì)鼠標(biāo) XY 坐標(biāo)進(jìn)行量化處理,形成棋盤數(shù)組坐標(biāo) if(flag==0) if(點(diǎn)擊的棋子是己方棋子)flag1 else goto 第一步 else if(點(diǎn)擊的棋子是己方棋子)flag0安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書共 51 頁(yè) 第 21 頁(yè) ┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊ else if(走子合法)移動(dòng)棋子 else goto 第一步 棋譜生成部分偽碼示例通用的棋譜規(guī)則為:紅方棋盤從右向左縱向九條豎線記為一到九路,黑方從右到左豎線記為 1 到 9 ,紅方的一路就是黑方的 9 路 。走直線的棋子,進(jìn)退是數(shù)格子的,比如紅方一路的車向前走一步就是車一進(jìn)一,平是記錄從幾路到幾路,紅方二路的炮平到五路就是炮二平五 。走斜線的棋子只有進(jìn)退沒(méi)有平進(jìn)退是記錄從幾路到幾路,比如二路的馬向前跳到三路 就是馬二進(jìn)三 。如果在一條路上有兩個(gè)相同的棋子則用前后區(qū)分而不必說(shuō)明在幾路,比如二路上有兩個(gè)我方車把前面的車向前走一步就是前車進(jìn)一。一條棋譜可以分為兩個(gè)部分:棋子信息+移動(dòng)信息。Begin:初始化int 源 X 坐標(biāo),源 Y 坐標(biāo),目的 X 坐標(biāo),目的 Y 坐標(biāo) String 棋子信息,移動(dòng)信息第一步: if(棋子上方有相同的棋子)frontture else frontfalse if(棋子下方有相同的棋子)backture else backfalse if(front amp。amp。 back) 棋子信息“中”+棋子類型 else if(!front amp。amp。 back)棋子信息“前”+棋子類型 else if(front amp。amp。 !back)棋子信息“后”+棋子類型 else 棋子信息棋子類型+源棋子所在路數(shù) goto 第二步第二步: if(走子為橫向走動(dòng)) 移動(dòng)信息“平”+目的位置所在的路數(shù)else if(向前移動(dòng))安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書共 51 頁(yè) 第 22 頁(yè) ┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊ if(棋子為斜線移動(dòng)的棋子) 移動(dòng)信息“進(jìn)”+ 目的位置所在的路數(shù) else 移動(dòng)信息“進(jìn)”+(目的 X源 X)else if(棋子為斜線移動(dòng)的棋子) 移動(dòng)信息“退”+ 目的位置所在的路數(shù) else 移動(dòng)信息“退”+(目的 X源 X) return 棋子信息+移動(dòng)信息 棋局結(jié)果判定偽碼示例棋局結(jié)果判定即為每次走子后判斷九宮內(nèi)是否有將或帥。Begin: if(黑方九宮位置內(nèi)沒(méi)有棋子==將)return 黑輸 if(紅方就宮位置內(nèi)沒(méi)有棋子==帥)return 紅輸 else 等待下次走子后判定 通信數(shù)據(jù)處理和分發(fā)算法簡(jiǎn)介當(dāng)客戶端進(jìn)程接收到一個(gè)發(fā)自于服務(wù)器的 TCP 數(shù)據(jù)包時(shí),將數(shù)據(jù)包解析為:系統(tǒng)命令+通信數(shù)據(jù)。底層數(shù)據(jù)處理模塊經(jīng)位運(yùn)算提取系統(tǒng)命令中的一級(jí)命令,匹配一級(jí)命令所屬模塊,轉(zhuǎn)交數(shù)據(jù)至相應(yīng)模塊。對(duì)應(yīng)模塊經(jīng)位運(yùn)算提取二級(jí)命令,匹配二級(jí)命令,調(diào)用相應(yīng)方法處理通信數(shù)據(jù)。部分方法經(jīng)位運(yùn)算提取三級(jí)命令,處理通信數(shù)據(jù)。 棋子選中閃爍算法簡(jiǎn)介在棋子類 中設(shè)置了一個(gè) flicker 屬性,表示該棋子實(shí)例的閃爍狀態(tài),其可選的值為 FLICK_SHOW = 2 、FLICK_HIDE = 1 、NOFLIK = 0,分別表示顯示、不顯示、不閃爍,而所有棋子不被選中時(shí)其 flicker 屬性的值都為NOFLIK,當(dāng)某個(gè)棋子被選中的時(shí)候該棋子的 flicker 屬性被賦值為FLICK_HIDE。棋子閃爍功能通過(guò)一個(gè)標(biāo)志符 flag 值和棋盤重繪線程對(duì)被選中棋子的flicker 屬性值檢測(cè)以決定是否繪制該棋子,從而實(shí)現(xiàn)棋子的閃爍。棋子閃爍實(shí)質(zhì)上就是在一段時(shí)間內(nèi)不繪制被選中的棋子,然后再繪制,當(dāng)flag!=0 是表示有棋子被選中,此時(shí)棋盤上的棋子開(kāi)始閃爍,如果 flicker 值為 FLICK_SHOW 則將 flicker 重新賦值為 FLICK_HIDE。安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書共 51 頁(yè) 第 23 頁(yè) ┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊客戶端發(fā)送 1 個(gè)帶有用戶名和密碼的UDP 數(shù)據(jù)包給服務(wù)器服務(wù)器訪問(wèn)數(shù)據(jù)庫(kù)匹配用戶名和密碼由MD5加密得到密匙拒絕提供服務(wù)發(fā)送建立 TCP請(qǐng)求并發(fā)送密匙顯示用戶名密碼錯(cuò)誤提示信息 檢查密匙正常提供服務(wù)拒絕提供服務(wù)正常交互錯(cuò)誤狀態(tài) 服務(wù)器端基礎(chǔ)架構(gòu)服務(wù)器架構(gòu)設(shè)計(jì)如圖 ,客戶端登錄流程如圖 。圖 服務(wù)器架構(gòu) 圖 客戶端登錄流程圖數(shù)據(jù)處理TCP 連接請(qǐng)求監(jiān)聽(tīng)數(shù)據(jù)庫(kù)操作用戶信息管理客戶端通信數(shù)據(jù)分組 服務(wù)器交互請(qǐng)求與響應(yīng)客戶端交互請(qǐng)求與響應(yīng)登錄和注冊(cè)處理UDP 請(qǐng)求監(jiān)聽(tīng)安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書共 51 頁(yè) 第 24 頁(yè) ┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊服務(wù)器典型的數(shù)據(jù)處理過(guò)程如圖 。圖 服務(wù)器典型的數(shù)據(jù)處理過(guò)程圖 服務(wù)器端 GUI 設(shè)計(jì)服務(wù)器端 GUI 需求分析和效果展示。客戶端主面板需要實(shí)現(xiàn)系統(tǒng)狀態(tài)顯示、在線用戶管理、系統(tǒng)消息發(fā)布功能。 ServerChessRoom UserN User3 User2 User1 UserManage DataInteractvie n DataInteractvie 3 DataInteractvie 2 DataInteractvie 1 ChessdesknChessdesk3Chessdesk2ChessDesk 1ChessDeskManageServerListener 底層數(shù)據(jù)流安徽工業(yè)大學(xué) 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書共 51 頁(yè) 第 25 頁(yè) ┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1