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')
を与えているコードの一部であるとした理由を知りませんどんな助けにも大いに感謝されるでしょう。
ようこそStackOverflow。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)がここに適用されます。コードを投稿してから(最小限ではなく)、問題を正確に記述するまで、効果的にあなたを助けることはできません。エラーメッセージ全体、特にトレースバック(特定のエラー行を表示)を含めます。 – Prune
この素敵な[デバッグ](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)のブログを参照してください。とりわけ、** X_Pos **と** Y_Pos **の値をトレースする1つまたは2つのプリントを挿入することから始めます。 – Prune
コードのどの行が範囲外の例外をスローしますか?コード全体を読むのは難しいです。具体的にする。 – Prabu