qq_21899851
顔汐
2016-02-26 13:18
采纳率: 25%
浏览 1.5k
已采纳

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无法读取,但是容易模式又没有问题)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

相关推荐