当前位置:  开发笔记 > 编程语言 > 正文

Java的吃豆子迷宫

如何解决《Java的吃豆子迷宫》经验,为你挑选了2个好方法。

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

我有基本的游戏窗口与pacman精灵和鬼精灵绘制,pacman用箭头键移动,不移动超出窗口的墙壁,等等.现在我正在尝试建立迷宫,就像在这图片:

吃豆子的迷宫

没有给我直接/完整的解决方案,有人可以指导我如何建立这个?我在这里只讨论边界和管道('T'标记),你无法通过它,你必须四处走动.不是pacman吃的点.

这是我的问题:

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

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

3)任何关于碰撞检测的提示(所以pacman/ghosts不能穿过墙壁)会有所帮助.

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

谢谢



1> Spencer Rupo..:

我不这样做.

我绘制图形地图,然后创建一个代表地图的2D数据数组.数据图将负责确定碰撞,吃点,糖果在哪里以及鬼魂在哪里.一旦所有逻辑处理完毕,只需使用2D数组在图形地图上以正确的像素坐标显示所有内容.

例如,用户按下左键.首先确定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

等等.您可能希望选择比字符更灵活的数据结构,但是因为某些区域需要包含一堆不同的信息.即使鬼魂产卵区空白,也不允许pacman在那里.鬼魂和pacman的移动对于侧逃是不同的,糖果产卵点是一个空白点,但如果你想保持灵活,你会想要表示这是在每个地图的基础上.

你要记住的另一件事是pacman和幽灵经常在点之间,因此包含表示在1,2和1,3之间占据的空间百分比的信息对于碰撞检测以及确定是重要的.当你想从板上移除点,通电和糖果时.



2> Willie Wheel..:

这是给你的提示:

alt text http://www.freeimagehosting.net/uploads/66e4131f59.jpg

正确使用此提示将允许您处理渲染和碰撞检测,并且还允许您以紧凑的方式表示迷宫.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有