0

わかりました。タイトルはほとんどわかりませんが、迷路のようなエディターを作成したいと思っています。迷路ソルバーを作るという任務がありました。私はファイルを読むことによってこれを行いました。最初の行には行と列の数があります。その後、迷路を作るのはシンボルの迷路です。私はそれぞれの場所を駆け巡り、シンボルに応じて、そこに何があったかを表す数字のマトリックスを作成しました。

For Instance:

11 25
*************************
*  ***                 **
**   * ***** *****   ****
** ***  **********   ****
** ****      *       ****
**     ***** *****     **
** *** ***** ********* **
** *** ***** ********* **
**  ** ***** ********* **
*  ***         ***     **
*****************   *****

1111111111111111111111111
1001110000000000000000011
1100010111110111110001111
1101110011111111110001111
1101111000000100000001111
1100000111110111110000011
1101110111110111111111011
1101110111110111111111011
1100110111110111111111011
1001110000000001110000011
1111111111111111100011111

それが出てくる私のマトリックスです。今、私はこれを解決しているので、それは問題ではありません。しかし、行数と列数を尋ね、そのサイズの長方形を描き、画面に収まるすべて0の行列[行] [列]を大きくし、行列に基づいてグリッド化してから、彼らはmatrix[0][0]用のボックスをクリックし、それを1に変更し、マトリックス内のスポットを表すグリッドボックスごとに1つ変更します。

そうすれば、私は彼らに迷路を作ってもらい、それをプログラムに解決させるか、彼らにそれを保存させることができます。

もちろん、これは私が問題を抱えているところです。行と列の数に基づいてグリッドを持つ長方形を描画し、それを作成して、クリックした場所を知るにはどうすればよいですか......

どんな助けでも素晴らしいでしょう。

編集:OK私は与えられた行と列に基づいて迷路を描いています。クリックを検出して、クリックした場所に正方形を置くことができます。ただし、マトリックス全体を変更してから、全体を再描画するわけではありません。

4

1 に答える 1

1

newすでに解決しているように見えるので、演算子を使用して特定のサイズの迷路を作成できます。

int[][] maze = new int[rows][cols];

使用しているユーザーインターフェイスパッケージはわかりませんが、ほとんどが同じ線に沿って機能します。画面は幅と高さが一定のピクセル数であり、開始と終了のピクセル座標を指定して線を描画します。同様に、ユーザーがクリックすると、クリック座標がピクセル単位で取得されます。画面の全体の幅と高さを迷路の行と列の数で割ることで、ボックスのサイズを決定できます。それらの寸法を使用して迷路を描きます。クリックの(x、y)座標をピクセル単位で取得し、xをボックスの幅で、yをボックスの高さで除算することで、クリックの行と列を決定することもできます(迷路の描画を開始した場所を調整した後、ピクセル(0,0)になかった場合)。

于 2011-03-04T05:51:49.917 に答える