函数调用逻辑错误
bool GetFood(FOOD food)
{
srand((unsigned) time(0));
food.iRow = rand()%16;
food.iCol = rand()%16;
int iCount = 0;
if(/*.. 生成的坐标和墙壁的坐标重合 .. */)
{
iCount++;
}
if(iCount++)
GetFood(food);
}
调用的时候是: if(/... 当food被吃掉后 .../)
GetFood(SnakeFood);
在函数被调用后,他会不断的产生随机数,直接导致程序崩溃;
如果在函数中写成
if(iCount++)
{
iCount = 0;
GetFood(food);
}
在调用几次后才会崩溃,很费解,有哪位前辈能解释下我这个函数调用的逻辑问题啊,我觉得应该是在生成了不与墙重合的坐标后就会结束程序的啊。