我发现很多人都提到了吃豆子鬼的人工智能,但他们都没有提到在吃掉鬼人吃鬼之后眼睛如何回到中央鬼洞.
在我的实现中,我实现了一个简单但可怕的解决方案.我只是在每个角落都硬编码应该采取哪个方向.
有没有更好/或最好的解决方案?也许是一个适用于不同级别设计的通用产品?
除了A*,BFS,DFS等之外,Pacman中常用的其他优秀路径寻找算法/启发式算法是什么?我不认为我提到的那些将会起作用,如果有多个水果供pacman找到.
我需要一些好的寻路算法,PacMan可以用它来尽可能少地完成迷宫.我试图寻找指南,但到目前为止还没有运气.到处都提到了与曼哈顿距离的A*,但它只适用于只有一个(或两个?或者可能多达几个?)果实的迷宫.
顺便说一句,为了保持简单,假设周围没有鬼魂.
我想实现Pacman游戏.对于AI,我正在考虑使用A*算法,已在众多论坛上看到它.然而,我实现了广度优先搜索的一些简单的寻路(从点a到点b,其间有一定的障碍),并发现它始终给出了最佳路径.我想这可能是因为在像pacman这样使用简单寻路的游戏中,图中没有成本概念.那么,如果我在Pacman中使用BFS而不是A*进行寻路,那会没关系吗?
我想知道,Google.com上的PacMan游戏是如何实现的?
JavaScript的?
你好我一直在研究一种生成随机pacman迷宫的算法.我看过几篇文章,但无法分解逻辑.我正在使用迷宫算法深度优先搜索,然后我镜像迷宫使每个迷宫对称.我遇到了清理死胡同等问题.如果这是不可能的,我也会尝试另一种算法,如果有人有自己的逻辑来生成随机迷宫.任何帮助表示赞赏.谢谢
我打算编写和分发类似pac-man的游戏.所以我想知道它是否仍受版权保护.
我可以在标题中使用pacman这个词吗?我有什么限制?
PS.我可以从第一个答案中得出结论,我不能使用这个名字,可能是一个非常相似的艺术作品.如果我牢记这一点,我会遇到什么麻烦.而且我不想做一些不道德的事情,写一个像男人一样的游戏是不道德的吗?我在互联网上看到了很多.
我立即把它作为一个社区维基的东西.我不想在编程方面寻求帮助,或者甚至没有关于编程的具体问题,而是想要制作这样一个游戏所需的过程和资源.
简单地说:我和我的大学朋友决定给自己一个非常大的挑战来提高我们的编程技巧.在六个月的时间里,我们想要展示自己的吃豆人游戏.Pac-Man将像Ghosts一样被AI控制,并且在一系列尝试获胜后,Pac-Man的寿命最长.
这不像我们到目前为止所做的任何事情.对我来说,这里的目标不是创造一个完美的游戏,而是试图完成它,在这个过程中学习一大堆.即使我没有在时间完成,这是一个很好的可能性,我想至少尝试过这个.
所以我的问题是:我该如何开始自己准备?我已经开始使用矢量数学,矩阵,所有有趣的东西.我想要的平台是DirectX 9.0c; 那是可取的吗?请记住,这不仅仅是对这个项目的偏好,但我希望在图形开发方面有一些未来,所以我想选择一个对未来安全的平台.
至于游戏开发,我应该考虑什么?我之前从未做过真正的游戏,所以任何和所有建议中型项目的开发(如果这是一个中等规模的项目)都非常感谢.
我主要担心的是陷阱和失败者.
对不起,如果问题太模糊了.如果它不属于这里,那么我将删除它.否则,非常感谢任何和所有关于制作大型项目的建议.
我目前正在用Java制作pacman游戏.我对鬼有疑问.
我知道鬼魂并不都有同样的攻击方式.我首先要研究让幽灵去追逐pacman的基础知识,而不是担心存在分歧.
我向你提出的问题是聪明的人有什么最好的方法让幽灵追逐吃豆子,但有时会随机转移路径.我目前正在使用一个21乘21的2D阵列来说明墙壁的位置,所以我正在考虑让它更多尝试并前往pacman的当前网格位置.(例如,转到10,14)当然,虽然避免穿过像pacman这样的墙.我想知道我怎么能做到这一点,并且鬼魂有时会停下来并朝着另一个方向或某个方向发展,以至于它并不总是一直追逐而且pacman有机会逃脱.也许你们中的一些人编写了一个pacman游戏,或者只是知道一个很好的方法.任何帮助将不胜感激.
(请注意我目前正在读11年级的计算机科学课程,并且在学习java的第一学期中途.)
所以我最近在我的手机上玩了很多pacman,我想知道鬼魂是如何独立工作的.我在考虑如何编程.
我想到的一个选择是线程.所有4个幽灵都在自己的线程中运行,并以某种方式找到了pacman的位置.但是有四个线程正在工作并且同步会很困难似乎有点太多了.此外,谷歌在Javascript中写了pacman,它不支持线程,所以它可以在没有线程的情况下完成,并且必须有一种更简单的方法.
我的第二个想法是事件处理程序.我只是将pacman将触发的'directionChanged'事件连接到4个事件处理程序,每个鬼程一个.然后每个幽灵决定走向pacman的路径.我认为这更有可能发生了什么.但是如果事件处理程序是同步执行的话,它会变慢,因为路径必须按顺序计算,第4个鬼魂需要时间来改变方向,这可能会产生可见的滞后(可能).此外,当他们撞墙时,鬼魂会自己发射一个事件,他们的事件处理程序会改变鬼魂的方向.但考虑到pacman改变方向的频率和四个鬼魂的反应,事件处理程序似乎也有点太多了.
我说上述想法会有点太多,因为记得游戏是在30年前编写的,当cpu时间和内存稀缺时,所以我认为必须有一个更简单的方法.
而且,即使pacman仍然存在,鬼魂似乎也在遵循不同的路径.所有鬼魂都使用完全不同或不同优化的路径寻找算法吗?
我更感兴趣的是找出所有鬼魂似乎同时为他们自己的工作方式而不是他们使用的路径查找算法.思考?
自 2020 年 6 月以来,我一直无法使用pacman -Syu. 当我尝试时,出现以下错误:
(它开始“检查包完整性”,然后为每个包显示类似这样的错误)
error: gcc-libs: signature from "David Macek <david.macek.0@gmail.com>" is unknown trust
:: File /var/cache/pacman/pkg/gcc-libs-10.2.0-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n]
Run Code Online (Sandbox Code Playgroud)
现在,有用的是,MSYS2 确实有一篇文章解释了为什么会发生这种情况以及如何修复它:https://www.msys2.org/news/#2020-06-29-new-packagers
然而,尽管遵循了所有这些步骤,但没有任何改变,并且我遇到了相同的错误。
为了清楚起见,我做了以下操作:
curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
pacman -U msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
Run Code Online (Sandbox Code Playgroud)
这些“有效”(没有错误)但没有解决任何问题,所以我尝试了:
rm -r /etc/pacman.d/gnupg/
pacman-key --init
pacman-key --populate msys2
Run Code Online (Sandbox Code Playgroud)
但这也没有取得任何成果。
我该怎么办?
pacman ×10
path-finding ×3
algorithm ×2
heuristics ×2
c++ ×1
java ×1
javascript ×1
maze ×1
msys2 ×1
windows ×1