资源简介
中国象棋vs2010源码, 带人工智能,人机对战
代码片段和文件信息
// AlphaBetaEngine.cpp: implementation of the CAlphaBetaEngine class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “AlphaBetaEngine.h“
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CAlphaBetaEngine::CAlphaBetaEngine()
{
}
CAlphaBetaEngine::~CAlphaBetaEngine()
{
}
void CAlphaBetaEngine::SearchAGoodMove(BYTE position[][9])
{
memcpy(CurPositionposition90); //将当前局面复制到CurPosition
m_nMaxDepth=m_nSearchDepth; //设定搜索深度
AlphaBeta(m_nMaxDepth-2000020000);//进行alphabeta搜索
m_umUndoMove.cmChessMove=m_cmBestMove;
m_umUndoMove.nChessID=MakeMove(&m_cmBestMove);
memcpy(positionCurPosition90); //将走过的棋盘传出
}
int CAlphaBetaEngine::AlphaBeta(int nDepthint alphaint beta)
{
int score;
int Counti;
BYTE type;
i=IsGameOver(CurPositionnDepth);//检查是否游戏结束
if(i!=0)
return i;//结束,返回估值
//叶子节点取估值
if(nDepth<=0)
return m_pEval->Eveluate(CurPosition(m_nMaxDepth-nDepth)%2m_nUserChessColor);
//此函数找出当前局面所有可能的走法,然后放进m_pMG ->m_MoveList当中
Count=m_pMG->CreatePossibleMove(CurPositionnDepth(m_nMaxDepth-nDepth)%2m_nUserChessColor);
if(nDepth==m_nMaxDepth)
{
//在根节点设定进度条
m_pThinkProgress->SetRange(0Count);
m_pThinkProgress->SetStep(1);
}
//对所有可能的走法
for(i=0;i {
if(nDepth==m_nMaxDepth)
m_pThinkProgress->StepIt();//走进度条
type=MakeMove(&m_pMG->m_MoveList[nDepth][i]); //将当前局面应用此走法,变为子节点的局面
score=-AlphaBeta(nDepth-1-beta-alpha); //递归搜索子节点
UnMakeMove(&m_pMG->m_MoveList[nDepth][i]type);//将此节点的局面恢复为当前节点
if(score>alpha)
{
alpha=score;//保留极大值
//靠近根节点时保留最佳走法
if(nDepth==m_nMaxDepth)
m_cmBestMove=m_pMG->m_MoveList[nDepth][i];
}
if(alpha>=beta)
break;//剪枝,放弃搜索剩下的节点
}
return alpha;//返回极大值
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2114 2017-02-27 17:24 中国象棋VS2010\Source Code\AlphaBetaEngine.cpp
文件 824 2017-02-27 17:25 中国象棋VS2010\Source Code\AlphaBetaEngine.h
文件 2203 2017-02-27 17:25 中国象棋VS2010\Source Code\Alphabeta_HH.cpp
文件 831 2017-02-27 17:23 中国象棋VS2010\Source Code\Alphabeta_HH.h
文件 2751 2017-02-27 17:24 中国象棋VS2010\Source Code\AlphaBeta_TTEngine.cpp
文件 845 2017-02-27 17:25 中国象棋VS2010\Source Code\AlphaBeta_TTEngine.h
文件 1214 2017-02-27 17:25 中国象棋VS2010\Source Code\AspirationSearch.cpp
文件 709 2017-02-27 17:23 中国象棋VS2010\Source Code\AspirationSearch.h
文件 523580 2017-02-27 22:01 中国象棋VS2010\Source Code\Chess.aps
文件 2049 2004-07-05 11:48 中国象棋VS2010\Source Code\Chess.cpp
文件 1334 2004-08-23 20:19 中国象棋VS2010\Source Code\Chess.h
文件 62976 2004-08-24 13:20 中国象棋VS2010\Source Code\Chess.opt
文件 11374 2017-02-27 21:54 中国象棋VS2010\Source Code\Chess.rc
文件 876 2017-02-27 17:15 中国象棋VS2010\Source Code\Chess.sln
..A..H. 31744 2017-02-28 18:39 中国象棋VS2010\Source Code\Chess.suo
文件 10316 2017-02-27 17:14 中国象棋VS2010\Source Code\Chess.vcxproj
文件 7466 2017-02-27 17:14 中国象棋VS2010\Source Code\Chess.vcxproj.filters
文件 143 2017-02-27 17:57 中国象棋VS2010\Source Code\Chess.vcxproj.user
文件 50501 2017-02-28 18:27 中国象棋VS2010\Source Code\ChessDlg.cpp
文件 5458 2004-08-24 10:51 中国象棋VS2010\Source Code\ChessDlg.h
文件 6149 2003-04-24 16:41 中国象棋VS2010\Source Code\CoolButton.cpp
文件 1527 2003-04-24 16:41 中国象棋VS2010\Source Code\CoolButton.h
文件 918016 2017-02-28 18:27 中国象棋VS2010\Source Code\Debug\Chess.exe
文件 1534 2004-08-18 18:17 中国象棋VS2010\Source Code\Define.h
文件 20076 2004-08-19 14:50 中国象棋VS2010\Source Code\Eveluation.cpp
文件 2554 2004-08-19 14:37 中国象棋VS2010\Source Code\Eveluation.h
文件 2186 2017-02-27 17:25 中国象棋VS2010\Source Code\FAlphaBetaEngine.cpp
文件 823 2017-02-27 17:24 中国象棋VS2010\Source Code\FAlphaBetaEngine.h
文件 4539 2004-08-17 14:32 中国象棋VS2010\Source Code\GradientProgressCtrl.cpp
文件 2221 2004-08-17 14:29 中国象棋VS2010\Source Code\GradientProgressCtrl.h
............此处省略77个文件信息
- 上一篇:openmv+stm32+as608
- 下一篇:数据挖掘教程浙大PPT
相关资源
- 人工智能保险运用路线图
- 人工智能马少平)完整课件一至七章
- AI计算力报告
- 浙大赵洲开设的人工智能引论的大作
- 基于pytorch的cnn水果分类器深度学习平
- 人工智能(模糊算法)
- 人工智能标准化白皮书2018版最新.pd
- 中国科学院大学 计算机学院 高级人工
- 人工智能 一字棋游戏代码
- 哈工大人工智能导论实验代码以及报
- 人工智能--循环神经网络
- 人工智能一种现代方法第四版习题答
- 《Neural Networks and Deep Learning》中文版
- 雷文-FansUnion-毕业设计-20130923.zip
- 大学课程《人工智能》课后习题及答
- 人工智能课后习题答案马少平完整整
- 物联网操作系统架构设计-指令集创始
- 用openGL实现的3D国际象棋游戏源码
- 人工智能 一字棋 实验报告
- 人工智能一种现代的方法第3版习题答
- Artificial Intelligence A Modern Approach 3e S
- 国科大高级人工智能2016和2017年共两套
- 人工智能 一种现代方法 习题答案
- 人工智能伦理风险分析报告.pdf
- 象棋旋风.rar
- 模式识别试题库
- Algorithms for Reinforcement Learning 强化学习
- 人工智能课后习题答案全蔡自兴
- 埃森哲大数据分析方法讲义
- 深度优先搜索实现八数码问题
评论
共有 条评论