I've been working on fifteen.c for a little bit now. Move works just fine except it fails on one of the check50 tests - move up-up-left-down-down-left-up-up-right-down-down-right test. Is there an issue with how I am checking the moves?
Thanks in advance.
Here is my code:
if ( tile == 0 )
{
return false;
}
for ( int row = 0; row < d; row++ )
{
for ( int column = 0; column < d; column++ )
{
if ( board[row][column] == tile )
{
if ( board[row - 1][column] == 0 && row - 1 > 0 )
{
board[row - 1][column] = tile;
board[row][column] = 0;
return true;
}
else if ( board[row + 1][column] == 0 && row + 1 < d )
{
board[row + 1][column] = tile;
board[row][column] = 0;
return true;
}
else if ( board[row][column - 1] == 0 && column - 1 > 0 )
{
board[row][column - 1] = tile;
board[row][column] = 0;
return true;
}
else if ( board[row][column + 1] == 0 && column + 1 < d )
{
board[row][column + 1] = tile;
board[row][column] = 0;
return true;
}
}
}
}
return false;