私は小さな迷路ゲームのための元に戻す機能を取得する方法を理解しようとしています。まず、最後の方向が何だったのかを確認し、反対方向に戻ってこれを行う方法を工夫しました。しかし、私はまた、アイテムのピックアップや隠れた壁などを追跡する必要があったので、このコードはあまりにも長くなっていたテキストベースのJavaの元に戻す関数
コードの背景情報:これは迷路を保存するために私はこれが最も簡単だったので使用します。私はすべての文字列を格納するためにArraylist<String[][]>
を使用します。 各ステップの後、プレーヤーはString[][]
アレイをarraylistに保存します。プレイヤーがアンドゥと言うとき、私はarraylistの最後のString[][]
を見て、String[][]
をこれに戻したいと思っています。しかし、currentPosは更新されることはありません。問題がどこにあるのか分かりません。
if (direction.equals("north")) {
if (currentPos[i - 1][j].equals("---")) {
continue;
} else {
currentPos[i][j] = " ";
currentPos[i - 2][j] = "P";
break;
}
}
if (direction.equals("undo")) {
currentPos = history.get(history.size()-2);
history.remove(history.size()-1);
break;
}
質問がありますか? – Zachary
デバッガでコードをステップ実行しましたか? –
なぜ動作しないのですか?どうすれば動作させることができますか?私の目では、これはcurrentPosが以前のものと同じであることを確認するはずですが、そうではありません。 – Joris