public bool Solve_Maze(int X_Pos, int Y_Pos)
{
bool Move = false;
//Checking if the position isnt on the finish
if (maze_board[X_Pos,Y_Pos] == 'e')
{
Move = true;
maze_board[X_Pos,Y_Pos] = '+';
return Move;
}
// Check for a wall
if (maze_board[X_Pos, Y_Pos] == '1')
return false;
if (maze_board[X_Pos, Y_Pos] == 'X')
return false;
maze_board[X_Pos, Y_Pos] = 'X';
Move = Solve_Maze(X_Pos + 1, Y_Pos);
Move = Solve_Maze(X_Pos, Y_Pos + 1);
Move = Solve_Maze(X_Pos - 1, Y_Pos);
Move = Solve_Maze(X_Pos, Y_Pos - 1);
maze_board[X_Pos, Y_Pos] = '+';
return Move;
}
这是给我错误的代码
if (maze_board[X_Pos,Y_Pos] == 'e')
在编程方面,我是一个完整的新手,并且在大学任务中被抛入深层,所以任何帮助都会非常感激
答案 0 :(得分:-2)
为了获得该错误,您必须已将maze_board[]
声明为该方法之外的变量。相反,将maze_board作为参数传递给此方法,以便您确定它已初始化并保持当前的迷宫。这是一个猜测,因为我看不到maze_board变量的原始声明。你可以发布整个代码文件吗?