class CMoveGenerator
{
public:
CMoveGenerator();
virtual ~CMoveGenerator();
int CreatePossibleMove(BYTE position[GRID_NUM][GRID_NUM], int nPly,int nSide); STONEMOVE m_MoveList[10][225];
protected:
int AddMove(int nFromX,int nToX,int nPly);
int m_nMoveCount;
};int CMoveGenerator::AddMove(int nToX, int nToY,int nPly)
{
m_MoveList[nPly][m_nMoveCount].StonePos.x = nToX;
m_MoveList[nPly][m_nMoveCount].StonePos.y = nToY;
m_nMoveCount++;
m_MoveList[nPly][m_nMoveCount].Score = PosValue[nToY][nToX];
return m_nMoveCount;//这里返回m_nMoveCount
}
int CMoveGenerator::CreatePossibleMove(BYTE position[GRID_NUM][GRID_NUM], int nPly, int nSide)
{
int i,j;
m_nMoveCount = 0;
for (i = 0; i < GRID_NUM; i++)
for (j = 0; j < GRID_NUM; j++)
{
if (position[i][j] == (BYTE)NOSTONE)
{
AddMove(j, i, nPly);//这里收到一个返回值,这个返回值难道不该赋值给一个变量??我认为应该是这样的m_nMoveCount=AddMove(j,i,nPly) ; 我错了?如果我错了的话,那么在c里边也可以这样实现?
}
} CHistoryHeuristic::MergeSort(m_MoveList[nPly], m_nMoveCount, 0);
return m_nMoveCount;
}
{
public:
CMoveGenerator();
virtual ~CMoveGenerator();
int CreatePossibleMove(BYTE position[GRID_NUM][GRID_NUM], int nPly,int nSide); STONEMOVE m_MoveList[10][225];
protected:
int AddMove(int nFromX,int nToX,int nPly);
int m_nMoveCount;
};int CMoveGenerator::AddMove(int nToX, int nToY,int nPly)
{
m_MoveList[nPly][m_nMoveCount].StonePos.x = nToX;
m_MoveList[nPly][m_nMoveCount].StonePos.y = nToY;
m_nMoveCount++;
m_MoveList[nPly][m_nMoveCount].Score = PosValue[nToY][nToX];
return m_nMoveCount;//这里返回m_nMoveCount
}
int CMoveGenerator::CreatePossibleMove(BYTE position[GRID_NUM][GRID_NUM], int nPly, int nSide)
{
int i,j;
m_nMoveCount = 0;
for (i = 0; i < GRID_NUM; i++)
for (j = 0; j < GRID_NUM; j++)
{
if (position[i][j] == (BYTE)NOSTONE)
{
AddMove(j, i, nPly);//这里收到一个返回值,这个返回值难道不该赋值给一个变量??我认为应该是这样的m_nMoveCount=AddMove(j,i,nPly) ; 我错了?如果我错了的话,那么在c里边也可以这样实现?
}
} CHistoryHeuristic::MergeSort(m_MoveList[nPly], m_nMoveCount, 0);
return m_nMoveCount;
}
解决方案 »
- 如何使用dll导出多个值,在dll中如何传出调用函数的值
- help:画一举行框,大小可调节,还可以移动!!
- 关于程序的计算问题
- CListCtrl排序的问题
- 大家帮我看看这段代码为什么会有GDI对象泄露!
- 请高手帮忙:关于VC调用MATLAB时,导入*.mat数据文件的问题?
- 请问我这个画图的代码,怎么在2000和XP下运行是正常的,98下就不行呢??急啊!!谢谢
- XP风格的界面实现的原理是什么?
- 为什么不能添加Method了?
- p_Set->MoveLast(); p_Set->MoveNext();为什么会出错?如何遍历整个数据库???
- 如何为一个CButton类的对象建立消息映射?
- 关于SendMessageTimeout()函数的使用
你说的那个地方就没必要再写成m_nMoveCount=AddMove(j,i,nPly);了吧