有一个带有不同颜色球的 9x9 单元板(二维阵列)。玩家可以将球从一个单元格移动到另一个单元格。球可以在当前单元格和目标单元格之间的单元格上以没有球的路径移动。
我只认为我必须使用重复来实现此路径检查。但我不知道如何实现这个功能。
我曾尝试实现该功能。但我知道它会导致无限循环。
bool board::moveCheck(int x1, int y1, int x2, int y2)
{
if(x1==x2&&y1==y2)
return true;
else if(y1-1>=0)
board::moveCheck(x1,y1-1,x2,y2);
else if(y1+1<9)
board::moveCheck(x1,y1+1,x2,y2);
else if(x1-1>=0)
board::moveCheck(x1-1,y1+1,x2,y2);
else if(x1+1<9)
board::moveCheck(x1+1,y1+1,x2,y2);
else
return false;
}