我正在尝试创建我的代码所做的简单可视化。我正在制作Poisson-Disk-Distribution类,以在有界矩形区域中生成一组随机点。基本上,它的作用是在有界区域中随机生成指定数量的点,并确保每个点距离所有其他点至少一定距离。稍后将使用随机点来生成随机迷宫。
我已完成编码,但我想快速目视检查它是否有效。我想在控制台上输出点作为文本。生成的每一个点都有一个X值和一个Y值,所以我希望我可以通过某种方式在一个点可能位于任何地方标记x来输出控制台中生成的点。
例如,如果我有一个宽度和高度为4的边界矩形,并且点p1 =(0,0)和p2 =(2,2),它可以输出以下内容:
----
--x-
----
x---
其中 - 是图上的空格,x是点p1和p2。
所以,我对如何编写这个打印功能感到困惑。这听起来很简单,但我似乎无法实现它。
哦,我把它标记为家庭作业,但它并不是我项目的一部分。我只是想通过实现这个快速(好吧,对我来说不那么快)功能来检查我的代码是否真的正常工作。欢迎任何提示/建议/解决方案。
谢谢!
-
编辑:
“点”是Point对象,它们的x和y坐标包含两个整数值 poisson-disk-generator生成指定数量的Point对象并将它们放在列表中
答案 0 :(得分:3)
假设您的数据结构是(x,y)对的列表,那么简单的打印功能可能是:
for each row
for each column in current row
if the pair (col,row) exists in the list of (x,y) points
print "x"
else
print "-"
print newline
由于这至少有三个嵌套循环,它不是世界上最有效的算法,但对于你可以合理地打印到控制台的任何网格来说它都会非常快。通过预先对生成的点列表进行排序并更改搜索算法可以获得改进,但您现在可能不需要这样做。