是否有一种算法可以将威胁范围与二维网格上的任意移动范围相结合?

2023-12-31

我正在构建一个简单的基于 2D 网格的游戏,并正在寻找一种方法来计算每个角色可以在游戏板上施加的“威胁”区域。当前地点的威胁很容易计算 - 这是下面的红色菱形。但我希望将这些信息与任意“可以步行到这里”区域(橙色)结合起来。

该算法一起会给我我的角色可以从所有可用动作和当前位置攻击的所有图块的组合。

当然,我可以迭代所有可能的动作,在那里应用菱形并创建一组所有威胁方块。有没有更好的办法?


您在这里解决的问题类似于 2D卷积 http://en.wikipedia.org/wiki/Convolution:

---------------     ---------------     -------XX------
-------X-------     ---------------     ------XXXX-----
------XXX------     -------XX------     -----XXXXXX----
-----XXXXX-----  *  ------XXX------  =  ----XXXXXXX----
------XXX------     --------X------     -----XXXXXX----
-------X-------     ---------------     ------XXXX-----
---------------     ---------------     --------X------

在您的情况下,元素仅被覆盖或未被覆盖(相对于包含标量或向量值),这会减少到Dilation http://en.wikipedia.org/wiki/Mathematical_morphology#Dilation形态学操作。有许多关于膨胀的有效实现的论文和代码示例 -this one http://ostermiller.org/dilate_and_erode.html看起来特别适用于你的问题。

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

是否有一种算法可以将威胁范围与二维网格上的任意移动范围相结合? 的相关文章

  • 当给定块大小时反转单链表

    有一个单连接链表 并给出了块大小 例如 如果我的链表是1 gt 2 gt 3 gt 4 gt 5 gt 6 gt 7 gt 8 NULL我的块大小是4然后反转第一个4元素 然后是第二个 4 个元素 问题的输出应该是4 gt 3 gt 2 g
  • 如何光栅化旋转矩形(通过 setpixel 在 2d 中)

    我有四个 2d 顶点 A B C D 的旋转矩形 我需要在像素缓冲区中 有效地 光栅化 绘制它 使用 setpixel x y 颜色 怎么做 我正在尝试使用一些代码 例如 convertilg a b c d do up down left
  • 总和不小于 key 的数组的最小子集

    给定一个数组 假设为非负整数 我们需要找到最小长度子集 使得元素之和不小于 K K 是作为输入提供的另一个整数 是否有可能找到时间复杂度为 O n n 的大 oh 的解决方案 我目前的想法是这样的 我们可以在 O n log n 中对数组进
  • 在树结构的 Big-O 表示法中:为什么有些来源引用 O(logN),有些来源引用 O(h)?

    在研究遍历二叉搜索树的任何算法的复杂性时 我看到两种不同的方式来表达同一件事 版本 1 最坏情况下的遍历算法对树的每个高度进行一次比较 因此复杂度是O h 版本 2 最坏情况下的遍历算法对树的每个高度进行一次比较 因此复杂度是O logN
  • 优化计算中使用的 # 个线程的算法

    我正在执行一个操作 我们将其称为CalculateSomeData CalculateSomeData 在连续的 代 中运行 编号为 1 x 整个运行中的代数由CalculateSomeData 的输入参数固定 并且是先验已知的 完成一次生
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • 删除近排序数组中未排序/离群元素

    给定一个像这样的数组 15 14 12 3 10 4 2 1 我如何确定哪些元素乱序并删除它们 在本例中为数字 3 我不想对列表进行排序 而是检测异常值并将其删除 另一个例子 13 12 4 9 8 6 7 3 2 我希望能够删除 4 和
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • 排序矩阵的选择算法

    这是谷歌面试问题 给定一个 N N 矩阵 所有行均已排序 所有列均已排序 找到矩阵的第 K 个最大元素 在 n 2 中执行它很简单 我们可以使用堆或合并排序 n lg n 对它进行排序 然后得到它 但是有没有更好的方法 比 n lg n 更
  • sigmoid 的导数

    我正在使用反向传播技术创建一个神经网络进行学习 我知道我们需要找到所使用的激活函数的导数 我正在使用标准 sigmoid 函数 f x 1 1 e x 我已经看到它的导数是 dy dx f x f x 1 f x 这可能是一个愚蠢的问题 但
  • 字典键中的通配符

    假设我有一本字典 rank dict V 1 A 2 V 3 A 4 正如您所看到的 我在一个 V 的末尾添加了一个 虽然 3 可能只是 V 的值 但我想要 V1 V2 V2234432 等的另一个密钥 我想检查它 checker V30
  • 数组所有可能的组合

    我有一个字符串数组 ted williams golden voice radio 我希望这些关键字的所有可能组合采用以下形式 ted williams golden voice radio ted williams ted golden
  • 如何从文件中读取两行并在 for 循环中创建动态键,后续

    这个问题紧接着所讨论的问题 如何从文件中读取两行并在 for 循环中创建动态键 https stackoverflow com q 41929351 868546 但是 问题的本质已经发展到我想要解决的某种复杂性 下面是我的数据结构 用空格
  • 对 Java 中 *any* 类的所有实例进行全排序

    我不确定以下代码是否能确保 Comparator 的 Javadoc 中给出的所有条件 class TotalOrder
  • 寻找公共子集的算法

    I have N number of sets Si of Numbers each of a different size Let m1 m2 mn be the sizes of respective sets mi Si and M
  • while循环的时间复杂度是多少?

    我正在尝试找出 while 循环的时间复杂度 但我不知道从哪里开始 我了解如何找到 for 循环的复杂性类别 但是当涉及到 while 循环时 我完全迷失了 关于从哪里开始有什么建议 提示吗 这是一个问题的示例 x 0 A n some a
  • 高度并行化的Levenshtein距离算法

    实际上 我必须实现一个字符串比较 最后得到匹配百分比 不仅仅是布尔结果匹配 不匹配 为此 我找到了 Levenstein 距离算法 但现在的问题是性能 例如 我有 1k 个字符串需要相互比较 现在大约需要 10 分钟 对于每个算法 我已经并
  • 使用递归返回嵌套列表中第二小的数字

    我必须归还第二小的使用递归的 python 列表中的数字 以及no loops 我所做的是创建一个辅助函数 它返回列表中 最小 第二小的 值的元组 然后我只取tuple 1 in my second smallest func def s
  • 确定一组日期的事件重复模式

    我正在寻找一种模式 算法或库 它将采用一组日期并在退出时返回重复的描述 即集合 11 01 2010 11 08 2010 11 15 2010 11 22 2010 11 29 2010 会产生类似 十一月的每个星期一 的结果 有没有人以

随机推荐

  • 编写包含字符串并可在常量中使用的 Rust 结构类型

    我正在开始使用 Rust 我想要一个包含 除其他外 字符串的结构 derive Clone Debug struct Foo string field str won t compile but suppose String or Box
  • 两个key可以指向memcache中的同一个数据吗

    我正在使用 PHP 和 Memcache 我想要多个键指向相同的数据 datawallright memcache gt get wads wall gt getIdwall 这就是我检索数据的方式 如果没有数据 我会进行一些 MySql
  • 使用php杀死Linux中的用户进程

    我正在尝试编写一个 php 脚本来杀死 redhat 机器中的用户 我知道有可能 而且非常不安全 让apache能够以root身份执行操作 但我需要能够从网页上杀死任何用户 是否有人有任何好的工作脚本或给我指出一个地方找到更多信息吗 我可以
  • 如何绕过字符串在文本文件中执行加法

    我将 csv 文件转换为文本文件 我想在文本文件中添加数字 当我运行我的代码时出现错误 假设错误代码我想编写逻辑来绕过我的字符串并仅添加数值 import csv csv file Annual Budget csv txt file an
  • CWnd::CreateDlgIndirect 离开 m_hWnd==NULL

    我正在处理的对话框未显示 使用 CWnd CreateDlgIndirect LPCDLGTEMPLATE lpDialogTemplate CWnd pParentWnd HINSTANCE hInst 对 CreateDlgIndire
  • Ubuntu - Anaconda 2020.02 - 命名空间 Gtk 不可用

    这是在 Ubuntu 16 04 LTS 上 我遇到了与这个问题相同的问题 ValueError 命名空间 Gtk 不可用 https stackoverflow com questions 56823857 valueerror name
  • 保持帐户登录

    我们有一个内部控制面板 办公室的所有员工都全天登录 包括客户服务 我希望对其进行设置 以便在会话到期之前让您保持登录状态 1 小时 如何在 PHP ini 中更改此设置 在我明白将保持会话打开直到浏览器窗口关闭之前我做了一个更改 但它没有坚
  • 使用 plt.plot 与 plt.hist 的彩色图像直方图差异 [Python]

    我使用下面的代码使用两种方法生成彩色图像的直方图 方法一 使用cv2 calcHist 函数计算频率 使用 plt plot 生成频率的线图 方法 2 使用plt hist 函数计算并生成直方图 我添加了bin 250以便2个直方图一致 观
  • 如何在 Python 中将 Excel 工作表另存为 HTML?

    我正在与这个图书馆合作XlsxWriter https pypi python org pypi XlsxWriter 我打开了一本工作簿并在其中写了一些内容 考虑官方的例子 http xlsxwriter readthedocs org
  • ERR_BAD_SSL_CLIENT_AUTH_CERT

    我们在浏览大多数 https 网站时开始遇到问题 示例包括 https technet microsoft com https technet microsoft com https mail google com https mail g
  • 是否可以使用 addEventListener 调用类方法?

    只是我一直想知道的事情 在第二个参数中 addEventListener方法 您可以调用 自定义 类方法 而不是函数吗 即像下面这样的东西会起作用吗 var object new ClassName document getElementB
  • UIScrollView 滚动时重绘内容?

    我知道有一个属性或方法可以使scrollview uiview 在滚动时调用drawRect 方法 由于性能原因 默认情况下处于禁用状态 但我需要启用它 我不记得该方法的名称 因此我无法寻找它 有人知道我在寻找什么吗 提前致谢 我建议使用s
  • QTreeWidget 内的 QT 可点击小部件(可能是按钮)?

    我有一个基本上是 QTreeWidget 的表 我想在其中放置一个可点击的小部件 可能是一个按钮 每行都是一个 QTreeWidgetItem 但我不知道如何使用 QTreeWidgetItem setData 添加按钮 这是对 Qt 文档
  • 无法从 C# 中的 .Net 套接字正确读取数据

    我有一个使用套接字通信的 C 客户端和服务器类 服务器看起来像这样 public class AsyncTcpServer private Socket server socket private Socket client socket
  • iPhone OpenGL ES 不正确的 alpha 混合

    我在 iPhone 上使用 openGL ES 时遇到了不正确的 alpha 混合结果的问题 这是我创建纹理对象的代码 glGenTextures 1 tex name glBindTexture GL TEXTURE 2D tex nam
  • Windows CDROM 弹出

    有谁知道在 Windows 2000 或更高版本上以编程方式关闭 CD 托盘的方法吗 打开 CD 托盘存在 但我似乎无法关闭它 尤其是在 W2k 下 如果可能的话 我特别寻找一种从批处理文件中执行此操作的方法 但 API 调用也可以 我有点
  • CSS 向右浮动无法正常工作

    我的右侧浮子没有按我预期的方式工作 我希望我的按钮能够很好地对齐到一行上方文本的右侧 div style padding 5px border bottom width 1px border bottom color gray border
  • 在帖子上发帖时遇到“(#100) 查找请求的故事时出错”

    我正在使用 Graph API 来获取用户被标记的帖子 然后通过以下方式对帖子进行点赞POSTing to post id likes 然而 即使该帖子显然存在 因为我能够检索到post id 发出like时 遇到如下错误 100 Erro
  • C# 跟踪截断长消息

    在 C 中 我启用了跟踪和网络跟踪源
  • 是否有一种算法可以将威胁范围与二维网格上的任意移动范围相结合?

    我正在构建一个简单的基于 2D 网格的游戏 并正在寻找一种方法来计算每个角色可以在游戏板上施加的 威胁 区域 当前地点的威胁很容易计算 这是下面的红色菱形 但我希望将这些信息与任意 可以步行到这里 区域 橙色 结合起来 该算法一起会给我我的