X と O の迷路を解く迷路ソルバー プログラムを作成しようとしています。私がやりたいのは、ポイントのクラスを作成して、出力ページへの印刷とスタックの実装を比較的簡単にするポイントの 2 次元配列を作成できるようにすることです。
私が実際のプログラム自体に実装したい一般的なアイデアの最も単純なアルゴリズムは、次のようになるはずです。
1) Move forward
2) Are you at a wall?
2a) If yes, turn left
3) Are you at the finish?
3a) If no, go to 1
3b) If yes, solved
しかし、より詳細なアルゴリズムを考え出すのと、ポイント クラスを配置するのに苦労しています。ポイントについては、X 座標を設定し、Y 座標と 2 つのゲッターも設定する必要があることを知っています。これらの 2 つよりも多くのメソッドが必要だと思いますか? 同様に、x 座標と y 座標をパラメーターとして渡すメソッドを作成して、x と y を個別に設定するのではなく、それらを 1 つにプッシュできるようにする必要がありますか?
サンプルの迷路は次のようになります。右下から開始し、左上にトラバースしようとします。X は壁、O は迷路の空きスペースです。
O O O O O X O
X X O X O O X
O X O O X X X
X X X O O X O
X X X X O O X
O O O O O O O
X X O X X X O