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

正文內(nèi)容

五子棋游戲的設(shè)計與開發(fā)—免費(完整版)

2025-01-24 10:22上一頁面

下一頁面
  

【正文】 . 14 五子棋游戲(網(wǎng)絡(luò)版)流程 .......................................................................... 14 五子棋游戲(網(wǎng)絡(luò)版)功能設(shè)計方案 ............................................................ 14 主要類介紹 ........................................................................................ 14 主要類的工作示意圖 .......................................................................... 15 五 子棋游戲?qū)崿F(xiàn) ............................................................................................ 15 游戲連接 —— CServerSocket類的實現(xiàn) ............................................... 15 游戲連接 —— CClientSocket類的實現(xiàn) ............................................... 17 網(wǎng)絡(luò)信息 —— CMessg類的實現(xiàn) ........................................................... 19 下棋算法 —— Match 類的實現(xiàn) ............................................................. 19 主界面 —— CFiveChessView類的實現(xiàn) ................................................. 21 多媒體 —— CSoundThread類的實現(xiàn) .................................................... 27 定時器的實現(xiàn) ..................................................................................... 28 5 游戲測試 ................................................................................................................. 29 五子棋下棋功能測試 ..................................................................................... 29 音樂播放測試 ............................................................................................... 30 定時器以及其他響應(yīng)測試 .............................................................................. 30 結(jié) 論 ........................................................................................................................ 30 參考文獻(xiàn) ........................................................................................................................ 30 致 謝 ........................................................................................................................ 31 聲 明 ........................................................................................................................ 32 1 引言 網(wǎng)絡(luò)游戲背景 中國民族原創(chuàng)網(wǎng)絡(luò)游戲為中國網(wǎng)絡(luò)游戲產(chǎn)業(yè)所做出了巨大貢獻(xiàn),民族原創(chuàng)網(wǎng)絡(luò)游戲已經(jīng)成為產(chǎn)業(yè)發(fā)展的主導(dǎo)力量。 Visual C++不僅是 C++語言的集成開發(fā)環(huán)境,而且與 Win32 緊密相連,所以,利用 Visual C++可以完成各種各樣的應(yīng)用程序的開發(fā),從底層軟件直到上層直接面向用戶的軟件。國際標(biāo)準(zhǔn)組織(國際標(biāo)準(zhǔn)化組織)制定了 OSI 模型。 TCP/IP 也是一個分層的網(wǎng)絡(luò)協(xié)議,不過它與 OSI 模型所分的層次有所不同。 struct sockaddr_in { short sin_family 。 當(dāng)綁定完成之后,服務(wù)器端必須建立一個監(jiān)聽的隊列來接收客戶端的連接請求。再調(diào)用 int closesocket( SOCKET s) 來關(guān)閉套接字句柄。 //使用默認(rèn)參數(shù)產(chǎn)生一個字節(jié)流套接字 ()。 2) socket 類型,可以是 SOCKSTREAM(默認(rèn)值,字節(jié)流)或 SOCKDGRAM(數(shù)據(jù)報)。 Csocket 類和 CsocketFile 類可以與 Carchive 類一起合作來管理發(fā)送和接收的數(shù)據(jù),這使管理數(shù)據(jù)收發(fā)更加便利。但在 CSocket 類中,為了利用 CArchive 處理通訊中的許多問題和簡化編程,它的一些成員函數(shù)總是具有阻塞性質(zhì)的,這是因為 CArchive 類需要同步的操作。 如果是客戶方套接字,則調(diào)用 CAsyncSocket ∷ Connect()函數(shù)與服務(wù)方套接字連接;如果是服務(wù)方套接字,則調(diào)用 CAsyncSocket∷ Listen()開始監(jiān)聽來自客戶方的連接請求,收到連接請求后,調(diào)用 CAsyncSocket∷ Accept()函數(shù)接受請求,建立連接。 MCI 可以在 C 語言中直接調(diào)用函數(shù)庫。這種方式有三個核心函數(shù) MciSendCommand、 MciGetDeviceID、MciGetErrorString。//打開文件 m_wDeviceID = 。該功能是多媒體播放功能,在用戶游戲時候能隨意播放自己喜歡的音樂。 游戲規(guī)則模塊:負(fù)責(zé)游戲的控制和結(jié)果的判斷,使游戲按規(guī)則進(jìn)行。這個對象是用來連接服務(wù)器,它連接上以后,就可以通過 他進(jìn)行數(shù)據(jù)的交換。 CClientDlg 類:是游戲中客戶端設(shè)置的對話框類。并且在類成員函數(shù) Init(UINT port, CFiveChessView* dlg)中負(fù)責(zé)監(jiān)聽 SOCKET 和創(chuàng)建SOCKET。 return FALSE。連接服務(wù)器所需參數(shù)通過對話框 獲得,如圖 44: 圖 44 客戶端設(shè)置圖 CClientSocket 類中需要數(shù)據(jù)串行化網(wǎng)絡(luò)數(shù)據(jù)。//刷新視圖,顯示對方的走子位置 if(m_view(m_viewm_who%2+1,m_viewm_winpos)) { m_viewm_bWin=TRUE。 } else { //對方關(guān)閉了連 接 m_bClose=true。這 3個數(shù)據(jù)就是網(wǎng)絡(luò)要傳的數(shù)據(jù)。 } } 下棋算法 —— Match 類的實現(xiàn) 這是一個規(guī)則類,它負(fù)責(zé)規(guī)則的處理。算法執(zhí)行出來的結(jié)果,如圖 45: 圖 45 贏棋圖 五子棋的核心算法 IsWin 主要是判斷了水平、垂直、東南、東北四個方向是否有五子相連;它們判定條件可以表示為; 水平: chessboard[i][j+1]==whoamp。chessboard[i+2][j]==whoamp。chessboard[i+3][j+3]==whoamp。chessboard[i4][j+4]==who 作為說明,以水平方向判定 為例子; BOOL Match::IsWin(int who,int pos[5][2]) {int i,j。amp。 } } //垂直,像水平方向那樣添加條件即可 //東南,像水平方向那樣添加條件即可 //東北,像水平方向那樣添加條件即可 } } return false。 ? 當(dāng)選擇作為服務(wù)器端“開啟服務(wù)器”時,游戲創(chuàng)建一個 CServerDlg 類對話框,并由對話框獲得輸入的端口號信息,由于在游戲初始化時 Winsock 已經(jīng)初始化。 ProcessPendingAccept 函數(shù)實現(xiàn)如下: void CFiveChessView::ProcessPendingAccept() { if((m_ClientSocket)==FALSE)//分配一個會話 SOCKET { AfxMessageBox(Server Listen Socket Error)。//設(shè)置服務(wù)器 IP 和端口 if(ret==2021)//用戶確定 { m_bIsClient=TRUE。//創(chuàng)建會話 SOCKET if((LPCSTR(m_ip),m_port))//連接到服務(wù)器 { (this)。 ()。 //y ,繪圖坐標(biāo)中的 x if(()%3015) m_POS[1]++。 (amp。 } 當(dāng)用戶選擇菜單“音樂播放”時,音樂播放是新添加了一個播放線程控制播放。 } } void CFiveChessView::OnStop() { // TODO: Add your mand handler code here if(mythread_running == true) { //關(guān)閉播放線程 mythread_running = false。//變量取得文件路徑 } = (())。//停止播放音樂 AfxEndThread(wParam,lParam)。 正常下棋,從服務(wù)器開始輪流下如圖 51: 圖 51 五子棋游戲(網(wǎng)絡(luò)版)圖 當(dāng)下棋結(jié)束贏或輸棋,都會用黃色標(biāo)記贏棋的棋子, 關(guān)閉游戲時,程序會自動關(guān)閉 socket 連接, 并銷毀程序運行的子線程。 當(dāng)本機不該本機用戶下棋時響應(yīng),測試正常 結(jié) 論 本畢業(yè)設(shè)計是一款休閑五子棋游戲,離真正意義上的廣域網(wǎng)網(wǎng)絡(luò)游戲還要差距。首先感謝本人的指導(dǎo)老師王祖儷 老師,她 在本人的畢業(yè)設(shè)計過程中提出了指導(dǎo)性的方案和架構(gòu),并指引本人閱讀相關(guān)的資料和書籍,使本人在不熟悉的領(lǐng)域中仍能迅速掌握新興的技術(shù)。除非另有說明,本文的工作是原始性工作。 shops, hoping for powder and the return of the royal bird, were besmeared with azure and decked with fleursdelys. It was the candid time at which Count Lynch sat every Sunday as churchwarden in the churchwarden39。 Potier reigned。 both of them had celebrated, on the 14th of July, 1790, the mass of federation in the Champ de Mars。Angouleme . Hence his peerage. In 1817 fashion swallowed up little boys of from four to six years of age in vast caps of morocco leather with eartabs resembling Esquimaux French army was dressed in white, after the mode of the Austrian。 ( 2)學(xué)??梢圆?用影印、縮印或其他復(fù)制方式保存學(xué)位論文。 感謝答辯小組對本畢業(yè)設(shè)計的考核,如果可以得到專家的認(rèn)可將對本人的學(xué)習(xí)和工作給予極大的鼓勵。在設(shè)計中確實遇到了不少的困難,但是通過調(diào)試已經(jīng)解決了絕大多數(shù)問題。 音樂播放測試 音樂播放在程序運行時,選擇“菜單” — “音樂播放” — “播放文件”,即可聽見音樂。定時器工作,如圖 48: 圖 48 己方超時下棋提示圖 void CFiveChessView::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default switch(nIDEvent) { case 1: AfxMessageBox(哥們!再不下棋,太陽就要下山了! )。mciOpen)。//發(fā)送//一個關(guān)閉播放線程的消息 } } 多媒體
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1