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

正文內(nèi)容

五子棋游戲的設(shè)計與開發(fā)—計算機畢業(yè)設(shè)計(文件)

2025-12-20 05:45 上一頁面

下一頁面
 

【正文】 與 OSI 模型所分的層次有所不同。通訊則必須有服務(wù)器端 和客戶端。 struct sockaddr_in { short sin_family 。 } 就包含了需要建立連接的本地的地址,包括地址族, ip和端口信息; Winsock API 提供了幾個函數(shù),把主機字節(jié)轉(zhuǎn)化成網(wǎng)絡(luò)字節(jié)的函數(shù); u_long htonl( u_long hostlong )。 當綁定完成之后,服務(wù)器端必須建立一個監(jiān)聽的隊列來接收客戶端的連接請求。 當服務(wù)器端和客戶端建立連接以后,無論是客戶端 ,還是服務(wù)器端都可以使用: int send( SOCKET s , const char FAR* buf , int len , int flags )。再調(diào)用 int closesocket( SOCKET s) 來關(guān)閉套接字句柄。這個類基于程序員了解網(wǎng)絡(luò)通訊的假設(shè),目的是為了在MFC中使用 WinSock,程序員有責任處理諸如阻塞、字節(jié)順序和在 Unicode 與 MBCS 間轉(zhuǎn)換字符的任務(wù)。 //使用默認參數(shù)產(chǎn)生一個字節(jié)流套接字 ()。 第一種方法在棧上產(chǎn)生一個 CAsyncSocket 對象,而第二種方法在堆上產(chǎn)生CAsyncSocket 對象;第一種方法中 Create()成員函數(shù)用缺省參數(shù)產(chǎn)生一個字節(jié)流套接字,第二種方法中用 Create()成員函數(shù)在指定的端口產(chǎn)生一個數(shù)字報套接字。 2) socket 類型,可以是 SOCKSTREAM(默認值,字節(jié)流)或 SOCKDGRAM(數(shù)據(jù)報)。 調(diào)用其他的 CAsyncSocket 類的 Receive()、 ReceiveFrom()、 Send()和 SendTo()等成員函數(shù)進行數(shù)據(jù)通信。 Csocket 類和 CsocketFile 類可以與 Carchive 類一起合作來管理發(fā)送和接收的數(shù)據(jù),這使管理數(shù)據(jù)收發(fā)更加便利。 CSocket 對象提 供阻塞模式,因為阻塞功能對于 CArchive 的同步操作是至關(guān)重要的。但在 CSocket 類中,為了利用 CArchive 處理通訊中的許多問題和簡化編程,它的一些成員函數(shù)總是具有阻塞性質(zhì)的,這是因為 CArchive 類需要同步的操作。 使用這個對象的 Create()成員函數(shù)產(chǎn)生一個 socket 對象。 如果是客戶方套接字,則調(diào)用 CAsyncSocket ∷ Connect()函數(shù)與服務(wù)方套接字連接;如果是服務(wù)方套接字,則調(diào)用 CAsyncSocket∷ Listen()開始監(jiān)聽來自客戶方的連接請求,收到連接請求后,調(diào)用 CAsyncSocket∷ Accept()函數(shù)接受請求,建立連接。切記 CArchive 是不能和數(shù)據(jù)報套接字一起工作的。 MCI 可以在 C 語言中直接調(diào)用函數(shù)庫。 基于字符串多媒體控制接口的編程方式,通過向設(shè)備發(fā)送字符串實現(xiàn)對多媒體設(shè)備的控制。這種方式有三個核心函數(shù) MciSendCommand、 MciGetDeviceID、MciGetErrorString。 if(()==IDOK)//打開對話框 { strFileName=()。//打開文件 m_wDeviceID = 。//停止播放音樂 3 五子棋游戲(網(wǎng)絡(luò)版)研究方法 五子棋游戲(網(wǎng)絡(luò)版)需求分析 ? 五子棋游戲基本功能 該功能為程序設(shè)計的最基本的功能,程序有服務(wù)器端和客戶端。該功能是多媒體播放功能,在用戶游戲時候能隨意播放自己喜歡的音樂。 設(shè)想如下圖 31: 圖 31 五子棋設(shè)想圖 五子棋游戲(網(wǎng)絡(luò)版)研究思路 本畢業(yè)設(shè)計是利用 VC 這一集成開發(fā)工具,在 Windows 環(huán)境下開發(fā)一款休閑網(wǎng)絡(luò)游戲。 游戲規(guī)則模塊:負責游戲的控制和結(jié)果的判斷,使游戲按規(guī)則進行。當游戲運行,選擇了開啟服務(wù)器之后,即調(diào)用本類來初始一個 Socket 對象。這個對象是用來連接服務(wù)器,它連接上以后,就可以通過 他進行數(shù)據(jù)的交換。在游戲運行中,它保存著一個二維數(shù)組記錄當前棋盤的信息,它還負責判斷能否在某個位置下棋,是否有人贏棋。 CClientDlg 類:是游戲中客戶端設(shè)置的對話框類。 CSoundThread 類:是游戲中負責多媒體播放的線程類,主要負責音樂播放。并且在類成員函數(shù) Init(UINT port, CFiveChessView* dlg)中負責監(jiān)聽 SOCKET 和創(chuàng)建SOCKET。 m_view=view。 return FALSE。//調(diào)用視圖類中連接處理函數(shù) } 游戲連接 —— CClientSocket 類的實現(xiàn) 這是一個專門用做會話類,它負責數(shù)據(jù)的發(fā)送和接受。連接服務(wù)器所需參數(shù)通過對話框 獲得,如圖 44: 圖 44 客戶端設(shè)置圖 CClientSocket 類中需要數(shù)據(jù)串行化網(wǎng)絡(luò)數(shù)據(jù)。 do { CMessg temp。//刷新視圖,顯示對方的走子位置 if(m_view(m_viewm_who%2+1,m_viewm_winpos)) { m_viewm_bWin=TRUE。 } } } while (!m_aSessionInIsBufferEmpty())。 } else { //對方關(guān)閉了連 接 m_bClose=true。 CMessg類主要的成員變量: int m_turn。這 3個數(shù)據(jù)就是網(wǎng)絡(luò)要傳的數(shù)據(jù)。 ar m_y。 } } 下棋算法 —— Match 類的實現(xiàn) 這是一個規(guī)則類,它負責規(guī)則的處理。 Match 中類 LW 定為 19,表示有 19行 19列。算法執(zhí)行出來的結(jié)果,如圖 45: 圖 45 贏棋圖 五子棋的核心算法 IsWin 主要是判斷了水平、垂直、東南、東北四個方向是否有五子相連;它們判定條件可以表示為; 水平: chessboard[i][j+1]==whoamp。chessboard[i][j+3]==whoamp。chessboard[i+2][j]==whoamp。chessboard[i+4][j]==who 東南 : chessboard[i+1][j+1]==whoamp。chessboard[i+3][j+3]==whoamp。chessboard[i2][j+2]==whoamp。chessboard[i4][j+4]==who 作為說明,以水平方向判定 為例子; BOOL Match::IsWin(int who,int pos[5][2]) {int i,j。jLW。amp。k5。 } } //垂直,像水平方向那樣添加條件即可 //東南,像水平方向那樣添加條件即可 //東北,像水平方向那樣添加條件即可 } } return false。顯示主界面,如圖 46: 圖 46 主界面圖 首先游戲初始化當然包括 Winsock 的初始化,獲得本機的 IP 地址,以及相關(guān)的狀態(tài)變量的初始化。 ? 當選擇作為服務(wù)器端“開啟服務(wù)器”時,游戲創(chuàng)建一個 CServerDlg 類對話框,并由對話框獲得輸入的端口號信息,由于在游戲初始化時 Winsock 已經(jīng)初始化。//作為服務(wù)器 m_bIsInit=TRUE。 ProcessPendingAccept 函數(shù)實現(xiàn)如下: void CFiveChessView::ProcessPendingAccept() { if((m_ClientSocket)==FALSE)//分配一個會話 SOCKET { AfxMessageBox(Server Listen Socket Error)。//初試化會話 SOCKET AfxMessageBox(嘿嘿,有人進來挑戰(zhàn)了 )。//設(shè)置服務(wù)器 IP 和端口 if(ret==2020)//用戶確定 { m_bIsClient=TRUE。i4。//創(chuàng)建會話 SOCKET if((LPCSTR(m_ip),m_port))//連接到服務(wù)器 { (this)。 AfxMessageBox(很 抱歉哦!連接失敗,檢查你的網(wǎng)絡(luò)吧! )。 ()。 return。 //y ,繪圖坐標中的 x if(()%3015) m_POS[1]++。//輪到對方下棋 CMessg msg。 (amp。 Invalidate(FALSE)。 } 當用戶選擇菜單“音樂播放”時,音樂播放是新添加了一個播放線程控制播放。//線程的狀態(tài)改為運行 mythread=static_castCSoundThread*(AfxBeginThread(RUNTIME_CLASS(CSoundThread)))。 } } void CFiveChessView::OnStop() { // TODO: Add your mand handler code here if(mythread_running == true) { //關(guān)閉播放線程 mythread_running = false。 BOOL CSoundThread::InitInstance() { //音樂文件選擇對話框 CString strFileName。//變量取得文件路徑 } = (())。//取得播放設(shè)備 mciSendCommand(m_wDeviceID,MCI_PLAY,0,(DWORD)(LPVOID)amp。//停止播放音樂 AfxEndThread(wParam,lParam)。 case 2: AfxMessageBox(哥們!太陽快要下山了!看來對方可能睡覺去了! )。 正常下棋,從服務(wù)器開始輪流下如圖 51: 圖 51 五子棋游戲(網(wǎng)絡(luò)版)圖 當下棋結(jié)束贏或輸棋,都會用黃色標記贏棋的棋子, 關(guān)閉游戲時,程序會自動關(guān)閉 socket 連接, 并銷毀程序運行的子線程。 音樂停止在程序運行時,選擇“菜單” — “音樂播放” — “停止音樂”,即停止音樂。 當本機不該本機用戶下棋時響應(yīng),測試正常 結(jié) 論 本畢業(yè)設(shè)計是一款休閑五子棋游戲,離真正意義上的廣域網(wǎng)網(wǎng)絡(luò)游戲還要差距。 ? 游戲定時器僅僅是起到了超時提示的作用,游戲積分還沒有涉及。首先感謝本人的指導老師王祖儷 老師,她 在本人的畢業(yè)設(shè)計過程中提出了指導性的方案和架構(gòu),并指引本人閱讀相關(guān)的資料和書籍,使本人在不熟悉的領(lǐng)域中仍能迅速掌握新興的技術(shù)。 感謝本人的 代碼檢查老師 ,他們 在設(shè)計過 程中對 本人 的 設(shè)計 有很大的 督促和鼓舞,并使 本人 專業(yè) 的能力得到了進一步的加強。除非另有說明,本文的工作是原始性工作。 ( 4)學校可允許學位論文被查閱或借閱。 2. 計算機的分類 知識點應(yīng)該掌握: 三種分類方法( ① 計算機處理數(shù)據(jù)的方式: 電子數(shù)字計算機、電子模擬計算機 ; ② 使用范圍: 通用計算機和專用計算機 ; ③ 規(guī)模和處理能力: 巨型機、大小型機、小型機、微型機、工作站和服務(wù)器 )。 (數(shù)據(jù) — 指能夠為計算機處理的數(shù)字化信息、信息 — 處理后的數(shù)據(jù)、信息處理 — 對信息進行 收集、傳輸、處理、存儲、發(fā)布等;信息系統(tǒng) — 是以提供信息服務(wù)為主要目的數(shù)據(jù)密集型、人機交互的計算機應(yīng)用系統(tǒng) )。 A 第一代計算機的時代 B 第二代計算機的時代 C 第三代計算機的時代 D 第四代計算機的時代 ,可以分為( )。 A. 基本素材 B. 處理后的數(shù)據(jù) C. 數(shù)值數(shù)據(jù) D. 非數(shù)值數(shù)據(jù) ( ) A 辦公 自動化 B AutoCAD C 專家系統(tǒng) D 天氣預報 分析本節(jié)可知,應(yīng)主要從 6 個方面來熟悉和掌握 WINDOWS 涉及的要素。 ①文件 —— 文件是具有文件名的一組相關(guān)信息的集合,所有的程序和數(shù)據(jù)都是以文件的形式存放在計算機的外存儲器 (如:磁盤、光盤等 )上。 ②文件夾 —— Windows 使用多級目錄結(jié)構(gòu)來有效地組織和管理磁盤文件的目錄。每一個文件夾中允許同時存在若干個子文件夾和若干文件,不同文件夾中允許存在相同文件名的文件,任何一個文件夾的上一級文件稱 為它的父文件夾, ③邏輯盤 —— 常常將每塊硬盤(即硬盤實物)稱為物理盤,而將在硬盤分區(qū)之后所建立的具有 “C : ” 或 “D : ” 等各類 “Drive/ 驅(qū)動器 ” 稱為邏輯盤。這種確定文件在目錄結(jié)構(gòu)中位置的一組連續(xù)的、由路徑分隔 符“ \”分隔的文件夾名叫路徑。而從當前文件夾開始到文件所在文件夾的路徑稱為“相對路徑”。 ( 6) 熟練掌握 Windows 的剪貼板操作。 A 窗口是 WINDOWS XP 應(yīng)用程序的用戶界 面 B 桌面也是 WINDOWS XP 的一種窗口 C 用戶可以在屏幕上改變窗口的大小或移動窗口 D 窗口主要由邊框、標題欄、菜單欄、工作區(qū)、狀態(tài)欄、滾動條等組成 在 windows 中,不可以對開始菜單內(nèi)容進行變動的是( ) A、在控制面板中設(shè)置 B、在資源。 ① 將信息放入剪貼板 熱鍵
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1