VC中國象棋游戲系統(tǒng)_第1頁
VC中國象棋游戲系統(tǒng)_第2頁
VC中國象棋游戲系統(tǒng)_第3頁
VC中國象棋游戲系統(tǒng)_第4頁
VC中國象棋游戲系統(tǒng)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、VC中國象棋游戲系統(tǒng)一、前 言我們的目標是實現(xiàn)一款有著一定下棋水平且交互友好的中國象棋人機對弈程序。該程序功能包括:*人機對弈;*盲棋模式;(注:此功能為創(chuàng)新功能)*搜索深度設(shè)定;(電腦棋力選擇)*棋子、棋盤樣式選擇;*悔棋、還原;*著法名稱顯示;*下棋雙方計時;整個程序的實現(xiàn)可分為兩大部分:一、人工智能部分(計算機下棋引擎)該部分實現(xiàn)了如何讓計算機下中國象棋,其中涉及人機博弈的基本理論及思想,是該程序的核心部分,同時也是本項目研究的重點所在。二、界面及程序輔助部分光有下棋引擎尚不能滿足人機交互的基本要求,因此我們還需要一個框架(界面)來作為引擎的載體,同時提供一些諸如悔棋,計時之類的附屬功能

2、(程序輔助)來為程序增色添彩。下面分別介紹各部分實現(xiàn)。由于界面及程序輔助部分涉及內(nèi)容寬泛而又繁瑣,因而本文只介紹其中重點部分以及我們在開發(fā)過程中曾經(jīng)遇到過困難的地方。二、人工智能部分(計算機下棋引擎)1、概 述程序的基本框架:從程序的結(jié)構(gòu)上講,大體上可以將引擎部分劃分為四大塊:棋局表示;著法生成;搜索算法;局面評估。程序的大概的思想是:首先使用一個數(shù)據(jù)結(jié)構(gòu)來描述棋局信息,對某一特定的棋局信息由著法生成器生成當前下棋方所有合法的著法并依次存入著法隊列。然后通過搜索算法來逐一讀取著法并調(diào)用局面評估函數(shù)對該著法所產(chǎn)生的后繼局面進行評估打分,從中選出一個最有可能導致走棋方取勝的著法。在搜索的過程中還可

3、以采用一些輔助手段來提高搜索的效率。其過程如下圖所示:下面將分別介紹各個部分。2、棋局表示計算機下棋的前提是要讓計算機讀懂象棋。所謂讀懂,即計算機應該能夠清楚地了解到棋盤上的局面(棋盤上棋子的分布情況)以及下棋方所走的每一種著法。因而首先我們需要有一套數(shù)據(jù)結(jié)構(gòu)來表示棋盤上的局面以及著法。對于棋盤局面的表示我們采用了最傳統(tǒng)的同時也是最為簡單的“棋盤數(shù)組”。即用一個9*10的數(shù)組來存儲棋盤上的信息,數(shù)組的每個元素存儲棋盤上相應位置是何種棋子。這種表示方法簡單易行(缺點是效率不是很高)。按此方法棋盤的初始情形如下所示:BYTE CChessBoard910 = R, 0, 0, P, 0, 0, p

4、, 0, 0, r,H, 0, C, 0, 0, 0, 0, c, 0, h,E, 0, 0, P, 0, 0, p, 0, 0, e,A, 0, 0, 0, 0, 0, 0, 0, 0, a,K, 0, 0, P, 0, 0, p, 0, 0, k,A, 0, 0, 0, 0, 0, 0, 0, 0, a,E, 0, 0, P, 0, 0, p, 0, 0, e,H, 0, C, 0, 0, 0, 0, c, 0, h,R, 0, 0, P, 0, 0, p, 0, 0, r;其中“0”表示無棋子,大寫字母表示紅方棋子,小寫字母表示黑方棋子(所有這些大小寫字母都是用宏定義的整數(shù))。具體如下:“R”表示紅車;“H”表示紅馬;“E”表示紅相;“A”表示紅仕;“K”表示紅帥;“C”表示紅炮;“P”表示紅兵。“r”表示黑車;“h”表示黑馬;“e”表示黑象;“a”表示黑士;“k”表示黑將;“c”表示黑炮;“p”表示黑卒。此外這個數(shù)組也表明了我們對棋盤進行了如右圖所示的編號,并約定紅方棋子總處于棋盤的下方。對于著法的表示,我們直接借用棋盤數(shù)組的下標來記錄著法的起點和目標點。至于是什么棋子在走,以及是否吃子、吃的是什么子,我們在著法結(jié)構(gòu)中并不記錄。這些信息由外部讀取

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論