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

正文內容

中國象棋游戲的設計與實現(xiàn)畢業(yè)設計畢業(yè)論文(參考版)

2025-07-01 02:50本頁面
  

【正文】 走法記錄界面(圖 6)如下:圖 6 走法記錄界面其他輔助功能界面(圖 7)如下: 圖 7 其他輔助功能界面“IT 開拓者 3 網(wǎng)絡工作室”成立于 2022 年,是一個專業(yè)的計算機軟件開發(fā)團隊。在懂的以上規(guī)則之后并可進行游戲,執(zhí)行該軟件后,并可進入游戲界面。如果在要去的方向有別的棋子擋住,馬就無法走過去,俗稱’蹩馬腿‘。 *馬:馬走動的方法是一直一斜,即先橫著或直著走一格,然后再斜著走一個對角線,俗稱’馬走日‘。因此,一車可以控制十七個點,故有’一車十子寒‘之稱。相(象)的活動范圍限于’河界‘以內的本方陣地,不能過河,且如果它走的’田‘字中央有一個棋子,就不能走,俗稱’塞象眼‘。 *相(象):相(象)的主要作用是防守,保護自己的帥(將) 。 *仕(士):仕(士)是帥(將)的貼身保鏢,它也只能在九宮內走動。它只能在‘九宮‘之內活動,可上可下,可左可右,每次走動只能按豎線或橫線走動一格。如果有一方的主帥被對方吃了,就算那一方輸。輪到走棋的一方,將某個棋子從一個交叉點走到另一個交叉點,或者吃掉對方的棋子而占領其交叉點,都算走一著。4 系統(tǒng)實現(xiàn)首先,執(zhí)行該軟件,系統(tǒng)并不需要很高的配置,CPU 在 以上,內存在512M 以上就可以很流暢地執(zhí)行。然后將其從中剔除。然后從列表框中刪除它。一個回合的結束意味著前一次操作沒有悔棋功能的產生,因此還原隊列也應被清空。在對弈過程中,每一回合都將棋局信息(這里指前面所說的需要保存的信息)保存至走法隊列,以供悔棋所用。short nChessID。因此保存了全部棋子的信息。此后當悔棋的時候,需要撤銷著法;還原的時候,需要執(zhí)行著法。在程序中保存了如下信息:棋局表示中所定義的棋盤數(shù)組;各棋子的貼圖位置。 悔棋和還原悔棋和還原是棋類軟件中較為基本的功能。想要從列表框中刪除項時,可以使用(()1)。但是顯示的內容依然是最早加進來的項。//用來獲得剛下的一步棋的走法;void CChessDlg::AddChessRecord(int nFromX,int nFromY,int nToX,int nToY,int nUserChessColor,int nSourceID) //將走法添加進下棋記錄;然后,顯示在 Listbox 中。主要討論的是如何對列表框控件(List Box)進行操作,以顯示或刪除著法名稱。其功能就是將被移動的棋子類型以及走法的起點坐標、終點坐標這些信息轉換成中國象棋所規(guī)范的著法名稱。如:紅炮二平五、黑馬 8 進 7 此類。}然后,只要將原先調搜索函數(shù)并完成走棋的代碼代之以調用AfxBeginThread 來啟動新線程即可,實現(xiàn)了程序的多線程,不能正常工作的問題也就隨之解決了。 pDlgThink()。線程函數(shù)必須被定義為全局函數(shù),其返回值類型必須是 UINT,必須有一個LPVOID 類型的參數(shù)。該函數(shù)的第一個參數(shù) AFX_THREADPROC ThinkProc 指定了線程函數(shù)。啟動一個新的線程的方法非常簡單,只需調用函數(shù) AfxBeginThread 即可,函數(shù)原型:CWinThread* AfxBeginThread(AFX_THREADPROC ThinkProc,LPVOID pParam,int nPriority = THREAD_PRIORITY_NORMAL,UINT nStackSize = 0,DWORD dwCreateFlags = 0,LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL )。然而,在給程序加入這些功能(后面將會在講到其實現(xiàn))后,程序出現(xiàn)了異常:有時對用戶方的功能完全正確,而對電腦方的有些功能卻不起作用!是由于程序在進行搜索時會占用大量的 CPU 時間,因而阻塞了位于同一線程內的其他指令,使之無法正常工作。此外還有其它部分對程序同樣必不可少,但這些部分主要由 MFC 自動生成,無需人為改動,故在此不多做介紹。如此,在 OnLButtonDown 函數(shù)里,實現(xiàn)了人與機器的對弈(當然每走一步棋,也還需要繪圖函數(shù)來顯示棋盤局面的更新) 。在收到用戶傳達的走棋信息后,可先判斷該著法是否合法(是否符合中國象棋的游戲規(guī)則) ,如果合法,則執(zhí)行之。在 OnLButtonDown 函數(shù)里處理如下兩種操作:如果用戶點擊鼠標的位置落在己方的棋子上,表示用戶選中了該棋子,下一步將移動該子進行走棋(也可能用戶下一步將會選擇己方另外的棋子,總之這一操作會記錄下用戶所選的將要走的棋子) 。其中第二個參數(shù) CPoint point 是在本程序中所要用到的,它給出了當鼠標左鍵被按下時,鼠標指針的位置坐標。因此,要想讓棋子文件的背景“隱藏”需要通過一些“與”和“異或”操作來屏蔽掉棋子的背景。所以在 OnPaint()函數(shù)里做的工作主要都是在貼位圖。因此,在這里將要完成棋盤、棋子的顯示走棋起始位置和目標位置的提示框的顯示。包括對悔棋、還原隊列的清空,棋盤、棋子樣式的默認形式,下棋模式的默認選擇,以及著法名稱列表的初始化等。初始化的內容包括:對引擎部分所用到的變量的初始化。代碼主要分布于以下三大部分:一、初始化部分BOOL CCChessUIDlg::OnInitDialog(){}OnInitDialog()負責的是對話框的初始化。3 界面及程序輔助設計 界面基本框架關于界面,建了一個基于對話框的 MFC 應用程序。此后,等到界面部分初步完成,引擎的上述各模塊無需作任何改動,仍以.h 頭文件的形式加入界面工程, 文件調用搜索函數(shù)即可。當實現(xiàn)了引擎部分的各要素時,可先建了一個 Win32 控制臺項目,之后只 文件負責接受用戶的輸入、調用搜索函數(shù)、顯示搜索結果,便可簡單的測試引擎了(采用輸入著法的起點坐標和終點坐標的方式來傳送用戶走棋的信息?!置嬖u估?!ㄅ判颉!獨v史啟發(fā)?!阉鞑糠?。——著法生成器。如下:——象棋相關定義。所以,如果今后要對引擎進行改進,提高程序的下棋水平的話,還應當在此進行研究。當然,上述四條只是覆蓋了最常見的幾種情況,覆蓋并不全面。三攻擊\兩保護的情況,并且攻擊者子力較小的二者之和小于被攻擊者子力與保護者子力之和,則攻擊方可能以兩子換三子。比如,一個車正遭受一個炮的攻擊,那么任何對車的保護都將失去意義——對方肯定樂意用一個炮來換一個車。分析關系時,首先,對王的攻擊保護應分離出來單獨考慮,因為對王的保護沒有任何意義,一旦王被吃掉整個游戲就結束了。當遍歷一遍棋盤之后,子力打分、控制區(qū)域打分和機動性打分都可以完成,而關系表也可以填完。//存放每一位置上棋子的靈活性分值int m_chessValue[10][9]。 //存放每一位置被威脅的信息BYTE m_GuardPos[10][9]。 //存放棋子基本價值int m_FlexValue[15]。對于機動性打分,需要求出各個子總共有多少種走法,然后根據(jù)各個子所不同的機動性價值每多一種走法就加一次相應的分數(shù)。在程序中,估值函數(shù)最后返回的是每一方的總分的差值,而各方的總分就是上面所提到的四個因素的打分的總和。棋子的相互關系這一點的分析較為復雜,因為一個棋子與其它子之間往往存在多重關系。例如,起始位置的車機動性較差,所以下棋講究早出車。例如,沉底炮、過河卒、以及車占士角等都是較好的棋子位置狀態(tài),而窩心馬、將離開底線等則屬較差的棋子位置狀態(tài)。比如紅方擁有士象全加車馬炮,而黑方只有殘士象加雙馬,則紅方明顯占優(yōu)。例如,車值 500 的話,那可能馬值 300,卒值 80 等等。在中國象棋中所要考慮的最基本的幾個因素包括如下四點:子力總和子力是指某一棋子本身所具有的價值。首先,先介紹一下在局面評估中需要考慮的因素。搜索算法負責驅動整個程序,而局面評估則負責對搜索的內容進行判斷和評價。歸并排序的空間復雜度為 O(n),時間復雜度為 O(nlog2n),具有較高的效率。對于即將搜索的結點,按照“歷史得分”的高低對它們進行排序,保證較好的走法(“歷史得分”高的走法)排在前面,這樣 AlphaBeta 搜索就可以盡可能早地進行“裁剪” ,從而保證了搜索的效率。由 所提出的“歷史啟發(fā)” (History Heuristic)就是建立在這樣一種觀點之上的??梢愿鶕?jù)部分已經(jīng)搜索過的結果來調整將要搜索的結點的順序。} 歷史啟發(fā)及著法排序既然 AlphaBeta 搜索算法是在“最小最大”的基礎上引入“樹的裁剪”的思想以期提高效率,那么它的效率將在很大程度上取決于樹的結構——如果搜索了沒多久就發(fā)現(xiàn)可以進行“裁剪”了,那么需要分析的工作量將大大減少,效率自然也就大大提高;而如果直至分析了所有的可能性之后才能做出“裁剪”操作,那此時“裁剪”也已經(jīng)失去了它原
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1