五子棋的網絡對戰(zhàn)功能課程設計_第1頁
五子棋的網絡對戰(zhàn)功能課程設計_第2頁
五子棋的網絡對戰(zhàn)功能課程設計_第3頁
五子棋的網絡對戰(zhàn)功能課程設計_第4頁
五子棋的網絡對戰(zhàn)功能課程設計_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、暑假生產實習報告書專 業(yè):計算機科學與技術班 級:090411學生姓名: 左勝平學號:09041109指導教師: 艾菊梅2011年8月5號目錄1.需求分析71.1目標71.2 用戶特點71.2.1 系統(tǒng)結構層次模塊圖72.概要設計82.1服務器管理模塊設計82.1.1 功能描述82.1.2 功能界面說明82.1.3 操作效果圖82.1.4 界面操作說明82.1.5 服務器工作原理82.1.6 流程圖82.2用戶登錄注冊管理模塊設計92.2.1 功能描述9功能界面說明92.2.3 操作效果圖92.2.4 流程圖102.3 用戶列表模塊設計112.3.1 功能描述112.3.2 功能界面說明112

2、.3.3 操作效果圖112.3.4 流程圖122.4網絡聊天模塊設計132.4.1 功能描述132.4.2 功能界面說明132.4.3 操作效果圖132.4.4 流程圖142.5對戰(zhàn)棋盤模塊設計152.5.1 功能描述152.5.2 功能界面說明152.5.3 操作效果圖152.5.4 流程圖173.詳細設計183.1登錄模塊18模塊運行流程圖18登錄模塊功能分解表18登錄模塊與數據傳輸模塊公共接口193.2注冊模塊19模塊流程圖19注冊模塊功能分解表20注冊模塊與數據傳輸接口213.3用戶列表模塊21模塊運行流程圖21用戶列表模塊功能分解表22用戶列表模塊與數據傳輸模塊接口233.4用戶對戰(zhàn)

3、模塊23模塊運行流程圖23對戰(zhàn)模塊功能分解表24對戰(zhàn)模塊與數據傳輸模塊接口圖253.5數據傳輸模塊26模塊流程圖26數據傳輸模塊功能分解表26數據傳輸模塊對外提供接口273.6服務端數據處理模塊27模塊流程圖1(登錄,注冊,用戶列表信息處理模塊)27服務端數據模塊功能分解表128服務端數據模塊與數據傳輸模塊接口129模塊流程圖2(對戰(zhàn)信息處理模塊)29服務端數據模塊功能分解表230服務端數據模塊與數據傳輸模塊接口2303.7數據描述表314 顯示效果334.1用戶登錄界面334.2用戶注冊界面344.3用戶列表界面354.4對戰(zhàn)界面364.5 聊天界面374.6 服務器端界面375 總結371

4、.需求分析1.1目標該系統(tǒng)屬于游戲開發(fā)項目,其主要是實現(xiàn)五子棋的網絡對戰(zhàn)功能,即玩家可以通過網絡的方式實現(xiàn)對戰(zhàn),其模式類似與QQ游戲,通過帳號密碼登錄,列出在線列表框,點擊玩家進行五子棋對戰(zhàn)。1.2 用戶特點1.2.1 系統(tǒng)結構層次模塊圖圖表 01總體組織架構2.概要設計2.1服務器管理模塊設計2.1.1 功能描述該系統(tǒng)主要實現(xiàn)網絡通信下的操作,通過網絡傳輸實現(xiàn)五子棋對戰(zhàn),判斷用戶落子后的輸贏情況。2.1.2 功能界面說明 啟動界面:通過點擊啟動按鈕,啟動服務器。2.1.3 操作效果圖圖 2-1服務器啟動操作效果圖2.1.4 界面操作說明點擊啟動按鈕即可啟動服務器。2.1.5 服務器工作原理服

5、務器通過TCP/IP協(xié)議的通訊,創(chuàng)建一個SOCKET,開啟系統(tǒng)的一個端口用于網絡傳輸,默認的端口號為5000。服務器首先獲取本機的IP,然后開啟端口,通過監(jiān)聽端口判斷是否有連接信息傳入,如果發(fā)現(xiàn)則與客戶端進行連接,再通過操作信息的發(fā)送接收來響應并處理消息。五子棋的規(guī)則判斷也是服務器的主要功能之一。2.1.6 流程圖圖 2-2用戶服務器工作簡要流程圖2.2用戶登錄注冊管理模塊設計2.2.1 功能描述輸入正確的用戶名及密碼登錄游戲并進入用戶列表界面。點擊注冊進行用戶注冊操作。2.2.2功能界面說明登錄:輸入用戶名密碼點擊登錄進行游戲。注冊:輸入用戶名,昵稱,2次密碼,符合要求后注冊完成。2.2.3

6、 操作效果圖圖 2-3 登錄界面效果圖圖 2-4 注冊界面效果圖2.2.4 流程圖圖 2-5登錄注冊界面簡要流程圖2.3 用戶列表模塊設計2.3.1 功能描述本模塊用于顯示用戶的在線狀態(tài),以及對邀請對戰(zhàn)、邀請聊天,查看信息等操作。2.3.2 功能界面說明右鍵:點擊人物頭像,彈出操作對話框,點擊相應條目進行操作。左鍵:雙擊人物頭像,彈出聊天窗口進行聊天。2.3.3 操作效果圖圖 2-6用戶列表效果圖2.3.4 流程圖圖 2-7用戶列表管理簡要流程圖2.4網絡聊天模塊設計2.4.1 功能描述通過用戶列表的左鍵雙擊響應,彈出聊天窗口,輸入聊天內容點擊發(fā)送進行聊天。2.4.2 功能界面說明發(fā)送:在聊天

7、框內輸入內容點擊發(fā)送鍵進行信息發(fā)送?;貜停弘p擊聊天內容顯示框的某人的信息就可以實現(xiàn)與某人的對話回復。2.4.3 操作效果圖圖 2-8聊天窗口效果圖 2.4.4 流程圖圖 2-9聊天傳輸簡要流程圖2.5對戰(zhàn)棋盤模塊設計2.5.1 功能描述五子棋對戰(zhàn)主界面,棋盤位于本界面,實現(xiàn)的功能主要是玩家落子信息的記錄,傳入服務器端進行處理。2.5.2 功能界面說明準備:進入對戰(zhàn)后的雙方需要點擊準備,雙方都準備后,游戲開始。信息顯示:顯示玩家落子的區(qū)域,以及玩家棋子的顏色。2.5.3 操作效果圖圖 2-10五子棋對戰(zhàn)效果圖2.5.4 流程圖圖 2-11五子棋對戰(zhàn)簡要流程圖3.詳細設計3.1登錄模塊3.1.1模

8、塊運行流程圖圖 3-1登錄界面詳細流程圖3.1.2登錄模塊功能分解表邏輯處理層:數據序號制審日表核期處理方法名類型處理說明判斷用戶名密碼是否為空Bool IsUserInfoNull(long lUserID,string pwd)判讀登錄是否成功Bool IsLoginSuccess(long lFlag)根據傳入標志lFlag,0表示登錄失敗,1表示登錄成功3.1.3登錄模塊與數據傳輸模塊公共接口3.2注冊模塊3.2.1模塊流程圖圖 3-2注冊界面詳細流程圖3.2.2注冊模塊功能分解表邏輯處理層:數據序號制審日表核期處理方法名類型處理說明判斷輸入信息是否有空Bool IsUserInfoN

9、ull(long id,string name,string pwd)判讀用戶昵稱格式是否正確Bool ChecNameFormat(string name)判斷用戶名里面是否有一些禁止用戶輸入的特殊標志判斷兩次輸入的密碼是否相同Bool CheckUserPwd(string pwdfst,string pwdsnd)判斷冊是否成功Bool IsRegisteSuccess(long lFlag)根據傳入標志lFlag,0表示注冊失敗,1表示注冊成功3.2.3注冊模塊與數據傳輸接口3.3用戶列表模塊3.3.1模塊運行流程圖圖 3-3用戶列表詳細流程圖3.3.2用戶列表模塊功能分解表邏輯處理層

10、:數據序號制審日表核期處理方法名類型處理說明判斷用戶是否空閑私有Bool CheckUserState(long id)根據id在本地用戶列表中查找對應的用戶狀態(tài),判斷是否空閑初始化成員列表私有Bool InitUserList(char* nameList)從nameList中根據間隔標志,提取出一個個用戶信息,插入用戶列表判斷對方是否同意對戰(zhàn)私有Bool CheckEnemyAnswer(bool bFlag)3.3.3用戶列表模塊與數據傳輸模塊接口3.4用戶對戰(zhàn)模塊3.4.1模塊運行流程圖圖 3-4對戰(zhàn)界面詳細流程圖3.4.2對戰(zhàn)模塊功能分解表邏輯處理層:數據序號制審日表核期處理方法名類

11、型處理說明初始化棋盤信息Bool InitMapInfo()將棋盤上的下子位置清0將屏幕坐標轉化成棋盤位置Void ScreenToMapPos(int& x,int& y)將傳入的屏幕的(x,y)坐標轉化成棋盤上的行,列值判斷當前位置是否可以下Bool CheckPosState(int row,int col)放置棋子Void SetGridPos(int row,int col,int color)根據row,col,將棋盤上該位置設置為顏色為color的棋子將對方上次落子位置清0Void InitEnemyLastPos()根據對方最后一步落子位置,將該位置的color

12、清03.4.3對戰(zhàn)模塊與數據傳輸模塊接口圖3.5數據傳輸模塊3.5.1模塊流程圖該傳輸流程既可以用戶于客戶端向服務器發(fā)送數據,也可以用于服務器向客戶端發(fā)送數據,圖 3-5服務器數據傳輸詳細流程圖3.5.2數據傳輸模塊功能分解表數據序號制審日表核期處理方法名類型處理說明組裝數據包Void CreateDataPackage(int nType,char* param,char* dataBuf)發(fā)送數據包Bool SendDataPackage( char* sendBuf)接受數據包Bool RecvDataPackage( char* recvBuf)解析數據包Bool AnalysisDa

13、taPackage( char* dataBuf,int& nType,char* param)3.5.3數據傳輸模塊對外提供接口3.6服務端數據處理模塊3.6.1模塊流程圖1(登錄,注冊,用戶列表信息處理模塊)圖 3-6服務器對登錄、注冊、列表數據處理詳細流程圖3.6.2服務端數據模塊功能分解表1數據序號制審日表核期處理方法名類型處理說明判端用戶是否存在Bool IsUserExist(long id)通過用戶的id在數據庫中檢索是否有該用戶的記錄將用戶信息插入數據表Bool IsertUserInfo(long id,string name,string pwd,)取得數據庫中所有

14、在線的用戶名Void GetUserList(char* buf)通過檢索數據庫,將用戶名序列以一定的格式存入buf中返回3.6.3服務端數據模塊與數據傳輸模塊接口13.6.4模塊流程圖2(對戰(zhàn)信息處理模塊)圖 3-7服務器對對戰(zhàn)數據處理詳細流程圖3.6.5服務端數據模塊功能分解表2數據序號制審日表核期處理方法名類型處理說明判斷雙方是否都準備好Bool IsPlayersReady()設置玩家下子位置Void PutDownGrid(int row,int col)更新數庫中玩家積分Bool UpdateUserScore(long id,int score)將對方上次落子位置清0Void I

15、nitEnemyLastPos()根據對方最后一步落子位置,將該位置的color清0初始化棋盤狀態(tài)Bool InitMapInfo()3.6.6服務端數據模塊與數據傳輸模塊接口23.7數據描述表序號名稱制表審核日期數據說明:Class CUserprivate: long m_lID; /表示玩家IDbool m_bColor;/表示玩家顏色bool m_bBusy;/表示用戶狀態(tài)Class CGridMapprivate: int m_nID; /表示棋盤編號bool m_bEmpty; /表示棋盤當前有無玩家int m_Grid1515;/表示一個15x15的棋盤int m_nlastRow;/表示棋盤上最后一次落子的行號int m_nlastCol;/表示棋盤上最后一次落子的列號數據項說明:Class CUser中bool m_bColor;為1時表示玩家為黑方,為0時表示玩家為白方bool m_bBusy; 為1時表示玩家處于對戰(zhàn)狀態(tài),為0時表示玩家處于空閑 狀

溫馨提示

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

評論

0/150

提交評論