gpt4 book ai didi

java - Java 中的吃 bean 迷宫

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:32:17 27 4
gpt4 key购买 nike

所以我正在用 Java 构建 pacman 游戏来自学游戏编程。

我有一个基本的游戏窗口,其中绘制了吃 bean Sprite 和幽灵 Sprite ,吃 bean 使用箭头键移动,不会超出窗口的墙壁等等。现在我正在尝试构建迷宫,如图所示:

Pacman maze

在没有给我直接/完整的解决方案的情况下,有人可以指导我如何构建它吗?我在这里只谈论边界和管道('T' 标记),你不能穿过它们,你必须绕过它们。不是 pacman 吃的点。

这是我的问题:

1) 创建这个迷宫最有效的算法/方法是什么?每次调用 paint() 方法时是否都必须绘制它,或者有没有办法只在游戏开始时绘制它而不再绘制?

2) 这实际上将如何绘制到屏幕上?我假设 fillRect() 将被使用?

3) 任何有关碰撞检测的提示(因此吃 bean 人/幽灵无法穿过墙壁)都会有所帮助。

4) 任何关于如何计算管道之间的空余空间以便在它们之间填充点的提示也将非常有帮助。

谢谢

最佳答案

我不会那样做的。

我会绘制图形 map ,然后创建一个代表 map 的二维数据数组。数据 map 将负责确定碰撞、吃点、糖果在哪里和幽灵在哪里。一旦处理完所有的逻辑,只需使用二维数组在图形 map 上以适当的像素坐标显示所有内容。

例如用户按下左键。首先确定 pacman 在元素 3、3。元素 3、2 包含表示墙壁的信息,因此您可以实现代码让他忽略命令。

编辑:

每个元素代表一个点可能在哪里。例如:

不,看电路板我会说阵列看起来像这样。

d,d,d,d,d,d,d,d,d,d,d,d,w,w,d,d,d,d,d,d,d,d,d,d,d,d
d,w,w,w,w,d,w,w,w,w,w,d,w,w,d,w,w,w,w,w,d,w,w,w,w,d
p,w,w,w,w,d,w,w,w,w,w,d,w,w,d,w,w,w,w,w,d,w,w,w,w,p
d,w,w,w,w,d,w,w,w,w,w,d,w,w,d,w,w,w,w,w,d,w,w,w,w,d
d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d

等等。您可能希望选择比字符更灵活的数据结构,但是因为某些区域需要包含一堆不同的信息。 IE 即使幽灵生成区域是空白的,pacman 也不允许在那里。鬼魂和吃 bean 人的移动在侧面逃生时是不同的,糖果生成点是一个空白点,但如果你想保持灵 active ,你需要在每个 map 的基础上标明它的位置。

您需要记住的另一件事是,吃 bean 人和幽灵通常位于点之间,因此包含表示它们在 1,2 和 1,3 之间占用的空间百分比的信息对于碰撞检测很重要,因为以及确定何时要从板上移除圆点、 Prop 和糖果。

关于java - Java 中的吃 bean 迷宫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/622471/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com