For some reason whenever I try to swap 0 with board[0][0] I get an illegal move error. Besides that everything is fine. What gives?
int column = 0;
int row = 0;
int box;
int space;
for (int i = 0; i < d * d; i++)
{
space = 0;
column++;
if (column == d)
{
column = 0;
row++;
}
if (board[row][column] == tile)
{
if (column > 0)
{
if (space == board[row][column - 1])
{
box = board[row][column - 1];
board[row][column - 1] = board[row][column];
board[row][column] = box;
return true;
}
}
if (column < d - 1)
{
if (space == board[row][column + 1])
{
box = board[row][column + 1];
board[row][column + 1] = board[row][column];
board[row][column] = box;
return true;
}
}
if (row > 0)
{
if (space == board[row - 1][column])
{
box = board[row - 1][column];
board[row - 1][column] = board[row][column];
board[row][column] = box;
return true;
}
}
if (row < d - 1)
{
if (space == board[row + 1][column])
{
box = board[row + 1][column];
board[row + 1][column] = board[row][column];
board[row][column] = box;
return true;
}
}
}
}
return false;
}