私の問題は、この迷路ゲームを作成する必要があります。すべては、 "迷路"の南を移動する以外は正常に動作します。そこで、プレイヤーがどこに行きたいのかをスキャンし、それに基づいてプレイヤー "P"の場所を配列で編集します。これは北、東、西に行くのにうまくいきますが、南には行きません。java mazeゲームのエラーが一方向にのみ、配列を使用して
私は11 * 11の配列を持ち、これはPに等しい要素の1つにあります。ユーザー入力に基づいて、このPは北または南または東または西になります。 (---と表示されます)。
for (int i = 0; i < currentPos.length; i++) {
for (int j = 0; j < currentPos[0].length; j++) {
if (currentPos[i][j].equals("P")) {
if (direction.equals("north")) {
if (currentPos[i - 1][j].equals("---")) {
continue;
} else {
currentPos[i][j] = " ";
currentPos[i - 2][j] = "P";
break;
}
}
if (direction.equals("south")) {
if (currentPos[i + 1][j].equals("---")) {
continue;
} else {
currentPos[i][j] = " ";
currentPos[i + 2][j] = "P";
break;
}
}
}
}
}
インポート部分は[I-2] [J]または[I + 2] [J]一部らしいあろう。私はここに2つの方向しか置いていませんが、他の2つは[i] [j-2]と[i] [j + 2]でうまく動作します。
壁をチェックする前に([i-1] [j] .equals( "---")){)、南は常に境界外のエラーを出します。今私は壁をチェックするだけで壁に当たるまで南に行く。
ありがとう!魅力的に働いた。説明のおかげで、本当に便利でした! – Joris