谁能告诉我如何用 C++ 为 PacMan 创建 map 。 有任何关于入门的建议吗?提前致谢。
最佳答案
这是一个相当广泛的问题,取决于其他要求。基本上我会选择一个只代表单元格的二维数组。每个单元格将包含:
- 一面墙
- 单向墙(代表怪物通过的门)
- 一个空单元格
- 有食物的细胞
- 一个“传送单元”,它将把吃 bean 人送到不同的地方(代表左右两侧的两个单元)
怪物和吃 bean 人本身不会出现在 map 中。相反,每个人都应该在 map 上有自己的位置。
这不需要 C++,它只需要 C,但如果您有意使用 C++ 解决方案,您可以将数组替换为 vector ,或者在本例中为 vector 的 vector 。
怪物将如何移动
如果您想从 map 中的 B 点到达 A 点,您可以使用各种算法中的任何一种来找到 map 中的最短路径 - 例如 A*算法。但是,在这种情况下,您需要考虑以下几点:
- 吃 bean 本身总是在移动,这会从一步到另一步改变路径。
- 你不希望所有的怪物都有相同的路径,否则你不会真的有几个怪物,因为它们都会移动相同。
- 你不希望怪物非常有效,因为那样游戏会变得太难并且不会有太多乐趣。
我建议在怪物到达“十字路口”时使用一些随机决定,同时普遍偏向吃 bean 人本身。所以如果怪物在一个有 3 个方向的点,比如东、西和北,而吃 bean 人在北边,我会随机决定北边 40% 的几率,东边 30% 的几率和 30% %向西。
关于c++ - 如何在 C++ 中为 PacMan 编写 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4527383/