在二维数组中随机生成簇

2024-02-05

我正在创建一个 2d 图块游戏,并且想知道在其中生成特定图块类型的簇的最佳方法是什么。例如,假设我有一个二维数组,它是我的地图。草用0表示。

{{0, 0, 0, 0, 0, 0}
 {0, 0, 0, 0, 0, 0}
 {0, 0, 0, 0, 0, 0}
 {0, 0, 0, 0, 0, 0}
 {0, 0, 0, 0, 0, 0}
 {0, 0, 0, 0, 0, 0}}

现在,我想做的是在数组中随机创建一簇树(用 1 表示)。我希望它看起来像这样:

{{0, 0, 0, 0, 0, 0}
 {0, 0, 0, 0, 0, 0}
 {0, 1, 1, 1, 0, 0}
 {0, 1, 1, 1, 1, 0}
 {0, 0, 1, 1, 1, 0}
 {0, 0, 1, 1, 0, 0}}

最好的方法是什么?


实现一个方法 M,它执行以下操作:对于给定的一组位置 S,它采用其相邻位置 N,但仅采用那些内部没有树的位置;把树放进去some这些相邻位置 N,并调用自身递归地仅传入放置树的相邻位置 K(K 是 N 的子集)。

现在触发整个事情:将一棵树随机放置在一个点上p,并调用 M 传递仅包含该位置的集合/列表p到方法M。

该算法保证您将生成一个簇(我的意思是一组树,其中每两棵树都由其他树连接)。

确保递归在某个时刻停止(您可以通过引入某些阈值或适当使用其他启发式方法来实现这一点)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在二维数组中随机生成簇 的相关文章

  • Java - 因内存不足错误而关闭

    关于如何最好地处理这个问题 我听到了非常矛盾的事情 并且陷入了以下困境 OOME 会导致一个线程崩溃 但不会导致整个应用程序崩溃 我需要关闭整个应用程序 但不能 因为线程没有剩余内存 我一直认为最佳实践是让它们离开 这样 JVM 就会死掉
  • “java.io.IOException:连接超时”和“SocketTimeoutException:读取超时”之间有什么区别

    如果我设置一个套接字 SoTimeout 并从中读取 当读取时间超过超时限制时 我会收到 SocketTimeoutException 读取超时 这是我的例子中的堆栈 java net SocketTimeoutException Read
  • Oracle Java 教程 - 回答问题时可能出现错误

    我是 Java 新手 正在阅读 Oracle 教程 每个部分之后都有问题和答案 我不明白一个答案中的一句话 见下面的粗体线 来源是https docs oracle com javase tutorial java javaOO QandE
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • 如何使用正则表达式验证 1-99 范围?

    我需要验证一些用户输入 以确保输入的数字在 1 99 范围内 含 这些必须是整数 Integer 值 允许前面加 0 但可选 有效值 1 01 10 99 09 无效值 0 007 100 10 5 010 到目前为止 我已经制定了以下正则
  • 从直方图计算平均值和百分位数?

    我编写了一个计时器 可以测量任何多线程应用程序中特定代码的性能 在下面的计时器中 它还会在地图中填充花费了 x 毫秒的调用次数 我将使用这张图作为我的直方图的一部分来进行进一步的分析 例如调用花费了这么多毫秒的百分比等等 public st
  • 当 minifyEnabled 为 true 时 Android 应用程序崩溃

    我正在使用多模块应用程序 并且该应用程序崩溃时minifyEnabled true in the installed模块的build gradle 以下是从游戏控制台检索到的反混淆堆栈跟踪 FATAL EXCEPTION Controlle
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • 通过 appassembler-maven-plugin 生成的脚本无法在 Spring Boot 应用程序中找到主类

    我使用 appassembler maven plugin 生成的启动脚本有问题 我有一个基本的 spring boot 应用程序 只有一个类 SpringBootApplication public class ScriptDemoApp
  • Java、Spring:使用 Mockito 测试 DAO 的 DataAccessException

    我正在尝试增加测试覆盖率 所以我想知道 您将如何测试 DAO 中抛出的 DataAccessExceptions 例如在一个简单的 findAll 方法中 该方法仅返回数据源中的所有数据 就我而言 我使用 Spring JdbcTempla
  • 用于缓存的 Servlet 过滤器

    我正在创建一个用于缓存的 servlet 过滤器 这个想法是将响应主体缓存到memcached 响应正文由以下方式生成 结果是一个字符串 response getWriter print result 我的问题是 由于响应正文将不加修改地放
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • Play.application() 的替代方案是什么

    我是 Play 框架的新手 我想读取conf文件夹中的一个文件 所以我用了Play application classloader getResources Data json nextElement getFile 但我知道 play P
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • 如何使用通配符模拟泛型方法的行为

    我正在使用 EasyMock 3 2 我想基于 Spring Security 为我的部分安全系统编写一个测试 我想嘲笑Authentication http docs spring io autorepo docs spring secu

随机推荐

  • 如何在 Javascript 中生成倾斜的随机数?

    使用 Javascript 如何生成偏向分布一端或另一端的随机数 或者理想情况下是范围内的一个点 对于上下文 我正在创建一个使用随机灰色方块网格的用户界面 我正在使用生成灰色的 RGB 值Math random 但希望能够将灰色平均偏深或偏
  • Hyperledger Fabric 链码开发语言 - NodeJS、Java 还是 Go?

    考虑到现有功能 开发人员生产力 假设每种语言的经验最少 Fabric 社区内的支持以及增强的路线图 是否有任何链码开发语言应该作为短期首选 或者单独作为长期选择 先前的问题Node js 还是 Go 来进行 Hyperledger Fabr
  • 通过过滤器在 Servlet 中设置身份验证标头

    Preface 这是我第一次尝试过滤器 请温柔一点 项目介绍 我正在尝试为我们的几个应用程序完成 SSO 的构建 但我似乎遇到了困难 我尝试连接的 Web 应用程序使用 身份验证 标头来确定应用程序内的用户凭据 我构建了一个过滤器 希望在将
  • 您知道任何用于 C 或其他语言的在线编译器吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Any 在线C编译器您知道哪个可以执行以下操作 在线编译并执行C程序 文件处理 系统功能如exec system fork 或者任何不需要
  • 如何检查 QuickWatch 中是否分配了事件处理程序

    我需要知道如何检查已分配的任何事件处理程序 在 快速观看 中 我不确定我是否正确理解了这个问题 但我会尝试一下 如何检查是否有任何事件处理程序附加到事件TestEvent TestEvent如果没有附加事件处理程序 则将为 null 如果附
  • DAO 和服务层(JPA/Hibernate + Spring)[重复]

    这个问题在这里已经有答案了 我正在设计一个基于 JPA Hibernate Spring 和 Wicket 的新应用程序 但我并不清楚 DAO 层和服务层之间的区别 根据维基百科 DAO 是 提供抽象的对象 某种类型数据库的接口或 持久化机
  • 将 TensorFlow 张量转换为 Numpy 数组

    问题描述 我正在尝试在 TensorFlow 2 3 0 中编写自定义损失函数 为了计算损失 我需要y pred要转换为 numpy 数组的参数 但是 我找不到将其转换为
  • 如何在 HttpClient/MultipartFormDataContent 中禁用 base64 编码的文件名

    我在用着HttpClient发布MultipartFormDataContent到 Java Web 应用程序 我上传几个StringContents和一个我添加为StreamContent using MultipartFormDataC
  • MVC 5 与 @Scripts.Render("~/bundles/jquery") 和 JQuery 对话框

    我刚刚开始从事 MVC 工作 今天 我尝试编写一个测试应用程序 以便在单击按钮时显示 Jquery 对话框 我在 Visual Studio 2013 中创建了一个 Web 项目并选择了 MVC 模板 在 Index cshtml 中我有以
  • 如何禁用 Android 设备 USB 端口

    我正在尝试搜索是否有一种方法可以禁用 Android 设备 USB 端口 主要是软件级别 因此用户仍然可以为 Android 设备充电 但无法再与 PC 通信 我得到了一些线索link1 https groups google com fo
  • 在 jquery mobile 中显示弹出屏幕时出现异常行为

    我正在实现弹出屏幕 但是当我单击按钮时 我的弹出窗口会显示 但是当我单击弹出屏幕上存在的字段时 它会显示键盘 以及我的背景图像 我没有在该页面上添加任何背景图像 我只在不同页面上添加背景图像 但当我滚动弹出屏幕时 它会显示在该页面中 i d
  • 在 Maven 构建阶段更新 jsp 脚本标记

    我想更新 src main webapp jsp 下 jsp 文件中所有脚本标记内的内容 如何在 Maven 构建阶段执行此操作 我正在使用 java spring maven 堆栈 好的 这是我想要实现的目标的示例 源代码
  • 排除 Gradle tar/zip 工件内的基本目录

    The Maven 组装插件 https maven apache org plugins maven assembly plugin assembly html has an includeBaseDirectory选项 当设置为 fal
  • Google Cloud Storage 并因找不到文件而收费

    有谁知道如果文件不存在 您是否需要为 Google Cloud Storage 中的文件请求付费 换句话说 有人访问您存储桶中不存在的文件是否会影响您的请求 或者这只适用于存在的文件 客户无需为导致 400 级或 500 级 HTTP 响应
  • 无法从flower.command导入名称FlowerCommand

    我已经安装了 apache airflow 版本 2 1 2 但是当我启动工作程序时 它说它无法从flower command 导入名称 FlowerCommand 操作系统centos 7 python版本是3 7 6 apahce ai
  • 使用 .NET FormsAuthentication 和持久 cookie 更改密码是否存在安全漏洞?

    好的 这是一个场景 Bob 登录 mysite com 该网站使用 NET 表单身份验证 并勾选 记住我 伊芙偷了鲍勃的笔记本电脑 鲍勃得到了一台新笔记本电脑 并更改了密码 现在 Eve 有一台被盗的笔记本电脑 上面存储了一个持久性 coo
  • 图像文件的 Django 内容类型

    我想在上传之前检查文件类型 content self cleaned data picture content type content content type split 0 当我上传图片时出现错误 NoneType object ha
  • toolbar.setNavigationOnClickListener 不起作用

    toolbar setNavigationOnClickListener 这个函数不起作用 不知道为什么 Activity main xml 布局
  • Django数据迁移FieldError

    我有一个模型 class User AbstractUser kind models ForeignKey UserKind blank True null True 当我尝试在迁移中更改某些用户时 def forward apps sch
  • 在二维数组中随机生成簇

    我正在创建一个 2d 图块游戏 并且想知道在其中生成特定图块类型的簇的最佳方法是什么 例如 假设我有一个二维数组 它是我的地图 草用0表示 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0