问题描述
- cocos2d-x的一个无法读取内存的问题
-
想请教一个关于内存的一个象棋游戏游戏内出现的问题,象棋游戏我在做AI的时候,分简单和困难,下面是简单模式AI产生一个步骤的接口(需要传入的是游戏场景指针):
Step* AI::genStep(SceneGameReal* game)
{Array* allMove = allPossibleMove(game);
int highScore = -100000;//初始化一个最高的走棋得分
Step* ret;
for (int i = 0; i < allMove->count(); i++)
{
Step* step = (Step*)allMove->objectAtIndex(i);
VirtualMove(game, step);
int score = calcScore(game);
if (score > highScore)
{
highScore = score;
ret = step;
}
InFactMove(game, step);
}
return ret;
}另外一个是困难模式下产生步骤的接口(也是传入游戏场景指针,另外加一个函数操作深度,下面的_step和_level是AI中定义的成员):
Step* AI::genStep(SceneGameReal* game, int level)
{_step = NULL;
_level = level;
alphaBetaSearch(level, -100000, 100000, game);
return _step;
}那么问题来了,简单模式下可以正常的运行,但是换成困难模式就出现了无法读取内存了。(显示是this也就是AI的_step 和_level无法读取,但是容易模式又没有问题)
解决方案
http://blog.csdn.net/azhou_hui/article/details/8505792
时间: 2024-10-28 12:55:44