C/C++中國象棋程序入門與提高

出版時間:2009-5  出版社:電子工業(yè)出版社  作者:蔣鵬 等著  頁數(shù):333  字數(shù):550000  
Tag標簽:無  

前言

  程序設計是計算機專業(yè)的必修課,從C到C++,再到可視化程序設計VC++。C/C++是大學計算機專業(yè)的基礎語言課,不少程序員都是從C走上他們的程序設計之路的。大學課程主要從語法的角度講解C/C++。具體是C講述基礎的語言設計方法,C++主要講述面向對象程序設計方法,VC++則講述基本的可視化程序設計的知識。太多的語法基礎占據(jù)了語言課的大部分時間,學生學習后基本只能應付課后習題,要提高程序設計能力還有很長的路要走。學生一路走來,到畢業(yè)時很多人竟不能獨立編寫一個像樣的程序。  數(shù)據(jù)結構,算法分析與設計則是計算機專業(yè)的主要課程,可許多學生學習之后竟然覺得數(shù)據(jù)結構無用。理論教學與實踐的脫離使得學生只追求盲目的60分。很多計算機專業(yè)學生畢業(yè)之后沒有獨立程序設計的能力,無法從事計算機相關行業(yè)?! “咐虒W成為近年比較流行的教學模式。它將課本理論與實際項目開發(fā)結合在一起,提高了學生的動手能力和實踐經驗。實踐證明,編寫一個帶有實際意義的項目是提高編程能力最高效的方法。如果能有一個項目將C、C++、VC++、數(shù)據(jù)結構、算法分析與設計結合在一起,提高學生的基礎程序設計能力,同時又能掌握數(shù)據(jù)結構與算法的高級應用,必然為以后從事軟件開發(fā)打下良好的基礎。中國象棋程序就是這樣一個項目,它綜合了C、C++、VC++、數(shù)據(jù)結構、算法分析與設計等知識。象棋作為競技體育同時又作為一個游戲,具有一定的趣味性。學生通過自己親身參與游戲程序的編寫可以提高學習的積極性?! ≈袊笃宄绦蛑饕删置姹硎尽⒆叻ū硎炯吧?、局面評估、搜索算法、界面控制等五大部分組成。  局面就是一盤棋經過若干回合之后當前所處的形勢,包括棋盤、紅黑雙方所剩棋子及其在棋盤上的分布、當前該走棋一方、雙方所剩時間、雙方所剩走棋步數(shù)等內容。局面表示是象棋程序的基礎,局面表示的好壞直接關系到走法生成、局面評估和搜索算法的效率,從而影響象棋程序得到的最佳走法。  象棋程序每一次思考的目的是獲取一個最佳走法(至少在程序看來是最佳的)。要實現(xiàn)這一目的的簡單方法就是生成全部所有可能的走法,然后再一個一個的比較,找出最佳的一個。實際上程序也是這樣做的。

內容概要

本書由淺入深地介紹了中國象棋博弈程序的各個基本知識點,以實際案例來促進讀者對算法的理解,提高實際編程能力。主要內容包括:中國象棋博弈,局面表示,走法表示及生成走法,局面評估,基本搜索算法,人機博弈,機器對弈,置換表,算法分析及測試技術,時間控制策略,啟發(fā)式搜索策略,更多搜索策略。    本書適用于在校計算機專業(yè)本科學生及研究生,以及程序設計、算法、博弈和人工智能的愛好者及專業(yè)人士。

書籍目錄

第1章  緒論 1.1  機器博弈  1.1.1  Tic-Tac-Toe游戲  1.1.2  國際象棋機器博弈  1.1.3  機器博弈發(fā)展趨勢 1.2  中國象棋程序  1.2.1  中國象棋博弈程序組成  1.2.2  中國象棋程序研究現(xiàn)狀  1.2.3  全國計算機博弈錦標賽 1.3  C/C++基礎知識  1.3.1  結構體  1.3.2  聯(lián)合體  1.3.3  枚舉  1.3.4  指針  1.3.5  面向對象程序設計 1.4  數(shù)據(jù)結構基礎知識  1.4.1  線性表  1.4.2  棧和隊列  1.4.3  樹  1.4.4  查找  1.4.5  排序 1.5  算法分析基礎知識  1.5.1  算法描述  1.5.2  算法時間復雜度分析第2章  中國象棋博弈 2.1  中國象棋簡介  2.1.1  棋盤與棋子  2.1.2  走棋和吃子  2.1.3  將死和困斃  2.1.4  勝、負、和 2.2  中國象棋博弈程序  2.2.1  局面表示  2.2.2  走法生成  2.2.3  搜索算法  2.2.4  局面評估第3章  局面表示 3.1  簡單的表示方法 3.2  擴展數(shù)組表示  3.2.1  棋盤表示  3.2.2  棋子表示  3.2.3  二維數(shù)組與一維數(shù)組 3.3  字符串表示局面  3.3.1  棋子表示  3.3.2  棋盤表示  3.3.3  走方表示  3.3.4  走棋步數(shù) 3.4  不同表示方法的轉換  3.4.1  一維數(shù)組轉換成FEN串  3.4.2  FEN串轉換成一維數(shù)組第4章  走法表示及生成走法 4.1  走法表示 4.2  車炮馬象(相)士(仕)卒(兵)將(帥)走法生成  4.2.1  馬的走法生成  4.2.2  將(帥)的走法生成  4.2.3  士(仕)的走法生成  4.2.4  象(相)的走法生成  4.2.5  車的走法生成  4.2.6  炮的走法生成  4.2.7  卒(兵)的走法生成 4.3  產生一個局面的全部走法 4.4  簡化合理位置數(shù)組 4.5  棋子數(shù)組 4.6  將軍檢測 4.7  如何更快地生成走法  4.7.1  事先生成法  4.7.2  位行位列第5章  局面評估第6章  基本搜索算法第7章  人機博弈第8章  機器對弈——博弈引擎第9章  置換表第10章  算法分析及測試技術第11章  時間控制策略第12章  啟發(fā)式搜索策略參考文獻

章節(jié)摘錄

  第2章 中國象棋博弈  中國象棋是一種具有悠久歷史的棋類,早在2000多年前的戰(zhàn)國時代就已經有了關于象棋的記載。如:《楚辭·招魂》中有“蓖蔽象棋,有六簿些:分曹并進,道相迫些;成梟而牟,呼五白些?!?。經過歷代的發(fā)展演繹,到北宋末定型為現(xiàn)代的中國象棋。元明清時期,象棋繼續(xù)在民間流行,技術水平不斷得以提高,出現(xiàn)了多部總結性理論專著,其中最為重要的有《夢入神機》、《金鵬十八變》、《桔中秘》、《適情雅趣》、《梅花譜》、《竹香齋象棋譜》等。  中國象棋協(xié)會成立于1962年,40多年來,由于群眾性棋類活動和比賽的推動,象棋棋藝水平提高得很快,優(yōu)秀棋手不斷涌現(xiàn),其中以楊官磷、胡榮華、柳大華、趙國榮、呂欽、許銀川等最為著名?! ”緯饕獌热荨 『唵谓榻B中國象棋?! ≈袊笃宀┺某绦蚪M成?! ?.1 中國象棋簡介  2.1.1 棋盤與棋子  象棋棋盤由九條豎線和十條橫線交叉組成。棋盤上共有九十個交叉點,象棋子就擺在和活動在這些交叉點上。棋盤中間沒有畫通直線的地方,叫做“河界”;畫有斜交叉線的地方,叫做“九宮”。

編輯推薦

  本套叢書對編程語言、語法等基礎知識講得很少,重點在對語言的運用能力上。讓讀者看完書后,有一種“豁然開朗”的感覺,不只是簡單地理解一種語言的語法,而是對一種技術的全面認識,并知道如何進行靈活運用。本書的目的主要是提升讀者項目編程的知識,展現(xiàn)代碼編寫中的技巧與經驗,讓讀者能更便捷地獲取知識、積累經驗,這也是本叢書的重要特色之一。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    C/C++中國象棋程序入門與提高 PDF格式下載


用戶評論 (總計12條)

 
 

  •   很好的書,我開發(fā)象棋AI起到很大作用
  •   相當不錯的一本書,太好了
  •   不是我用,不予評論了。
  •   大致看了下,很有難度,過幾天再認真看,應該可以借鑒一下里面的內容。

    感覺我寫的中國象棋程序比這簡單多了,人機對弈等內容還是慢慢來吧!
  •   從練習算法的角度來看,這本書非常好,深入淺出的講解了整個象棋的生成算法。
  •   這本書主要說的是圖算法,對于圖有基本了解的讀音者非常合適,當然你對象棋也得有興趣.
  •   主要是算法,用VC寫的,關于基礎的很少,購買時注意
  •   在國內來說目前的關于象棋的書來說這是一本比較簡單易懂的書了,適于初學者。
  •   感興趣買的,主要培養(yǎng)興趣和思考解決問題的能力
  •   書的選材不錯,內容也還好,就是復制粘貼的太多了,雖然是自己寫的,但是讓人感覺有點不認真的感覺 .紙張沒C++primer那樣好.也還行,送來的時候有個書角壞了.
  •   初學c++,過段時間再看吧
  •   走入了代碼的誤區(qū)
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7