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

正文內(nèi)容

五子棋游戲的設(shè)計(jì)與開(kāi)發(fā)—免費(fèi)(參考版)

2024-12-11 10:22本頁(yè)面
  

【正文】 s platform in the Champ de were blackened here and there with the scor ches of the bivouac of Austr ians encamped near GrosCaillou. Two or three of these columns had disappeared in these bivouac fires, and had warmed the large hands of the Imperial troops. The Field of May had this remarkable point: that it had been held in the month of June and in the Field of March (Mars). In this year, 1817, two things were popular: the VoltaireTouquet and the snuffbox a la most recent Parisian sensation was the crime of Dautun, who had thrown his brother39。 both of them had celebrated, on the 14th of July, 1790, the mass of federation in the Champ de Mars。 Potier reigned。 and since England refused him green cloth, he was having his old coats 1817 Pelligrini sang。 instead of numbers they bore the names of departments。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。 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。 除非另有科研合同和其他法律文書(shū)的制約,本論文的科研成果屬于成都信息工程學(xué)院。 ( 4)學(xué)??稍试S學(xué)位論文被查閱或借閱。 ( 2)學(xué)??梢圆?用影印、縮印或其他復(fù)制方式保存學(xué)位論文。除非另有說(shuō)明,本文的工作是原始性工作。 作者簡(jiǎn)介: 姓 名:彭朝仿 性別:男 出生年月: 19840825 民族:漢 Email: 聲 明 本論文的工作是 2021 年 2 月至 2021 年 6 月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。 感謝本人的 代碼檢查老師 ,他們 在設(shè)計(jì)過(guò) 程中對(duì) 本人 的 設(shè)計(jì) 有很大的 督促和鼓舞,并使 本人 專(zhuān)業(yè) 的能力得到了進(jìn)一步的加強(qiáng)。 感謝答辯小組對(duì)本畢業(yè)設(shè)計(jì)的考核,如果可以得到專(zhuān)家的認(rèn)可將對(duì)本人的學(xué)習(xí)和工作給予極大的鼓勵(lì)。首先感謝本人的指導(dǎo)老師王祖儷 老師,她 在本人的畢業(yè)設(shè)計(jì)過(guò)程中提出了指導(dǎo)性的方案和架構(gòu),并指引本人閱讀相關(guān)的資料和書(shū)籍,使本人在不熟悉的領(lǐng)域中仍能迅速掌握新興的技術(shù)。 這款游戲可以繼續(xù)完善菜單功能也可以通過(guò)擴(kuò)展實(shí)現(xiàn)成一款圍棋游戲,總之它可以繼續(xù)發(fā)展成一個(gè)比較成熟的休閑類(lèi)小游戲。 ? 游戲定時(shí)器僅僅是起到了超時(shí)提示的作用,游戲積分還沒(méi)有涉及。在設(shè)計(jì)中確實(shí)遇到了不少的困難,但是通過(guò)調(diào)試已經(jīng)解決了絕大多數(shù)問(wèn)題。 當(dāng)本機(jī)不該本機(jī)用戶下棋時(shí)響應(yīng),測(cè)試正常 結(jié) 論 本畢業(yè)設(shè)計(jì)是一款休閑五子棋游戲,離真正意義上的廣域網(wǎng)網(wǎng)絡(luò)游戲還要差距。 定時(shí)器以及其他響應(yīng)測(cè)試 當(dāng)用戶長(zhǎng)時(shí)間不下棋或者對(duì)方長(zhǎng)時(shí)間沒(méi)有響應(yīng),游戲定時(shí)器就會(huì)觸發(fā)響應(yīng)的提示。 音樂(lè)停止在程序運(yùn)行時(shí),選擇“菜單” — “音樂(lè)播放” — “停止音樂(lè)”,即停止音樂(lè)。 音樂(lè)播放測(cè)試 音樂(lè)播放在程序運(yùn)行時(shí),選擇“菜單” — “音樂(lè)播放” — “播放文件”,即可聽(tīng)見(jiàn)音樂(lè)。 正常下棋,從服務(wù)器開(kāi)始輪流下如圖 51: 圖 51 五子棋游戲(網(wǎng)絡(luò)版)圖 當(dāng)下棋結(jié)束贏或輸棋,都會(huì)用黃色標(biāo)記贏棋的棋子, 關(guān)閉游戲時(shí),程序會(huì)自動(dòng)關(guān)閉 socket 連接, 并銷(xiāo)毀程序運(yùn)行的子線程。 } CView::OnTimer(nIDEvent)。 case 2: AfxMessageBox(哥們!太陽(yáng)快要下山了!看來(lái)對(duì)方可能睡覺(jué)去了! )。定時(shí)器工作,如圖 48: 圖 48 己方超時(shí)下棋提示圖 void CFiveChessView::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default switch(nIDEvent) { case 1: AfxMessageBox(哥們!再不下棋,太陽(yáng)就要下山了! )。//停止播放音樂(lè) AfxEndThread(wParam,lParam)。// 播放音樂(lè) return TRUE。//取得播放設(shè)備 mciSendCommand(m_wDeviceID,MCI_PLAY,0,(DWORD)(LPVOID)amp。mciOpen)。//變量取得文件路徑 } = (())。 CFileDialog file(TRUE,OFN_FILEMUSTEXIST,(LPCTSTR)sFilter)。 BOOL CSoundThread::InitInstance() { //音樂(lè)文件選擇對(duì)話框 CString strFileName。//發(fā)送//一個(gè)關(guān)閉播放線程的消息 } } 多媒體 —— CSoundThread 類(lèi)的實(shí)現(xiàn) CSoundThread 是一個(gè)多線程類(lèi),它負(fù)責(zé)控制多媒體的播放與停止,還要負(fù)責(zé)線程的關(guān)閉工作。 } } void CFiveChessView::OnStop() { // TODO: Add your mand handler code here if(mythread_running == true) { //關(guān)閉播放線程 mythread_running = false。 //關(guān)閉上一次打開(kāi)的線程 mythread_running = true。//線程的狀態(tài)改為運(yùn)行 mythread=static_castCSoundThread*(AfxBeginThread(RUNTIME_CLASS(CSoundThread)))。停止播放是成員函數(shù) OnStop。 } 當(dāng)用戶選擇菜單“音樂(lè)播放”時(shí),音樂(lè)播放是新添加了一個(gè)播放線程控制播放。 } } } else { AfxMessageBox(不要急嘛,別人還沒(méi)有走了! )。 Invalidate(FALSE)。//發(fā)送下子的位置 //判斷是否贏 if((m_who,m_winpos)) { m_bWin=TRUE。 (amp。 =m_POS[0]。//輪到對(duì)方下棋 CMessg msg。} //這個(gè)位置是否可以下 if((m_POS[0],m_POS[1],m_who)==TRUE) { Invalidate(FALSE)。 //y ,繪圖坐標(biāo)中的 x if(()%3015) m_POS[1]++。 //x ,繪圖坐標(biāo)中的 y if(()%3015) m_POS[0]++。 return。 m_bOver=FALSE。 ()。 m_bIsInit=FALSE。 AfxMessageBox(很 抱歉哦!連接失敗,檢查你的網(wǎng)絡(luò)吧! )。 //客戶端用白子 AfxMessageBox(成功的連接到了服務(wù)器 ,可以開(kāi)始游戲哈! )。//創(chuàng)建會(huì)話 SOCKET if((LPCSTR(m_ip),m_port))//連接到服務(wù)器 { (this)。 (%d.%d.%d.%d,[0],[1],[2],[3])。i4。 m_port=。//設(shè)置服務(wù)器 IP 和端口 if(ret==2021)//用戶確定 { m_bIsClient=TRUE。游戲設(shè)計(jì)中具體響應(yīng)函數(shù) OnSetclient 如下: void CFiveChessView::OnSetclient() { // TODO: Add your mand handler code here CClientDlg dlg。//初試化會(huì)話 SOCKET AfxMessageBox(嘿嘿,有人進(jìn)來(lái)挑戰(zhàn)了 )。 } else { m_who=1。 ProcessPendingAccept 函數(shù)實(shí)現(xiàn)如下: void CFiveChessView::ProcessPendingAccept() { if((m_ClientSocket)==FALSE)//分配一個(gè)會(huì)話 SOCKET { AfxMessageBox(Server Listen Socket Error)。//得到輸入端口號(hào) (m_port,this)。//作為服務(wù)器 m_bIsInit=TRUE。程序功能實(shí)現(xiàn)如下: void CFiveChessView::OnSetserver() { CServerDlg dlg。 ? 當(dāng)選擇作為服務(wù)器端“開(kāi)啟服務(wù)器”時(shí),游戲創(chuàng)建一個(gè) CServerDlg 類(lèi)對(duì)話框,并由對(duì)話框獲得輸入的端口號(hào)信息,由于在游戲初始化時(shí) Winsock 已經(jīng)初始化。這是因?yàn)槌跏贾恍枰{(diào)用一次。顯示主界面,如圖 46: 圖 46 主界面圖 首先游戲初始化當(dāng)然包括 Winsock 的初始化,獲得本機(jī)的 IP 地址,以及相關(guān)的狀態(tài)變量的初始化。 CFiveChessView 類(lèi)也是本程序中相當(dāng)重要的一個(gè)類(lèi)。 } } //垂直,像水平方向那樣添加條件即可 //東南,像水平方向那樣添加條件即可 //東北,像水平方向那樣添加條件即可 } } return false。 pos[k][1]=j+k。k5。amp。amp。amp。jLW。iLW。chessboard[i4][j+4]==who 作為說(shuō)明,以水平方向判定 為例子; BOOL Match::IsWin(int who,int pos[5][2]) {int i,j。chessboard[i3][j+3]==whoamp。chessboard[i2][j+2]==whoamp。chessboard[i+4][j+4]==who 東北 : chessboard[i1][j+1]==whoamp。chessboard[i+3][j+3]==whoamp。chessboard[i+2][j+2]==whoamp。chessboard[i+4][j]==who 東南 : chessboard[i+1][j+1]==whoamp。chessboard[i+3][j]==whoamp。chessboard[i+2][j]==whoamp。chessboard[i][j+4]==who 垂直 : chessboard[i+1][j]==whoamp。chessboard[i][j+3]==whoamp。chessboard[i][j+2]==whoamp。算法執(zhí)行出來(lái)的結(jié)果,如圖 45: 圖 45 贏棋圖 五子棋的核心算法 IsWin 主要是判斷了水平、垂直、東南、東北四個(gè)方向是否有五子相連;它們判定條件可以表示為; 水平: chessboard[i][j+1]==whoamp。并且有一個(gè)判斷是否贏的成員函數(shù) IsWin(int who,int pos[5][2]);其中 pos[5][2]為記錄贏的關(guān)鍵棋子。 Match 中類(lèi) LW 定為 19,表示有 19行 19列。如果數(shù)組元素為 0,則表示沒(méi)有棋子;如果為 1,則表示有黑子,如果為 2,則為白子。 } } 下棋算法 —— Match 類(lèi)的實(shí)現(xiàn) 這是一個(gè)規(guī)則
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1