吃豆人:眼睛是如何找到回到怪物洞的路的?

2024-04-21

我在《吃豆人》中发现了很多关于鬼魂人工智能的参考,但没有提到在鬼魂被吃豆人吃掉后,眼睛如何找到回到中央鬼洞的路。

在我的实现中,我实现了一个简单但糟糕的解决方案。我只是在每个角落都硬编码了应该采取的方向。

有更好/或最好的解决方案吗?也许是一个适用于不同关卡设计的通用设计?


实际上,我想说你的方法是一个非常棒的解决方案,与任何类型的寻路相比,运行时间成本几乎为零。

如果您需要它泛化到任意地图,您可以使用任何寻路算法(例如,广度优先搜索很容易实现),并在游戏运行之前使用它来计算在每个角处编码的方向。

编辑(2010 年 8 月 11 日):我刚刚提到了 Pacman 系统上一个非常详细的页面:吃豆人档案 https://www.gamasutra.com/view/feature/3938/the_pacman_dossier.php?print=1,既然我在这里已经接受了答案,我觉得我应该更新它。这篇文章似乎没有明确提及返回怪物屋的行为,但它指出吃豆人中的直接寻路是以下情况:

  • 继续朝下一个路口行驶(尽管这本质上是“当有选择时,选择不涉及反转方向的方向,如下一步所示)的特殊情况”;
  • 在十字路口,看看邻近的出口广场,除了你刚刚来的那一个;
  • 选择最接近目标的一个。如果多个方向均等地接近目标,则按以下顺序选择第一个有效方向:上、左、下、右。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

吃豆人:眼睛是如何找到回到怪物洞的路的? 的相关文章

  • 人工智能中与最佳优先搜索相关的问题有哪些?

    我知道一般问题包括局部最大值和高原 但是我很好奇是否还有与此特定搜索相关的更多问题 以及为了克服这些问题我的最佳行动方案是什么 有人还可以给我一个例子 说明该搜索适合用于哪种类型的问题吗 最佳优先搜索的问题 它很贪婪 在许多情况下 它会带来
  • 如何在迭代加深/深度有限搜索中存储访问过的状态?

    更新 搜索第一个解决方案 对于普通的深度优先搜索很简单 只需使用哈希集 bool DFS currentState if myHashSet Contains currentState return else myHashSet Add c
  • SOM(自组织映射)和 K 均值有什么区别?

    stackoverflow中只有一个与此相关的问题 更多的是关于哪个更好 我只是不太明白其中的区别 我的意思是它们都使用向量 这些向量被随机分配给集群 它们都使用不同集群的质心来确定获胜的输出节点 我的意思是 差异到底在哪里 在 K 均值中
  • IntelliJ IDEA - 将 Finder 中的 Reveal 更改为新的文件浏览器

    我已经设置了路径查找器作为我的 OSX Yosemite 上的默认文件浏览器 管理器 因此 大多数应用程序在显示文件时会打开路径查找器窗口 但不会打开 IDEA 当我选择Reveal in Finder对文件执行操作时 它总是会打开一个新的
  • 机器学习、人工智能和软计算

    这三个密切相关的领域有什么区别 是否存在一个特定的整体 它们都是其中的一部分 除了 CS 人工智能是试图在计算机中捕获人类智能的各个方面的智力项目 另一个项目也称为人工智能 旨在使用受人类启发的算法来解决传统上棘手的问题 人工智能可以说涵盖
  • 如何获取neo4j路径中的最后一个节点?

    在这个密码查询中 将返回与 STATUS on 属性有关系的节点之间的最长路径 但我还想获取路径的最后一个节点 query START n node MATCH p n rels INCLUDE gt m WHERE ALL rel IN
  • 线性冲突违反了可受理性,让我发疯

    当两个棋子tj和tk发生线性冲突时 如果tj和tk在同一行 则tj和tk的目标位置都在该行上 tj在tk的右侧 tj的目标位置在左侧tk 的目标位置 线性冲突迫使两个冲突图块相互包围 从而使它们的曼哈顿距离至少增加两步 因此 启发式函数将为
  • 最相距的 k 个元素(聚类?)

    我有一个简单的机器学习问题 我有 n 110 个元素 以及所有成对距离的矩阵 我想选择相距最远的 10 个元素 也就是说 我想要 Maximize Choose 10 different elements Return min distan
  • Prolog 的良好初学者材料 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 A* JPS 进行 3D 搜索

    我该如何概括跳转点搜索 http harablog wordpress com 2011 09 07 jump point search 3D 搜索量 到目前为止 我已经定义了涉及三个运动的 3D 立方体的修剪规则 直线 0 0 1 一阶对
  • 检查一个名字是否看起来“人类”?

    我有一款在线角色扮演游戏 我正在认真对待 最近 我遇到了用户使用虚假名称 只是一堆不同字母 制作虚假字符的问题 就像 Ghytjrhfsdjfnsdms Yiiiedawdmnwe Hhhhhhhhhhejejekk 我强迫他们改名 但这已
  • 我自己的 Python OCR 程序

    我还是一个初学者 但我想写一个字符识别程序 这个程序还没有准备好 而且我编辑了很多 所以评论可能不完全一致 我将使用 8 个连通性来标记连通分量 from PIL import Image import numpy as np im Ima
  • 理解含义的算法[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想知道是否有任何特定的算法可以遵循
  • 2D 游戏:快速(最快)找到另一个实体的 x 个最接近实体的方法 - 大量实体,高度动态

    我正在开发一款具有大量动态实体的 2D 游戏 为了好玩 我们就称他们为士兵吧 假设有 50000 人 我只是随机想到的 可能多了也可能少了 所有这些士兵都按照规则移动每一帧 想想群体 聚集 转向行为 对于每个士兵 为了更新其运动 我需要与我
  • word2vec gensim 多种语言

    这个问题完全超出了我的想象 我正在使用 gensim 训练 Word2Vec 模型 我提供了多种语言的数据 即英语和印地语 当我试图找到最接近 人 的词时 我得到的是 model wv most similar positive man O
  • 在 scikit-learn Pipeline 中插入或删除步骤

    是否可以删除或插入步骤sklearn pipeline Pipeline object 我正在尝试在 Pipeline 对象中有或没有一步进行网格搜索 想知道我是否可以在管道中插入或删除一个步骤 我看到在Pipeline源代码 有一个sel
  • 以编程方式比较图像 - lib 或类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么A*的复杂度在内存中是指数级的?

    维基百科关于 A 复杂度的说法如下 链接在这里 http en wikipedia org wiki A search algorithm 比当时更成问题 复杂度是A 的内存使用量 在 最坏的情况 也必须记住 指数数量的节点 我不认为这是正
  • F# 是卡牌游戏 AI 的好语言吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Keras 中将多个数据集与一个模型一起使用?

    我正在尝试使用 LSTM 网络通过 Keras 和 Tensorflow 进行外汇预测 我当然希望它能够在很多天的交易中进行训练 但要做到这一点 我必须给它提供具有大跳跃和无运动阶段的连续数据 当市场收盘时 这并不理想 因为它变得由于这些跳

随机推荐