六子棋人机对战源代码.pdf

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
六子棋人机对战源代码

//头文件 // 接口类SearchEngine.h:interfacefortheCSearchEngineclass. #includeMoveGenerator.h #includeEveluation.h classCSearchEngine { public: CSearchEngine() virtual~CSearchEngine() virtual STONEMOVESearchAGoodMove(BYTEposition[][GRID_NUM], intType)=0;//得 到最优走法(核心),type为棋子颜色 virtualvoidSetEveluator(CEveluation*pEval){m_pEval=pEval;};//设置评估对象 virtualvoidSetSearchDepth(intnDepth){m_nSearchDepth=nDepth;} virtual void SetMoveGenerator(CMoveGenerator *pMG){m_pMG= pMG;};//设置走法生 成器 BOOLGameOver(){returnm_bGameOver;};//返回游戏结束标记值 voidBeginGame(){m_bGameOver=FALSE;};//设置游戏结束标记值为FALSE protected: virtualvoidMakeMove(STONEMOVEmove,inttype);//计算机走最佳路,type为棋子颜 色 virtualvoidUnMakeMove(STONEMOVEmove) BYTECurPosition[GRID_NUM][GRID_NUM];//棋盘 CMoveGenerator*m_pMG;//声明生成走法器已被定义 CEveluation*m_pEval;//声明评估对象已被定义 BOOLm_bGameOver;//游戏结束布尔型标记值 STONEMOVEm_cmBestMove intm_nMaxDepth intm_nSearchDepth } #endif // 走法生成器类MoveGenerator.h:interfacefortheCMoveGeneratorclass. #includeEveluation.h #includeHistoryHeuristic.h #includeNegaScout_TT_HH.h #includeTranspositionTable.h classCMoveGenerator { public: CMoveGenerator() virtual~CMoveGenerator() int Sort_CreatePossibleMove(BYTE position[GRID_NUM][GRID_NUM], int nPly, int Type) intCreatePossibleMove(BYTEposition[GRID_NUM][GRID_NUM],intnPly,intType) //此函数完成走法链,获得走法和相应 //走法的价值,所有走法的价值经过从大到小的排序,显然m_MoveList[2][0]是最优走 法 BOOLIsValidPosition(BYTEposition[GRID_NUM][GRID_NUM],inti,intj) voidsort(intdepth,intn,intcount) STONEMOVEm_MoveList[7][40000];//三层走法链,在这里只进行第一层即一位数组 m_MoveList[2] //很显然,对当前局面最多只有64980路走法 protected: intm_nMoveCount;//获得有哪些信誉好的足球投注网站当前局面的走法总数 CHistoryHeuristic*HistoryHeuristic CEveluation*m_pEvel;//评估指针对象 } #endif // 置换表类TranspositionTable.h:interfacefortheCTranspositionTableclass. enumENTRY_TYPE{exact,lower_bound,upper_bound} typedefstructHASHI

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档