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

正文內(nèi)容

網(wǎng)絡(luò)對(duì)戰(zhàn)象棋游戲本科畢業(yè)論文-資料下載頁(yè)

2025-06-21 22:37本頁(yè)面
  

【正文】 界面設(shè)計(jì)界面設(shè)計(jì)中包括客戶端界面設(shè)計(jì)和服務(wù)器端界面設(shè)計(jì)。其中客戶端界面包括登錄界面、游戲室、游戲房間。服務(wù)器端只有一個(gè)主界面。 客戶端界面設(shè)計(jì)用戶運(yùn)行客戶端程序,首先進(jìn)入登錄界面,如圖34所示。圖34 登錄界面客戶填入本人昵稱后點(diǎn)擊【登錄】按鈕與服務(wù)器建立鏈接。若服務(wù)器沒有開始監(jiān)聽,此時(shí)提示連接失敗信息。否則連接成功,客戶端發(fā)送給服務(wù)器Login命令。服務(wù)器接收到該信息后,首先判斷游戲室人員是否已滿,如果還能容納用戶進(jìn)入,再判斷游戲室內(nèi)是否已經(jīng)有人使用過(guò)這個(gè)昵稱,如果兩個(gè)條件均滿足,則將該用戶添加到用戶列表中,并將游戲室現(xiàn)有總?cè)藬?shù)、游戲室開設(shè)的房間數(shù)(RoomNumbers命令)以及各游戲桌人員情況(Tables命令)發(fā)送給該用戶,同時(shí)告訴其他用戶該用戶進(jìn)入了游戲室(Login命令)??蛻酎c(diǎn)擊【登錄】按鈕觸發(fā)的事件如下:首先判斷用戶是否填寫了用戶昵稱,若沒有,則提示用戶輸入昵稱。然后判斷用戶是否輸入了服務(wù)器DNS名稱,如果不輸入則直接使用本機(jī)IP創(chuàng)建TcpClient實(shí)例,否則使用輸入的服務(wù)器DNS或IP創(chuàng)建TcpClient實(shí)例。如果沒有發(fā)生異常則表示與服務(wù)器連接成功,然后用該TcpClient實(shí)例獲取網(wǎng)絡(luò)流,用于接收和發(fā)送信息。最后發(fā)送給服務(wù)器該用戶的登錄信息,即Login命令,同時(shí)創(chuàng)建一個(gè)接受線程用來(lái)循環(huán)接收來(lái)自服務(wù)器的命令。客戶端接收到服務(wù)器發(fā)來(lái)的RoomNumbers命令、Tables命令、Login命令后進(jìn)行相應(yīng)的處理,進(jìn)入游戲室,界面如圖35所示。圖35 游戲室界面客戶進(jìn)入游戲室后,可隨意單擊游戲桌的座位,進(jìn)入游戲房間。 單擊游戲桌時(shí)向服務(wù)器發(fā)送EnterRoom命令,告訴服務(wù)器該用戶進(jìn)入了哪一桌的哪一方。服務(wù)器收到該命令后,首先判斷該用戶的類別(即該用戶以什么身份進(jìn)入游戲房間),如果該用戶是旁觀者,則需要將當(dāng)前棋盤上的棋子情況發(fā)送給他。如果他坐在游戲桌的某一邊,還要告訴對(duì)方有人坐下了。并將該用戶進(jìn)入房間的情況告訴房間內(nèi)的其他人。用戶進(jìn)入游戲房間后將呈現(xiàn)如圖36所示的界面。如果用戶以旁觀者的身份進(jìn)入,則不能單擊【開始】和【求和】按鈕,如果以玩家的身份進(jìn)入房間,則可以單擊【開始】按鈕,并告訴服務(wù)器該方已開始,服務(wù)器收到該命令后,判斷對(duì)方是否也單擊了【開始】按鈕,如果雙方都開始了,則需要初始化棋盤,并告訴該房間所有人,應(yīng)該有哪一方放置棋子(NextChess命令)。客戶端收到該信息后,判斷是否是自己可以放棋子,如果是自己,則可以移動(dòng)棋子。如果不是,則不能移動(dòng)。圖36 游戲房間玩家每走一步,都要告訴服務(wù)器是哪一桌哪一方走的哪個(gè)棋子。這樣服務(wù)器可以更新該房間內(nèi)的所有用戶棋盤信息,使其同步。并且,同一個(gè)房間的用戶可以聊天,單擊【發(fā)送】按鈕,告訴服務(wù)器哪個(gè)房間的哪個(gè)用戶說(shuō)了什么,服務(wù)器接收到該信息后,告訴該房間內(nèi)所有用戶該用戶說(shuō)話內(nèi)容。在游戲進(jìn)行過(guò)程中,一方移動(dòng)棋子時(shí)另一方是不能移動(dòng)棋子的,并且只能移動(dòng)本方的棋子。棋子的移動(dòng)規(guī)則嚴(yán)格按照中國(guó)象棋規(guī)則進(jìn)行。 服務(wù)器端界面設(shè)計(jì)服務(wù)器端界面設(shè)計(jì)如圖37所示:圖37 服務(wù)器端界面填寫完游戲允許的最多人數(shù)和房間數(shù)后,單擊【啟動(dòng)服務(wù)】,服務(wù)器開始監(jiān)聽,一旦收到鏈接求情,則建立與之對(duì)應(yīng)的線程,進(jìn)行接收和發(fā)送數(shù)據(jù)。服務(wù)器則繼續(xù)進(jìn)行監(jiān)聽。服務(wù)器端界面下使用的核心函數(shù):(1) 單擊【啟動(dòng)服務(wù)】觸發(fā)的事件如下:{首先判斷輸入的最多人數(shù)和房間數(shù)是否合法,如果不合法則提示重新輸入。根據(jù)輸入的房間數(shù)初始化房間數(shù)組。創(chuàng)建監(jiān)聽對(duì)象myListener綁定在指定的IP地址和端口號(hào)上,本設(shè)計(jì)使用的是本機(jī)IP,端口號(hào)為51888。開始監(jiān)聽。創(chuàng)建一個(gè)線程用來(lái)監(jiān)聽客戶端的連接請(qǐng)求。}(2) 線程中循環(huán)監(jiān)聽客戶端連接的方法如下:{While(true){try{利用TcpListener對(duì)象的AcceptTcpClient方法創(chuàng)建TcpClient對(duì)象。}catch{當(dāng)單擊【停止監(jiān)聽】按鈕或者退出此窗體時(shí),AcceptTcpClient()會(huì)產(chǎn)生異常,此時(shí)退出循環(huán)。}利用接收的TcpClient創(chuàng)建一個(gè)User用戶。把該用戶添加到用戶列表中。每接收一個(gè)客戶端連接,就創(chuàng)建一個(gè)對(duì)應(yīng)的線程循環(huán)接收該用戶端發(fā)來(lái)的信息。}}(3) 接收客戶端發(fā)來(lái)的信息線程中用到的方法 ReceiveData(object obj):用來(lái)接收處理客戶端信息,每個(gè)客戶一個(gè)線程,參數(shù)用于區(qū)分是哪個(gè)客戶。(4) GetTablesOnLineString()函數(shù):獲取每桌玩家情況及昵稱字符串,每桌之間用逗號(hào)分隔。每桌格式:黑方有人情況(1位)+昵稱/紅方有人情況(1位)+昵稱。有人情況:0表示無(wú)人,1表示有人。(5) GetRoomOnLineString(int tableIndex)函數(shù):獲取指定房間人員情況及昵稱字符串,每人之間用 ‘/’分隔。格式:黑方昵稱/紅方昵稱/旁觀者昵稱/……。(6) GetBordGrid(int tableIndex)函數(shù):獲取某游戲桌棋盤上的落子情況。其返回值為棋盤上各棋子的位置。(7) RemovePlayerfromRoom(User user)函數(shù):循環(huán)測(cè)試該用戶是否坐到某游戲桌上,如果是,將其從游戲桌上移除,并終止該桌游戲。(8) StopPlayer(int i ,int j)函數(shù):讓第i個(gè)房間第j個(gè)座位的玩家退出房間。結(jié) 論本論文分析了當(dāng)前象棋游戲的現(xiàn)狀,并討論了網(wǎng)絡(luò)通信的基本原理,引入了封裝、繼承、多態(tài)等技術(shù),在此基礎(chǔ)上設(shè)計(jì)了網(wǎng)絡(luò)對(duì)戰(zhàn)象棋游戲。從整體上看該游戲分為兩大部分,服務(wù)器端程序和客戶端程序。從功能模塊上看分為三部分:網(wǎng)絡(luò)通信模塊,信息處理模塊,系統(tǒng)模塊。其中網(wǎng)絡(luò)通信模塊使用了面向?qū)ο蟮腡cp連接,信息處理模塊則規(guī)定了信息發(fā)送的格式和含義,系統(tǒng)模塊則使用了類的封裝、繼承、多態(tài)技術(shù)。本游戲采用VS2005開發(fā)工具,C開發(fā)語(yǔ)言, Framework上的C/S模式。本游戲具有以下優(yōu)點(diǎn):1. 充分利用了類的封裝、繼承、多態(tài),節(jié)省了大量代碼,使代碼利用率很高。并且很好的認(rèn)識(shí)了面向?qū)ο蟮纳羁毯x。2. 易用性強(qiáng),C界面友好,操作簡(jiǎn)便。存在以下局限性:1. 界面不夠穩(wěn)定,因?yàn)橛写罅康乃⑿虏僮?,在界面上容易出現(xiàn)閃動(dòng)。2. 界面可以更加美化。3. 功能上有待完善。如:可以添加悔棋功能、積分功能等。參考文獻(xiàn)[1]馬駿.C網(wǎng)絡(luò)應(yīng)用編程實(shí)驗(yàn)指導(dǎo)與開發(fā)實(shí)例.人民郵電出版社.2007年3月第1版.[2]馬駿 鄭逢斌 沈夏炯.C網(wǎng)絡(luò)應(yīng)用高級(jí)編程.人民郵電出版社.2006年10月第1版.[3]馬駿.C網(wǎng)絡(luò)應(yīng)用基礎(chǔ)編程.人民郵電出版社.2006年10月第1版[4]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)(第5版).電子工業(yè)出版社.2008年2月第2次印刷.[5]盧瀟 孫璐 劉娟 張科英.軟件工程.清華大學(xué)出版社,北京交通大學(xué)出版社.2005年1月第1版.
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1