五子棋的網(wǎng)絡(luò)對(duì)戰(zhàn)功能課程設(shè)計(jì)_第1頁(yè)
五子棋的網(wǎng)絡(luò)對(duì)戰(zhàn)功能課程設(shè)計(jì)_第2頁(yè)
五子棋的網(wǎng)絡(luò)對(duì)戰(zhàn)功能課程設(shè)計(jì)_第3頁(yè)
五子棋的網(wǎng)絡(luò)對(duì)戰(zhàn)功能課程設(shè)計(jì)_第4頁(yè)
五子棋的網(wǎng)絡(luò)對(duì)戰(zhàn)功能課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、暑假生產(chǎn)實(shí)習(xí)報(bào)告書(shū)專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 090411 學(xué)生姓名: 左勝平 學(xué)號(hào): 09041109 指導(dǎo)教師: 艾菊梅 2011年8月5號(hào)目錄1.需求分析71.1目標(biāo)71.2 用戶(hù)特點(diǎn)71.2.1 系統(tǒng)結(jié)構(gòu)層次模塊圖72.概要設(shè)計(jì)82.1服務(wù)器管理模塊設(shè)計(jì)82.1.1 功能描述82.1.2 功能界面說(shuō)明82.1.3 操作效果圖82.1.4 界面操作說(shuō)明82.1.5 服務(wù)器工作原理82.1.6 流程圖82.2用戶(hù)登錄注冊(cè)管理模塊設(shè)計(jì)92.2.1 功能描述92.2.2功能界面說(shuō)明92.2.3 操作效果圖92.2.4 流程圖102.3 用戶(hù)列表模塊設(shè)計(jì)112.3.1 功能描述112.

2、3.2 功能界面說(shuō)明112.3.3 操作效果圖112.3.4 流程圖122.4網(wǎng)絡(luò)聊天模塊設(shè)計(jì)132.4.1 功能描述132.4.2 功能界面說(shuō)明132.4.3 操作效果圖132.4.4 流程圖142.5對(duì)戰(zhàn)棋盤(pán)模塊設(shè)計(jì)152.5.1 功能描述152.5.2 功能界面說(shuō)明152.5.3 操作效果圖152.5.4 流程圖173.詳細(xì)設(shè)計(jì)183.1登錄模塊183.1.1模塊運(yùn)行流程圖183.1.2登錄模塊功能分解表183.1.3登錄模塊與數(shù)據(jù)傳輸模塊公共接口193.2注冊(cè)模塊193.2.1模塊流程圖193.2.2注冊(cè)模塊功能分解表203.2.3注冊(cè)模塊與數(shù)據(jù)傳輸接口213.3用戶(hù)列表模塊213.3

3、.1模塊運(yùn)行流程圖213.3.2用戶(hù)列表模塊功能分解表223.3.3用戶(hù)列表模塊與數(shù)據(jù)傳輸模塊接口233.4用戶(hù)對(duì)戰(zhàn)模塊233.4.1模塊運(yùn)行流程圖233.4.2對(duì)戰(zhàn)模塊功能分解表243.4.3對(duì)戰(zhàn)模塊與數(shù)據(jù)傳輸模塊接口圖253.5數(shù)據(jù)傳輸模塊263.5.1模塊流程圖263.5.2數(shù)據(jù)傳輸模塊功能分解表263.5.3數(shù)據(jù)傳輸模塊對(duì)外提供接口273.6服務(wù)端數(shù)據(jù)處理模塊273.6.1模塊流程圖1(登錄,注冊(cè),用戶(hù)列表信息處理模塊)273.6.2服務(wù)端數(shù)據(jù)模塊功能分解表1283.6.3服務(wù)端數(shù)據(jù)模塊與數(shù)據(jù)傳輸模塊接口1293.6.4模塊流程圖2(對(duì)戰(zhàn)信息處理模塊)293.6.5服務(wù)端數(shù)據(jù)模塊功能分

4、解表2303.6.6服務(wù)端數(shù)據(jù)模塊與數(shù)據(jù)傳輸模塊接口2303.7數(shù)據(jù)描述表314 顯示效果334.1用戶(hù)登錄界面334.2用戶(hù)注冊(cè)界面344.3用戶(hù)列表界面354.4對(duì)戰(zhàn)界面364.5 聊天界面374.6 服務(wù)器端界面375 總結(jié)371.需求分析1.1目標(biāo) 該系統(tǒng)屬于游戲開(kāi)發(fā)項(xiàng)目,其主要是實(shí)現(xiàn)五子棋的網(wǎng)絡(luò)對(duì)戰(zhàn)功能,即玩家可以通過(guò)網(wǎng)絡(luò)的方式實(shí)現(xiàn)對(duì)戰(zhàn),其模式類(lèi)似與qq游戲,通過(guò)帳號(hào)密碼登錄,列出在線列表框,點(diǎn)擊玩家進(jìn)行五子棋對(duì)戰(zhàn)。1.2 用戶(hù)特點(diǎn)1.2.1 系統(tǒng)結(jié)構(gòu)層次模塊圖圖表 01總體組織架構(gòu)2.概要設(shè)計(jì)2.1服務(wù)器管理模塊設(shè)計(jì)2.1.1 功能描述該系統(tǒng)主要實(shí)現(xiàn)網(wǎng)絡(luò)通信下的操作,通過(guò)網(wǎng)絡(luò)傳輸實(shí)

5、現(xiàn)五子棋對(duì)戰(zhàn),判斷用戶(hù)落子后的輸贏情況。2.1.2 功能界面說(shuō)明 啟動(dòng)界面:通過(guò)點(diǎn)擊啟動(dòng)按鈕,啟動(dòng)服務(wù)器。2.1.3 操作效果圖圖 2-1服務(wù)器啟動(dòng)操作效果圖2.1.4 界面操作說(shuō)明點(diǎn)擊啟動(dòng)按鈕即可啟動(dòng)服務(wù)器。2.1.5 服務(wù)器工作原理服務(wù)器通過(guò)tcp/ip協(xié)議的通訊,創(chuàng)建一個(gè)socket,開(kāi)啟系統(tǒng)的一個(gè)端口用于網(wǎng)絡(luò)傳輸,默認(rèn)的端口號(hào)為5000。服務(wù)器首先獲取本機(jī)的ip,然后開(kāi)啟端口,通過(guò)監(jiān)聽(tīng)端口判斷是否有連接信息傳入,如果發(fā)現(xiàn)則與客戶(hù)端進(jìn)行連接,再通過(guò)操作信息的發(fā)送接收來(lái)響應(yīng)并處理消息。五子棋的規(guī)則判斷也是服務(wù)器的主要功能之一。2.1.6 流程圖圖 2-2用戶(hù)服務(wù)器工作簡(jiǎn)要流程圖2.2用戶(hù)登

6、錄注冊(cè)管理模塊設(shè)計(jì) 2.2.1 功能描述輸入正確的用戶(hù)名及密碼登錄游戲并進(jìn)入用戶(hù)列表界面。點(diǎn)擊注冊(cè)進(jìn)行用戶(hù)注冊(cè)操作。2.2.2功能界面說(shuō)明登錄:輸入用戶(hù)名密碼點(diǎn)擊登錄進(jìn)行游戲。注冊(cè):輸入用戶(hù)名,昵稱(chēng),2次密碼,符合要求后注冊(cè)完成。2.2.3 操作效果圖圖 2-3 登錄界面效果圖圖 2-4 注冊(cè)界面效果圖2.2.4 流程圖圖 2-5登錄注冊(cè)界面簡(jiǎn)要流程圖2.3 用戶(hù)列表模塊設(shè)計(jì)2.3.1 功能描述本模塊用于顯示用戶(hù)的在線狀態(tài),以及對(duì)邀請(qǐng)對(duì)戰(zhàn)、邀請(qǐng)聊天,查看信息等操作。2.3.2 功能界面說(shuō)明右鍵:點(diǎn)擊人物頭像,彈出操作對(duì)話框,點(diǎn)擊相應(yīng)條目進(jìn)行操作。左鍵:雙擊人物頭像,彈出聊天窗口進(jìn)行聊天。2.3

7、.3 操作效果圖圖 2-6用戶(hù)列表效果圖2.3.4 流程圖圖 2-7用戶(hù)列表管理簡(jiǎn)要流程圖2.4網(wǎng)絡(luò)聊天模塊設(shè)計(jì)2.4.1 功能描述通過(guò)用戶(hù)列表的左鍵雙擊響應(yīng),彈出聊天窗口,輸入聊天內(nèi)容點(diǎn)擊發(fā)送進(jìn)行聊天。2.4.2 功能界面說(shuō)明發(fā)送:在聊天框內(nèi)輸入內(nèi)容點(diǎn)擊發(fā)送鍵進(jìn)行信息發(fā)送?;貜?fù):雙擊聊天內(nèi)容顯示框的某人的信息就可以實(shí)現(xiàn)與某人的對(duì)話回復(fù)。2.4.3 操作效果圖圖 2-8聊天窗口效果圖 2.4.4 流程圖圖 2-9聊天傳輸簡(jiǎn)要流程圖2.5對(duì)戰(zhàn)棋盤(pán)模塊設(shè)計(jì)2.5.1 功能描述五子棋對(duì)戰(zhàn)主界面,棋盤(pán)位于本界面,實(shí)現(xiàn)的功能主要是玩家落子信息的記錄,傳入服務(wù)器端進(jìn)行處理。2.5.2 功能界面說(shuō)明準(zhǔn)備:進(jìn)

8、入對(duì)戰(zhàn)后的雙方需要點(diǎn)擊準(zhǔn)備,雙方都準(zhǔn)備后,游戲開(kāi)始。信息顯示:顯示玩家落子的區(qū)域,以及玩家棋子的顏色。2.5.3 操作效果圖圖 2-10五子棋對(duì)戰(zhàn)效果圖2.5.4 流程圖圖 2-11五子棋對(duì)戰(zhàn)簡(jiǎn)要流程圖3.詳細(xì)設(shè)計(jì)3.1登錄模塊3.1.1模塊運(yùn)行流程圖圖 3-1登錄界面詳細(xì)流程圖3.1.2登錄模塊功能分解表邏輯處理層:數(shù)據(jù)序號(hào)制審日表核期處理方法名類(lèi)型處理說(shuō)明判斷用戶(hù)名密碼是否為空bool isuserinfonull(long luserid,string pwd)判讀登錄是否成功bool isloginsuccess(long lflag)根據(jù)傳入標(biāo)志lflag,0表示登錄失敗,1表示登錄

9、成功3.1.3登錄模塊與數(shù)據(jù)傳輸模塊公共接口3.2注冊(cè)模塊3.2.1模塊流程圖圖 3-2注冊(cè)界面詳細(xì)流程圖3.2.2注冊(cè)模塊功能分解表邏輯處理層:數(shù)據(jù)序號(hào)制審日表核期處理方法名類(lèi)型處理說(shuō)明判斷輸入信息是否有空bool isuserinfonull(long id,string name,string pwd)判讀用戶(hù)昵稱(chēng)格式是否正確bool checnameformat(string name)判斷用戶(hù)名里面是否有一些禁止用戶(hù)輸入的特殊標(biāo)志判斷兩次輸入的密碼是否相同bool checkuserpwd(string pwdfst,string pwdsnd)判斷冊(cè)是否成功bool isregis

10、tesuccess(long lflag)根據(jù)傳入標(biāo)志lflag,0表示注冊(cè)失敗,1表示注冊(cè)成功3.2.3注冊(cè)模塊與數(shù)據(jù)傳輸接口3.3用戶(hù)列表模塊3.3.1模塊運(yùn)行流程圖圖 3-3用戶(hù)列表詳細(xì)流程圖3.3.2用戶(hù)列表模塊功能分解表邏輯處理層:數(shù)據(jù)序號(hào)制審日 表核期處理方法名類(lèi)型處理說(shuō)明判斷用戶(hù)是否空閑私有bool checkuserstate(long id)根據(jù)id在本地用戶(hù)列表中查找對(duì)應(yīng)的用戶(hù)狀態(tài),判斷是否空閑初始化成員列表私有bool inituserlist(char* namelist)從namelist中根據(jù)間隔標(biāo)志,提取出一個(gè)個(gè)用戶(hù)信息,插入用戶(hù)列表判斷對(duì)方是否同意對(duì)戰(zhàn)私有boo

11、l checkenemyanswer(bool bflag)3.3.3用戶(hù)列表模塊與數(shù)據(jù)傳輸模塊接口3.4用戶(hù)對(duì)戰(zhàn)模塊3.4.1模塊運(yùn)行流程圖圖 3-4對(duì)戰(zhàn)界面詳細(xì)流程圖3.4.2對(duì)戰(zhàn)模塊功能分解表邏輯處理層:數(shù)據(jù)序號(hào)制審日表核期處理方法名類(lèi)型處理說(shuō)明初始化棋盤(pán)信息bool initmapinfo()將棋盤(pán)上的下子位置清0將屏幕坐標(biāo)轉(zhuǎn)化成棋盤(pán)位置void screentomappos(int& x,int& y)將傳入的屏幕的(x,y)坐標(biāo)轉(zhuǎn)化成棋盤(pán)上的行,列值判斷當(dāng)前位置是否可以下bool checkposstate(int row,int col)放置棋子void setg

12、ridpos(int row,int col,int color)根據(jù)row,col,將棋盤(pán)上該位置設(shè)置為顏色為color的棋子將對(duì)方上次落子位置清0void initenemylastpos()根據(jù)對(duì)方最后一步落子位置,將該位置的color清03.4.3對(duì)戰(zhàn)模塊與數(shù)據(jù)傳輸模塊接口圖3.5數(shù)據(jù)傳輸模塊3.5.1模塊流程圖該傳輸流程既可以用戶(hù)于客戶(hù)端向服務(wù)器發(fā)送數(shù)據(jù),也可以用于服務(wù)器向客戶(hù)端發(fā)送數(shù)據(jù),圖 3-5服務(wù)器數(shù)據(jù)傳輸詳細(xì)流程圖3.5.2數(shù)據(jù)傳輸模塊功能分解表數(shù)據(jù)序號(hào)制審日表核期處理方法名類(lèi)型處理說(shuō)明組裝數(shù)據(jù)包void createdatapackage(int ntype,char* p

13、aram,char* databuf)發(fā)送數(shù)據(jù)包bool senddatapackage( char* sendbuf)接受數(shù)據(jù)包bool recvdatapackage( char* recvbuf)解析數(shù)據(jù)包bool analysisdatapackage( char* databuf,int& ntype,char* param)3.5.3數(shù)據(jù)傳輸模塊對(duì)外提供接口3.6服務(wù)端數(shù)據(jù)處理模塊3.6.1模塊流程圖1(登錄,注冊(cè),用戶(hù)列表信息處理模塊)圖 3-6服務(wù)器對(duì)登錄、注冊(cè)、列表數(shù)據(jù)處理詳細(xì)流程圖3.6.2服務(wù)端數(shù)據(jù)模塊功能分解表1數(shù)據(jù)序號(hào)制審日表核期處理方法名類(lèi)型處理說(shuō)明判端用戶(hù)

14、是否存在bool isuserexist(long id)通過(guò)用戶(hù)的id在數(shù)據(jù)庫(kù)中檢索是否有該用戶(hù)的記錄將用戶(hù)信息插入數(shù)據(jù)表bool isertuserinfo(long id,string name,string pwd,)取得數(shù)據(jù)庫(kù)中所有在線的用戶(hù)名void getuserlist(char* buf)通過(guò)檢索數(shù)據(jù)庫(kù),將用戶(hù)名序列以一定的格式存入buf中返回3.6.3服務(wù)端數(shù)據(jù)模塊與數(shù)據(jù)傳輸模塊接口13.6.4模塊流程圖2(對(duì)戰(zhàn)信息處理模塊)圖 3-7服務(wù)器對(duì)對(duì)戰(zhàn)數(shù)據(jù)處理詳細(xì)流程圖3.6.5服務(wù)端數(shù)據(jù)模塊功能分解表2數(shù)據(jù)序號(hào)制審日表核期處理方法名類(lèi)型處理說(shuō)明判斷雙方是否都準(zhǔn)備好bool i

15、splayersready()設(shè)置玩家下子位置void putdowngrid(int row,int col)更新數(shù)庫(kù)中玩家積分bool updateuserscore(long id,int score)將對(duì)方上次落子位置清0void initenemylastpos()根據(jù)對(duì)方最后一步落子位置,將該位置的color清0初始化棋盤(pán)狀態(tài)bool initmapinfo()3.6.6服務(wù)端數(shù)據(jù)模塊與數(shù)據(jù)傳輸模塊接口23.7數(shù)據(jù)描述表序號(hào)名稱(chēng)制表審核日期數(shù)據(jù)說(shuō)明:class cuserprivate: long m_lid; /表示玩家id bool m_bcolor;/表示玩家顏色 bool m_bbusy;/表示用戶(hù)狀態(tài)class cgridmapprivate: int m_nid; /表示棋盤(pán)編號(hào) bool m_bempty; /表示棋盤(pán)當(dāng)前有無(wú)玩家int m_grid1515;/表示一個(gè)15x15的棋盤(pán)int m_nlastrow;/表示棋盤(pán)上最后一次落子的行號(hào)int m_nlastcol;/表示棋盤(pán)上最后一次落子的列號(hào)數(shù)據(jù)項(xiàng)說(shuō)明:class cuser中bool m_bcolor;為1時(shí)表示玩家為黑方,為0時(shí)表示玩家為白方bool m_bbusy; 為1時(shí)表示玩家處于對(duì)戰(zhàn)狀態(tài),為0時(shí)表示玩家

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論