6-3 为啥newx,newy要乘以2,而setdata却不需要呢?
来源:6-3 深度优先遍历生成迷宫
慕虎7937911
2020-05-07
写回答
1回答
-
liuyubobobo
2020-05-08
newX newY 找的是隔着墙的那个位置,而 setData 就是把中间隔得那道墙打通。
墙的坐标是 x + d[i][0], y + d[i][1],跨过这道墙的那个通路的坐标是 x + d[i][0]*2,y + d[i][1]*2
用一个小的测试用例,实际跟踪一下,我们算出来的 newX 和 newY 与setData 中传的参数到底都是什么?对应到整个图的二维数组中,这些坐标对应的元素到底是什么?与本身 x,y 的关系是什么?d 数组在起什么作用?把这段程序真正搞明白。
也或者,可以根据你自己的思路,按照你的想法,修改代码,看结果是否正确?如果不正确,跟踪一下,看看为什么会不正确?在反推一下,自己的思路哪里有问题?
进步就发生在这个过程中哦。
加油!:)
00
相似问题