首页 > 编程知识 正文

C QT开发人机象棋评估函数,小千的开发人机

时间:2023-05-05 19:43:24 阅读:185026 作者:1099

 每个棋子在当前点的所有可能走的情况用一个容器存储起来,根据搜索的层数输出相应的权值。

 

 

在搜索到最底层的时候进行权值的判断,判断的最终结果为棋盘上面的黑棋的棋子分减去棋盘上面的红棋的棋子分。

 

long long singleGame::calcScore(){ long long redTotalScore=0; long long blackTotalScore=0; //enum TYPE{JIANG,CHE,PAO,MA,BING,SHI,XIANG}; static long long chessScore[]={10000,90,45,40,10,20,20}; for(int i=0;i<16;++i) { if(_s[i]._dead) continue; redTotalScore+=chessScore[_s[i]._type]; } for(int i=16;i<32;++i) { if(_s[i]._dead) continue; blackTotalScore+=chessScore[_s[i]._type]; } return blackTotalScore-redTotalScore;}

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。