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

正文內(nèi)容

計(jì)算機(jī)五子棋游戲?qū)南到y(tǒng)設(shè)計(jì)-資料下載頁

2025-11-25 01:17本頁面

【導(dǎo)讀】人工智能是一門正在迅速發(fā)展的新興的綜合性很強(qiáng)的邊緣科學(xué)。程、空間技術(shù)一起被并列為二十一世紀(jì)三大尖端技術(shù)。它的中心任務(wù)是研究如何使。計(jì)算機(jī)去做那些過去只能靠人的智力才能做的工作。目前,各發(fā)達(dá)國家都把人工智。能任務(wù)重點(diǎn)列入本國的高科技發(fā)展計(jì)劃當(dāng)中,投入巨大的人力和物力。它的研究為人工智能帶來了很多重要的方法和理論,產(chǎn)生了廣泛的社。會(huì)影響和學(xué)術(shù)影響[14]。本文以計(jì)算機(jī)五子棋博弈系統(tǒng)作為研究課題。主要是考慮到當(dāng)前網(wǎng)絡(luò)上流傳的。棋譜和背景音樂等極有用的附加功能,所以不能吸引玩家興趣?,F(xiàn)在每一款成功的

  

【正文】 析模式下,輸入框也會(huì)檢查用戶輸入數(shù)字的合法性,并彈出圖 。 播放列表對(duì)話框 播放 列表(如圖 )主要用于對(duì)背景音樂的快捷管理 [18]。上面的四個(gè)和下面左邊第一個(gè)按鈕是只是簡單的調(diào)用前面 音樂頁面的 相應(yīng)按鈕函數(shù)罷了。下面中間兩個(gè)分別是清空列表和顯示 /隱藏主面板。這個(gè)播放列表可以像 那樣自動(dòng)隱藏到屏幕上端(如果它被拖放到屏幕邊緣)。如果連續(xù)點(diǎn)擊“ ↑” 按鈕兩次 , 播放列表就會(huì)立即自動(dòng)隱藏到屏幕上端了。右邊的“ +”按鈕是用來添加或搜索磁盤音樂文件的,當(dāng) 然搜索是不能用主線程來完成的,否則在程序搜索的時(shí)間內(nèi),用戶只能等待了。所以程序用多線程解決了這個(gè)問題?!?+”之下的按鈕用來保存 /打開播放列表文件 ( FPL格式)。 這個(gè)對(duì)話框當(dāng)然 也 少不了支持拖放功能 的 ,而且支持更加強(qiáng)大的拖放功能。不僅能拖放一個(gè)多個(gè)文件到播放列表,而且還能播放一個(gè)多個(gè)文件夾。甚至是多個(gè)快捷方式也是支持的 [20]。 圖 播放列表對(duì)話框 設(shè)置對(duì)話框 現(xiàn)在每一款 軟 件都有“設(shè)置”對(duì)話框。 自然 智能 五子棋也少不了了(如圖 )。 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 22 頁 “防沉迷 3h”的意思是:如果用戶連續(xù)玩 智能 五子棋三小時(shí)而沒有關(guān)閉軟件,軟件會(huì)自動(dòng)彈出對(duì)話框,提示用戶該休息一會(huì)兒了;然后軟件進(jìn)入自鎖狀態(tài),不接受用戶的任何請(qǐng)求,除非用戶將其關(guān)閉或五分鐘 讓 它自動(dòng)激活自 己。老板 鍵 也是游戲必備之 功能。它能快速地隱藏和顯示程序主界面。在 該“設(shè)置”對(duì)話框里,幾乎所有的選項(xiàng) 都對(duì)應(yīng)著一個(gè)注冊表項(xiàng)值,當(dāng)用戶退出程序后,程序會(huì)自動(dòng)調(diào)用類的析構(gòu)函數(shù)將用戶最后一次設(shè)置寫入注冊表,以保證程序下一次啟動(dòng)時(shí),能夠讀出注冊表值將軟件設(shè)置為和上次一致。 圖 設(shè)置對(duì)話框 其它 UI 元素 “關(guān)于”對(duì)話框唯一值得一提的地方是它退出時(shí) 是 動(dòng)畫效果 ( 它不是立即消失,而是“淡出”效果 ) 。 “更改玩家名字”對(duì)話框可以動(dòng)態(tài)地改變玩家名字,如果 是聯(lián)機(jī)狀態(tài),同時(shí)通知對(duì)手將自己的名字顯示為最新。 最后提一下程序的一個(gè)重要菜單 (如圖 )。 “ 整點(diǎn)報(bào)時(shí)”是模仿的“雪狐桌面精靈”,報(bào)時(shí)所用的 WAV 文件是從該軟件里 拷貝 過來的。 “總在最前端”將 智能 五子棋主界面置為 Topmost Window。 “只運(yùn)行一個(gè) Five” 可以保證在同一時(shí)刻,系統(tǒng)只允許一個(gè) 智能 五子棋的實(shí)例 圖 重要菜單 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 23 頁 5 聯(lián)機(jī)功能的實(shí)現(xiàn) Windows 系統(tǒng)擁有自己的消息機(jī)制,在不同事件發(fā)生的時(shí)候,系統(tǒng)可以提供不同的響應(yīng)方式。 智能 五子棋程序也模仿 Windows 系統(tǒng)實(shí)現(xiàn)了自己的 消息機(jī)制,主要為網(wǎng)絡(luò)對(duì)弈服務(wù),以響應(yīng)多種多樣的網(wǎng)絡(luò)消息( 如 圖 )。 消息機(jī)制的架構(gòu) 當(dāng)繼承自 CAsyncSocket 的套接字類 CFiveSocket 收到消息時(shí),會(huì)觸發(fā)CFiveSocket::OnReceive 事件,這個(gè)事件里調(diào)用 CChessBoard::Receive, 該函數(shù)開始按照自定義的消息格式接收套接字發(fā)送的數(shù)據(jù),并對(duì)不同的消息類型進(jìn)行分發(fā)處理 [3]。 圖 自定義的消息機(jī)制 如上圖 所示,當(dāng) CChessBoard 獲得了來自網(wǎng)絡(luò)的消息之后,就可以使用一個(gè) switch 結(jié)構(gòu)來進(jìn)行消息的分發(fā)了。 各種消息說明 網(wǎng)絡(luò)間傳遞的消息,都遵循以下一個(gè)結(jié)構(gòu)體的形式: 網(wǎng)絡(luò)數(shù)據(jù) CFiveSocket CFiveSocket::OnReceive CChessBoard::Receive 對(duì)各種消息分發(fā)處理 調(diào)用 CFiveSocket::Send 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 24 頁 // 摘自 typedef struct _tagFiveMsg { // 消息 ID USHORT uID。 // 落子坐標(biāo) STONEPOS stonePos。 // 消息正文 TCHAR szText[128]。 } FIVEMSG。 隨著 uID 表示 消息 ID, stonePos(有 x,y 兩個(gè)成員 )表示落子坐標(biāo) , szText 隨著 uID 的不同而有不同的含義。 落子消息 —— FM_PUTSTONE 表明對(duì)方落下了一個(gè)棋子,其中 uID、 、 , szText成員無效。注意:對(duì)方棋子顏色無需傳送,因?yàn)槌绦蛞?guī)則是執(zhí)黑者先行,以后每下一局,雙方交換先后手和棋子顏色。 請(qǐng)求悔棋消息 —— FM_REQUEST_BACK 表明對(duì)方請(qǐng)求悔棋,除 uID 成員外其余成員皆無效。接到 這個(gè)消息后,會(huì)彈出MessageBox 詢問是否接受對(duì)方的請(qǐng)求(如圖 所示),并根據(jù)玩家的選擇回返FM_AGREE_BACK 或 FM_REFUSE_BACK 消息。另外,在發(fā)送這個(gè)消息之后,主界面上的某些元素將暫時(shí)不響應(yīng)用戶的操作。 圖 請(qǐng)求悔棋 同意悔棋消息 —— FM_AGREE_BACK 表明對(duì)方接受了玩家的悔棋請(qǐng)求,除 uID 成員外其余成員皆無效。接到這個(gè)消息后,將進(jìn)行正常的悔棋操作。 拒絕悔棋消息 —— FM_REFUSE_BACK 表明對(duì)方拒絕了玩家的悔棋請(qǐng)求(如圖 所 示),除 uID 成員外其余成員皆無效。接到這個(gè)消息后,整個(gè)界面將恢復(fù)發(fā)送悔棋請(qǐng)求前的狀態(tài)。 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 25 頁 圖 拒絕悔棋 請(qǐng)求和棋消息 —— FM_REQUEST_DRAW 表明對(duì)方請(qǐng)求和棋,除 uID 成員外其余成員皆無效。接到這個(gè)消息后,會(huì)彈出MessageBox 詢問是否接受對(duì)方的請(qǐng)求(如圖 所示),并根據(jù)玩家的選擇回返FM_AGREE_DRAW 或 FM_REFUSE_DRAW 消息。另外,在發(fā)送這個(gè)消息之后,主界面上的某些元素將暫時(shí)不響應(yīng)用戶的操作。 圖 請(qǐng)求和棋 同意和棋消息 —— FM_AGREE_DRAW 表明對(duì)方接受了玩家的和棋請(qǐng)求(如圖 所示),除 uID 成員外其余成員皆無效。接到這個(gè)消息后,雙方和棋。如果用戶設(shè)置了“聲音提示”,雙方系統(tǒng)會(huì)播放和棋音樂。 圖 同意和棋 拒絕和棋消息 —— FM_REFUSE_DRAW 表明對(duì)方拒絕了玩家的和棋請(qǐng)求(如圖 所示),除 uID 成員外其余成員皆無效。接到這個(gè)消息后,整個(gè)界面將恢復(fù)發(fā)送和棋請(qǐng)求前的狀態(tài)。 圖 拒絕和棋 認(rèn)輸消息 —— FM_GIVEUP 表明對(duì)方已經(jīng)投子認(rèn)輸(如圖 和 所示),除 uID 成員外其余成員皆無效。接到這個(gè)消息后,整個(gè)界面將轉(zhuǎn)換為勝利后的狀態(tài)。如果用戶了“聲音提示”,系統(tǒng)為勝利方播放贏棋音樂,為 認(rèn)輸方 播放輸棋音樂。 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 26 頁 圖 黑方認(rèn)輸 圖 白方認(rèn)輸 請(qǐng)求再玩一局消息 —— FM_REQUEST_REPLAY 表明對(duì)方希望開始一局新的棋局,除 uID 成員外其余成員皆無效。接到這個(gè)消息后,會(huì)彈出 MessageBox 詢問是否接受對(duì)方的請(qǐng)求(如圖 所示),并根據(jù)玩家的選擇回返 FM_AGREE_REPLAY消息 或直接斷開網(wǎng)絡(luò),如果某一方斷開了網(wǎng)絡(luò) 連接 ,對(duì)方的主界面 上 提示如圖 所示 。 圖 再次開局 圖 對(duì)方離開 同意再玩一局消息 —— FM_AGREE_REPLAY 表明對(duì)方同意了再次 戰(zhàn)一局 的請(qǐng)求,除 uID 成員外其余成員皆無效。接到這個(gè)消息后,將開啟一局新游戲。 編輯框聊天消息 —— FM_EDIT_CHAT 表明對(duì)方在組合框的編輯框輸入一條聊天信息并發(fā)送, szText 表示對(duì)方的輸入的信息內(nèi)容, stonePos 成員無效。接到這個(gè)信息后,會(huì)將對(duì)方聊天的內(nèi)容顯示在主對(duì)話框的聊天記錄窗口內(nèi)。 列表框聊天消息 —— FM_LIST_CHAT 表明對(duì)方在組合框的列表框選擇并發(fā)送了一條信息, szText[0]記錄對(duì)方選擇了列表框的第幾項(xiàng), szText[1]記錄對(duì)方是否開啟了語音發(fā)送( 0 表示沒有開啟, 1表示開啟), stonePos 成員無效。接到這個(gè)信息后,會(huì)將對(duì)方選擇了列表框某項(xiàng)文本內(nèi)容顯示在主對(duì)話框的聊天記錄窗口內(nèi),同時(shí)如果 szText[1]為 1,系統(tǒng)將用聲音讀出該文本的內(nèi)容,這里所用到的聲音 WAV 文件是從 游戲 的斗地主目錄里 拷貝 過來的。 對(duì)方姓名消息 —— FM_NAME_INFO 用來獲取對(duì)方玩家的姓名, szText 表示對(duì)方的姓名, stonePos 成員無效。在開始游戲的時(shí)候,由客戶端向服務(wù)端發(fā)送這條消息,服務(wù)端接到后設(shè)置對(duì)方的姓名, 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 27 頁 并將自己的姓名同樣用這條消息回發(fā)給客戶端;同時(shí)如果某一方在游戲進(jìn)行過程中改變了自己的名字,也會(huì)即時(shí)發(fā)送該消息給對(duì)手,讓其在主界面上做出相應(yīng)修改。 服務(wù)端忙消息 —— FM_SERVER_BUSY 表明服務(wù)端現(xiàn)在正處于連接之中,不能接受連 接請(qǐng)求。因?yàn)槲遄悠迨嵌擞螒?,所以服?wù)端同時(shí)只能和一位玩家連接。服務(wù)用一個(gè)臨時(shí)的 CFiveSocket 對(duì)象和請(qǐng)求連接者建立暫時(shí)連接,并發(fā)送 FM_SERVER_BUSY 給連接者,然后馬上斷開連接。連接者收到 FM_SERVER_BUSY 消息后,在主界面提示如圖 所示。 圖 服務(wù)端忙 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 28 頁 6 總結(jié)和展望 總結(jié) 本文 論述了五子棋程序“ 智能 五子棋”的設(shè)計(jì)與實(shí)現(xiàn)的方法與原理。通過個(gè)人較長時(shí)間對(duì)軟件的測試來看,運(yùn)行效果還是不錯(cuò)的 ,基本上達(dá)到了自己預(yù)定的許多目標(biāo)。通過這次畢業(yè)設(shè)計(jì),全面回顧了大學(xué)四年里學(xué) 習(xí)的核心專業(yè)知識(shí),特別是對(duì)VC 開發(fā)工具更加熟悉了;對(duì) C++語言和面向?qū)ο缶幊逃辛烁由羁痰睦斫?;?duì)計(jì)算機(jī)博弈技術(shù)也略知一二。 我知道這一切只要自己程序員時(shí)代的起點(diǎn),我希望以后做得越來越好,寫出更多優(yōu)秀的軟件。 未來展望 在未來的 智能 五子棋改進(jìn)版本中,將會(huì)著重對(duì)并行搜索的研究。通過并行搜索,可充分利用當(dāng)前的多 CPU 硬件平臺(tái),在不改變程序大部分結(jié)構(gòu)的基礎(chǔ)上實(shí)現(xiàn)速度的倍增,由于對(duì)相同的搜索與估值函數(shù)來說,程序棋力隨速度的增加而增加,而這種增加其實(shí)是搜索深度增加與程序棋力的一種相對(duì)關(guān)系。 同時(shí),通過自己平時(shí)下五 子棋不斷總結(jié)經(jīng)驗(yàn)教訓(xùn),希望在下一版本中能寫出更合理、更快速的估值函數(shù)來。此外, 將來還 可以考慮加入開局庫( Opening Book) 和殘局庫( Endgame Database),來進(jìn)一步加 快 程序的運(yùn)行速度。 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 29 頁 參考文獻(xiàn) [1] MSDN Library for Visual Studio 2021 ENU [2] 侯俊杰, 深入淺出 MFC(第 2版),華中科技大學(xué)出版社 , 2021 [3] 王正軍, Visual C++ 程序設(shè)計(jì)從入門到精通,人民郵電出版社 , 2021 [4] 王小春, PC游戲編程(人機(jī)博弈),重慶大學(xué)出版社 , 2021 [5] Mark Allen Weiss, 數(shù)據(jù)結(jié)構(gòu)與算法分析(第 3版),人民郵電出版社 , 2021 [6] IMGD 4000, Artificial Intelligence for Games [7] anonym, DEEP BLUE [8] lan Gent, Artificial Intelligence Games 2: Alpha Beta [9] Alexander Reinefeld, TwoPerson ZeroSum Game [10] anonym, AlphaBeta Search [11] Andrew Parks, AlphaBeta Search and General Issues [12] Jos Uiterwijk, Transposition Tables [
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1