Java 为snake游戏编写演示

Java 为snake游戏编写演示,java,Java,我用Java写了一个蛇游戏。我还想做的是为它创建一个演示(这样snake就可以自己玩了)。我写了一个简单的演示,但蛇死得很快。那么,对于这类问题,有什么算法或什么吗?我相信这是一个有点类似于国际象棋游戏的问题我希望那条蛇能活得尽可能长。谢谢。如果不为你做这些工作,我可以告诉你,开始处理这样的问题的最好方法是思考蛇应该做什么才能尽可能长时间地生存。为了生存,蛇应该遵循什么“经验法则”。首先,蛇应该在碰到障碍物之前转向一个不会被卡住的方向。因此,您可以对蛇进行编程,使其在尾巴(或墙)的一个空间内,朝

我用Java写了一个蛇游戏。我还想做的是为它创建一个演示(这样snake就可以自己玩了)。我写了一个简单的演示,但蛇死得很快。那么,对于这类问题,有什么算法或什么吗?我相信这是一个有点类似于国际象棋游戏的问题我希望那条蛇能活得尽可能长。谢谢。

如果不为你做这些工作,我可以告诉你,开始处理这样的问题的最好方法是思考蛇应该做什么才能尽可能长时间地生存。为了生存,蛇应该遵循什么“经验法则”。首先,蛇应该在碰到障碍物之前转向一个不会被卡住的方向。因此,您可以对蛇进行编程,使其在尾巴(或墙)的一个空间内,朝着与其他障碍物之间距离最大的方向旋转。此外,我相信snake是一款电脑可以完美玩的游戏,在你的演示中,你可能不想玩它,所以如果事情变得太一样,你可以随时加入一些随机性,只是为了增加趣味性——y.

谷歌赞助的2010年运行了一款“Tron”游戏。你可能会从寻找解决这一挑战的方法中得到一些好主意

如果您只是想要一个非常简单的策略来进行合理的演示,那么您可以尝试以下方法:

  • 除非你别无选择,否则千万不要做出让你崩溃的举动
  • 如果下一步移动迫使您在两个或多个不同(未连接)的空间之间进行选择,请始终移动到两个空间中较大的空间。这将阻止你的蛇太容易被困住
  • 如果沿着墙移动,98%的时间都要沿着墙移动,根据需要向左或向右移动。这将有助于你的蛇看起来相当聪明,也节省了游戏场地的空间
  • 否则,在90%的时间里向前移动,在每个时间里随机向左和向右旋转5%(这将使您的演示不那么无聊)

除此之外,我认为国际象棋风格的人工智能方法(带有移动搜索树)不会很好地工作。你无法轻松地提前搜索足够多的动作。

这不是你想要的答案,但我发布它是因为我真心希望看到你进一步探索这个算法,修改它,直到你发现自己拥有一个相当合理的AI:

解决这个问题最简单的算法是“绕过边缘,然后向下蠕动”的方法。基本上,你从一条蛇开始,得到它,让它向西移动,然后拥抱西墙,然后是天花板。然后你像一个滑环一样穿过每一个可能的正方形,直到你到达底部,往西走,然后重新开始


如果你尝试一下,你可以把它变成一个非常优秀的AI:D

Easy solution=让蛇慢下来!