- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试创建一个具有深度优先搜索的迷宫并且该算法工作正常但我在控制台中实际绘制迷宫并通常表示迷宫时遇到问题。我之前的尝试包括表示网格的每个位置在一个 3x3 的 block 中,如果有一面墙,我会为每个位置画一堵墙,但这会为左/右、上/下的每个方向提供 2 堵墙。我的第二次尝试是尝试将迷宫放入维度为 +(维度 - 1)的二维数组中,并将墙壁视为如下所示的线:
这是我的尝试:
int dimTemp = dim + (dim - 1);
String[][] mazeDrawn = new String[dimTemp][dimTemp];
int posRow, posCol;
int nodeRow = 0;
int nodeCol;
for(int wallRow = 1; wallRow <= dimTemp; wallRow += 2)
{
if(wallRow >= dimTemp)
{
wallRow--;
posRow = wallRow;
}
else posRow = wallRow - 1;
nodeCol = 0;
for(int wallCol = 1; wallCol <= dimTemp; wallCol += 2)
{
if(wallCol >= dimTemp)
{
wallCol--;
posCol = wallCol;
}
else posCol = wallCol - 1;
Node current = maze[nodeRow][nodeCol];
mazeDrawn[posRow][posCol] = current.getPosValue();
if(current.right) mazeDrawn[posRow][wallCol] = "#";
else mazeDrawn[posRow][wallCol] = " ";
mazeDrawn[wallRow][wallCol] = "#";
if(current.down) mazeDrawn[wallRow][posCol] = "#";
else mazeDrawn[wallRow][posCol] = " ";
nodeCol++;
}
nodeRow++;
}
for(int row = 0; row < mazeDrawn.length; row++)
{
for(int col = 0; col < mazeDrawn.length; col++)
{
System.out.print(mazeDrawn[row][col]);
}
System.out.println();
}
这是我运行 DFS 之前 10x10 迷宫的输出,其中每个位置之间都有墙,# 是“墙”和 .是位置
.#.#.#.#.#.#.#.#.##
###################
.#.#.#.#.#.#*#.#.##
###################
.#.#.#.#.#.#.#.#.##
###################
.#.#.#.#.#.#.#.#.##
###################
.#.#.#.#.#.#.#.#.##
###################
.#.#.#.#.#.#.#.#.##
###################
.#.#.#.#.#.#.#.#.##
###################
.#.#.#.#.#.#.#.#.##
###################
.#.#.#.#.#.#.#.#.##
###################
###################
底部和右边缘有问题,应该遵循之前的模式。我不确定这是否是表示迷宫的好方法。还要澄清一下,我只是想打印到控制台。
最佳答案
您可以很容易地用每个单元格一个字节(实际上是四位)来表示迷宫。为每个单元壁分配一个位。例如:
0
_
3 |_| 1
2
因此,所有四面墙都存在的单元格将表示为二进制 1111 或 15。如果仅存在顶墙和右墙,则值为 0011 或 3。没有墙的单元格的值为 0。
您也可以做得更好。如果您推断迷宫顶部和左侧边缘的所有单元格都存在顶部和左侧壁,那么每个单元格只需要两位。如果您从左上角到右下角绘制迷宫,那么对于每个单元格,您只需要弄清楚底壁或右壁是否存在。没有理由检查左侧或顶部,因为它们会被前一列或前一行绘制。
当然,如果您在第 5 行第 3 列(即单元格 [5, 3]),并且您想知道上面是否有墙,则必须检查单元格 [4, 3] 才能看到如果单元格底部的墙存在。这会增加一点计算量,但可以节省 50% 的空间。
关于java - 绘制和表示带有阵列墙的迷宫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32198377/
我有一个 facebook 的“点赞”应用程序 - 一个供多个“团队”使用的虚拟白板,这些团队共享该项目共有的“墙”。我捕获了大约 9-12 个实体的数据。我试图让用户的主页显示自上次登录以来发生的
是否可以在网站上共享 facebook 墙?我想让我网站上的每个登录用户都可以在某个区域查看他的 facebook 墙。如果用户没有登录到 facebook 我想让他登录,那么这将允许他查看他的墙。我
我找到了一些答案,但我无法将其付诸实践。我在将本地镜像分享到 Facebook 墙上时遇到一些问题。 我想要的是使用共享对话框将本地镜像上传到 Facebook 墙。 我尝试使用 PHP sdk 成功
我正在尝试复制在 Facebook 墙上分享故事的功能,类似于 site有。 当您点击分享时,它应该要求您验证 Facebook 的身份,如果您已经通过身份验证,它应该向您显示要发布到 Faceboo
在 documentation对于“发送”对话框,它显示 ... They’ll have the option to privately share a link as a Facebook mes
使用 Facebook PHP SDK,我需要采取什么步骤来允许用户从另一个网站发布到他们的 Facebook 墙上? 例如: 用户登录外部网站 用户创建帖子 用户在提交前点击“推送到 Faceboo
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我正在使用 Java 构建一个 Web 门户;除了其他要求之外,我正在努力解决一个非常简单的(至少乍一看)要求:我的客户希望在他的门户网站上看到他的 Facebook 墙的前 N 个帖子他想阅读他
嗨,我正在使用以下代码发布到 friend 墙,效果很好。 我想在 TextView 中预填充该文本,上面写着在 friend 的墙上写一些东西。 可以编辑吗?如果是,那怎么办? 这是代码 NSMut
我有一个代表我角色的精灵。此精灵根据我的鼠标位置旋转每一帧,这又使它旋转,因此我的矩形根据鼠标所在的位置而变大和变小。 基本上我想要做的是让我的Sprite(Character)不会进入Sprite墙
我正在使用 Javascript SDK 将内容发布到用户 friend 墙上: var publish = { method: 'stream.publish',
我正在使用这种简单的方式将文本发布到我的墙上: Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("http://twitt
我正在使用 facebook sdk,需要将详细信息分享到 facebook 时间线。我正在使用以下 API 调用。 [FBRequestConnection startWithGraphPath
据我所知,为了让移动应用程序将图片上传到用户的 facebook 墙上,我需要一个具有以下权限的 fb 应用程序: 用户照片 发布 Action 但这些权限需要提交并由 facebook 团队审核。在
各位开发者大家好, 我正在寻找重新注册 Facebook Connect 的解决方案。 我们开发了一个 iOS 游戏,其中我们有一个虚构的角色作为主角,他也有一个公开的 Facebook 个人资料。
概述: 我有一个网站,其中有人们可以发布到 Facebook 的句子,但每个句子中都有输入框,人们可以更改默认值。有点像数字“Mad Lib”。每行都有一个按钮,可以将该行发布到 Facebook。
我有一个使用 ASP.NET webform .NET 4.5 C# 制作的网站。这个站点包含一个论坛(由我自制),这个论坛的部分内容需要发布到特定的 facebook 墙上(为这个网页制作)。我需要
我开发了一个应用程序来将简单的文本发布到 facebook。这是我正在使用的代码.. Bundle parameters = new Bundle(); parameters.putString("m
我正在尝试仅使用 CSS 创建墙壁图案。墙应该像现实生活中的墙一样自下而上生长。多亏了 flex,我才做到了这么多。我现在正尝试以不均匀的模式排列 div,以使其更逼真。 Like this (我知道
这个问题已经被问过好几次了,但是在阅读了很多不同的帖子之后,我仍然没有一个可以发布到墙上的基本版本。 我想用 python 发布到 FB 用户的墙上。 PHP SDK ( https://github
我是一名优秀的程序员,十分优秀!