必要なJavaコードを作成してフォローイングタスクを実行します。地下ダンジョンのマップを生成するためのアルゴリズムは、ダンジョンに追加する壁と部屋をランダムに選択することに基づいています。次に、選択した壁のランダムな場所にドアが置かれ、壁のドアの位置に合った部屋にドアが置かれます。その後、2つの部屋がドアに沿って並んでおり、新しい部屋が既存の部屋と重複する場合、アルゴリズムは新しい部屋が重複しなくなるまで移動しようとします。このプロセスは、利用可能なすべての部屋が配置されるまで、または特定の数の試行後にアルゴリズムが部屋の配置に失敗するまで繰り返されます。その結果、接続された部屋とドアを備えた地下ダンジョンのランダムに生成されたマップが生成されます。
write the required java code to perform the followings tasks: The algorithm for generating a map of an underground dungeon is based on randomly selecting a wall and a room to add to the dungeon. A door is then placed at a random location on the selected wall, and a door is placed on the room that matches the location of the door on the wall. The two rooms are then aligned along the door, and if the new room overlaps with an existing room, the algorithm attempts to move the new room until it no longer overlaps. This process is repeated until all available rooms have been placed, or until the algorithm fails to place a room after a certain number of attempts. The result is a randomly generated map of an underground dungeon with connected rooms and doors.