我正试图通过C创建一个名为“尖峰时刻”的游戏。我目前遇到的问题是,我搬家的汽车正在排除其他汽车。目前我正在通过1d数组编码。对于二维数组我不是最舒服的,所以这就是为什么我没有通过这种方法接近它并且到目前为止一直坚持。
void moveCar (char car, char direction, int distance)
{
if ( car== 'g' && direction == 'r' && distance >= 0 && board[i] != '.')
{
int i;
for(i=63; i>=0; i--)
{
if(board[i]=='G')
{
board[i + distance] = board[i];
board[i] = '.';
}
}
}
这是当前的代码。董事会[i]!='。'漂浮在许多区域周围进行测试,作为错误检查,但失败了。
答案 0 :(得分:0)
如果您想测试int i
,则必须在if
条件之前声明board[i] != '.'
。您的声明必须在使用之前。
我还假设char board[]
是全球性的。如果不是那么这里也存在问题。
然后检查board[i + distance]
是否不在int board[]
边界之外。由于您可以与参数保持距离,因此您只需检查他是>= 0
。