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

正文內(nèi)容

計算機五子棋游戲?qū)南到y(tǒng)設計-文庫吧在線文庫

2025-01-17 01:17上一頁面

下一頁面
  

【正文】 4 界面的設計與實現(xiàn) ........................................ 17 設計思想 ................................................. 17 主要類及其關系 ........................................... 17 用戶界面設計的 6 個核心類 .......................... 17 消息消息傳遞圖 ................................... 18 主體界面 ................................................. 19 5 聯(lián)機功能的實現(xiàn) ............................................... 23 消息機制的架構 ........................................... 23 各種消息說明 ............................................. 23 6 總結(jié)和展望 ................................................... 28 總結(jié) ..................................................... 28 未來展望 ................................................. 28 參考文獻 ....................................................... 29 翻 譯部分 ....................................................... 31 英文原文 ..................................................... 31 中文譯文 ..................................................... 41 致 謝 ........................................................... 49 中國礦業(yè)大學 2021 屆本科生畢業(yè)設計(論文) 第 1 頁 1 緒論 選題背景 人工智能是一門正 在迅速發(fā)展的新興的綜合性很強的邊緣科學。 本文以計算機五子棋博弈系統(tǒng)作為研究課題。假設甲選擇了形成局面 2的走法,輪到乙下棋。 甲: 1 乙: 2 乙: 3 甲: 4 乙: 8 乙: 9 甲: 5 乙: 10 乙: 11 甲: 6 甲: 7 乙: 12 乙: 13 乙: 14 乙: 15 ?? ?? ?? 圖 博弈樹的例子 圖 博弈樹的例子 甲: 1 2 3 M+1 ?? 圖 乙: 2 AlphaBeta剪枝實例圖 乙: 1 K+1 K+2 K+N ?? 圖 乙方面對的局勢 中國礦業(yè)大學 2021 屆本科生畢業(yè)設計(論文) 第 3 頁 五子棋基本知識介紹 五子棋是起源于中國古代的傳統(tǒng)黑白棋種之一。 ( 2)下法:兩人分別執(zhí)黑白兩色棋子,輪流在棋盤上選擇一個無子的交叉點(又稱為空點)走子,規(guī)定執(zhí)黑者先行。 Pentium174。 第六章則是全文總結(jié)及展望。 界面生成 涉及 MFC 控件 14 種( Button、 Check Box、 ComboBox、 Edit Control、 Group Box、Radio Button、 Static Text、 Picture Control、 Slider Control、 Spin Control、Progress Control、 Hot Key、 Tree Control、 Tab Control);系統(tǒng)托盤(用戶可控制其顯示和隱藏) [22];拖放 功能 ( Drag and Drop) [20];老板鍵 功能 (用戶可自行設定);輸贏平 和 下子聲音提示、聊天聲音發(fā)送及整點報時;自動窗口閃爍;讀寫注冊表;簡單多線程搜索音樂等等。 系統(tǒng)交互性 如摘要中提到的,本程序非常注重界面的友好性和操作的簡單性。 // x, y 是棋盤坐標值,取值范圍 [0,14] } STONEPOS。 // 用以產(chǎn)生局面 position 中所有可能 的走法 // position是包含所有棋子位置信息的二維數(shù)組 // nPly指明當前搜索的層數(shù),每層將走法存在不同的位置,以免覆蓋 // nSide指明產(chǎn)生哪一方的走法, WHITE為白方, BLACK為黑方 int CreatePossibleMove( BYTE position[15][15], int nPly, int nSide ) { int i, j。 // 使用位置價值表評估當前走法的價值 m_MoveList[nPly][++m_nMoveCount].score = g_arrPosValue[i][j]。 生 成局面 p的后繼局面 p1, p2, ..., pw。 // (Beta)剪枝 } return ( a )。同理,可以分析出對 C的右子樹進行 類似的 Alpha剪枝。 生成局面 p的后繼局面 p1, p2, ..., pw。amp。 // (Beta)剪枝 b = a + 1。 Zobrist Hash 方法:在程序啟動 或棋局開始 的時候,建立一個多維數(shù)組(在五子棋中是三維 ) Z[pieceType][boardWidth][boardHeight], 其中 pieceType 是棋子種類,五子棋中為黑、白兩種; boardWidth 為棋盤寬度,五子棋為 15; boardHeight為棋盤高度,五子棋為 15。 Transposition Table 是一種空間換取時間的思想。 歷史啟發(fā)( History Heuristic) 在介紹 NegaScout 算法中曾經(jīng)提到, AlphaBeta 搜索的剪枝效率,幾乎完全取決于節(jié)點的排列順序( Move Ordering) 。 在搜索的過程中,每當找到一個好的走法,就將與該走法相對應的歷史得分作一個增量,一個多次被搜索并確認為好的走法的歷史紀錄 就會較高,當搜索中間 結(jié)點時,將走法根據(jù)其歷史得分排列順序,以獲得較佳的排列順序。 // 命中 ,直接返回查得數(shù)據(jù) if( depth = 0 ) /* 葉結(jié)點 */ { score = m_pEvalEvaluate( CurPosition, 0 )。 ++i ) { // 取所有走法的歷史得分 m_MoveList[depth][i].score = GetHistoryScore( amp。 i count。amp。m_MoveList[depth][i], CurPosition )。m_MoveList[depth][i], depth )。 // 返回最佳值 } 估值函數(shù) 在搜索 之 外,估值函數(shù)是最重要的部分,因為對實際局面的評價好壞,影響著今后局勢發(fā)展的趨勢。最基本的棋型優(yōu)先順序為:五連 活四 沖四 活三 眠三 活二 眠二。如果輪到某一方落子,而此時某一方出現(xiàn)多 中國礦業(yè)大學 2021 屆本科生畢業(yè)設計(論文) 第 16 頁 于 1個的活三棋型,返回極值。在 Windows大行其道的今天,任何一款成功的商業(yè)軟件都在界面設計上 都 下足了功夫,因為這是吸引用戶興趣的第一道門檻。 從而避免用戶下次重新設定而浪費時間。 ( 2) CChessBoard(棋盤類) 棋盤類自然是處理用戶與棋盤的交互消息。 ( 5) CTabMusicDlg(音樂播放器頁面類)。程序中正是用雙緩沖技術解決閃爍問題的 。 中國礦業(yè)大學 2021 屆本科生畢業(yè)設計(論文) 第 20 頁 圖 聊天頁面 圖 音樂頁面 圖 單機頁面 (1) 聊天頁面 在程序啟動時它 是 被 禁用的 ,如果用戶選擇聯(lián)機對戰(zhàn),則在雙方連接成功后被啟用 。其中長度信息欄(格式為 MM:SS) 隨著歌曲的播放進度而實時更新(圖上的 4:29 表明這首歌長度為 4 分 29 秒,而 4:21是說剩余時間為 4分 21秒)。在設計上和前兩個頁面在功能上有許多相似性:如支持棋譜文件( DAN 格式)的拖放;在棋譜分析模式下,輸入框也會檢查用戶輸入數(shù)字的合法性,并彈出圖 ?!?+”之下的按鈕用來保存 /打開播放列表文件 ( FPL格式)。它能快速地隱藏和顯示程序主界面。 智能 五子棋程序也模仿 Windows 系統(tǒng)實現(xiàn)了自己的 消息機制,主要為網(wǎng)絡對弈服務,以響應多種多樣的網(wǎng)絡消息( 如 圖 )。 落子消息 —— FM_PUTSTONE 表明對方落下了一個棋子,其中 uID、 、 , szText成員無效。接到這個消息后,整個界面將恢復發(fā)送悔棋請求前的狀態(tài)。接到這個消息后,整個界面將恢復發(fā)送和棋請求前的狀態(tài)。 編輯框聊天消息 —— FM_EDIT_CHAT 表明對方在組合框的編輯框輸入一條聊天信息并發(fā)送, szText 表示對方的輸入的信息內(nèi)容, stonePos 成員無效。服務用一個臨時的 CFiveSocket 對象和請求連接者建立暫時連接,并發(fā)送 FM_SERVER_BUSY 給連接者,然后馬上斷開連接。 同時,通過自己平時下五 子棋不斷總結(jié)經(jīng)驗教訓,希望在下一版本中能寫出更合理、更快速的估值函數(shù)來。通過這次畢業(yè)設計,全面回顧了大學四年里學 習的核心專業(yè)知識,特別是對VC 開發(fā)工具更加熟悉了;對 C++語言和面向?qū)ο缶幊逃辛烁由羁痰睦斫?;對計算機博弈技術也略知一二。 對方姓名消息 —— FM_NAME_INFO 用來獲取對方玩家的姓名, szText 表示對方的姓名, stonePos 成員無效。 中國礦業(yè)大學 2021 屆本科生畢業(yè)設計(論文) 第 26 頁 圖 黑方認輸 圖 白方認輸 請求再玩一局消息 —— FM_REQUEST_REPLAY 表明對方希望開始一局新的棋局,除 uID 成員外其余成員皆無效。 圖 請求和棋 同意和棋消息 —— FM_AGREE_DRAW 表明對方接受了玩家的和棋請求(如圖 所示),除 uID 成員外其余成員皆無效。另外,在發(fā)送這個消息之后,主界面上的某些元素將暫時不響應用戶的操作。 // 落子坐標 STONEPOS stonePos。 最后提一下程序的一個重要菜單 (如圖 )。 圖 播放列表對話框 設置對話框 現(xiàn)在每一款 軟 件都有“設置”對話框。這個播放列表可以像 那樣自動隱藏到屏幕上端(如果它被拖放到屏幕邊緣)。該頁面支持拖放功能,用戶可以將一個或多個音樂文件(格式為 MP WAV 或 WMV)直接拖放到頁面上進行 中國礦業(yè)大學 2021 屆本科生畢業(yè)設計(論文) 第 21 頁 播放。 這種汽球提示不會打擾用戶的任何操作,而且會自動隱藏。 最后棋盤邊上的坐標數(shù)值( 11 AO)和棋子上在數(shù)值 [1, 225]也是在 OnPaint 函數(shù)中畫出來的。包括播放、暫停、停止、上一首、下一首等功能的實現(xiàn) [17]。如發(fā)送及顯示聊天內(nèi)容(包括文字聊天消息和語音聊天消息)、對和棋,悔棋,認輸響應后進行善后處理等等。 主要類及其關系 用戶界面設計的 6 個核心類 ( 1) CFiveDlg(主對話框類) 智能 五子棋啟動過程絕大多數(shù)的初始化工作在該類的 OnInitDialog 函數(shù)中完成,包括棋盤加載、主界面元素(比如游戲雙方姓名顯示)初始化等。 ( 2)程序可以自動隱藏,還能方便、快速地呼出。當輪到白棋走時,估值函數(shù)返回值為:白值價值 黑棋價值,而輪到黑棋走時,返回:黑棋價值 白棋價值。兩個沖四看成一個活四。同 時在實現(xiàn)這個數(shù)學模型的過程中,必須考慮運算的耗費,因為運算量太大的估值計算,往往影響了整個搜索的速度,降低了搜索的深度,而運算量少的一些近似估值,通過搜索深度的增加,仍能大大彌補近似估值所丟失的不準確性。m_MoveList[depth][bestmove], depth )。 // 精確值 a = t。 /* 重新搜索 */ eval_is_exact = 1。
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1