Java动态矩阵

Java动态矩阵,java,editor,maze,Java,Editor,Maze,好吧,标题说明的很少,但我想做一个迷宫的编辑。我的任务是做一个迷宫解算器。我是通过读取一个文件来实现的。第一行包含行和列计数。之后,它是一个迷宫的符号,使迷宫。我浏览了每个地方,根据符号制作了一个矩阵,其中的数字代表那里的内容 For Instance: 11 25 ************************* * *** ** ** * ***** ***** **** ** *** ********** **** ** ****

好吧,标题说明的很少,但我想做一个迷宫的编辑。我的任务是做一个迷宫解算器。我是通过读取一个文件来实现的。第一行包含行和列计数。之后,它是一个迷宫的符号,使迷宫。我浏览了每个地方,根据符号制作了一个矩阵,其中的数字代表那里的内容

For Instance:

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

1111111111111111111111111
1001110000000000000000011
1100010111110111110001111
1101110011111111110001111
1101111000000100000001111
1100000111110111110000011
1101110111110111111111011
1101110111110111111111011
1100110111110111111111011
1001110000000001110000011
1111111111111111100011111
这就是我的矩阵。现在我要解决这个问题,所以这不是问题。但我需要它,这样我就可以要求行数和列数,画一个大小相同的矩形,使一个矩阵[row][column]很大,包含所有0,适合屏幕,根据矩阵对其进行网格化,然后当他们单击矩阵[0][0]的框时,它会将其更改为1,表示矩阵中某个点的每个网格框都是1

这样,我可以让他们制作一个迷宫,然后让程序解决它,或者他们可以保存它

当然这就是我遇到的问题,我如何根据行和列的数量绘制一个具有网格的矩形,然后使其成为我知道他们单击的位置

任何帮助都会很好


编辑:好的,我让它根据给定的行和列绘制迷宫。我有它检测点击,它可以放在广场上,我点击。但它不会改变整个矩阵,然后重新绘制整个矩阵

正如您似乎已经解决的那样,您可以使用
new
操作符制作任意大小的迷宫:

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

我不知道您使用的是什么用户界面包,但大多数都是沿着相同的路线工作的:屏幕有一定数量的像素宽和高,您可以通过指定起点和终点的像素坐标来绘制线条。同样,当用户单击时,您将获得以像素为单位的单击坐标。你可以用屏幕的总宽度和高度除以迷宫的行数和列数来确定盒子的大小。使用这些尺寸绘制迷宫。您还可以通过获取点击像素的(x,y)坐标,并将x除以框宽,y除以框高(可能是在调整了开始绘制迷宫的位置后,如果不是在像素(0,0))来确定点击的行和列。

hmm我尝试过类似的方法,但我似乎仍然无法使其工作。窗口的大小设置为500500开始,迷宫从0,0开始绘制,然后在列数量和行数量上绘制。有大小为windowWidth/列和WindowHight/行的框。什么不起作用?您可能需要稍微调整公式以考虑框边界的宽度。