-4

我一直在使用 Pygame 模块用 Python 编写游戏。现在我正在尝试生成地图。我想生成一个大世界并将其保存为某种文件,然后在每次游戏加载时重用它。我可能想最好在 python 中编写一个不同的程序来生成世界,然后继续使用同一个世界。我不能让它完全随机,因为我不会只获得随机瓷砖的景观,所以我该怎么做?我有一些平铺图像,例如“terrain/grass.png、terrain/water.png”。

我尝试了一些类似的东西:

screen.blit(water, [river_startx, river_starty])
screen.blit(water, [river_startx, river_starty + 32])
screen.blit(water, [river_startx + 32, river_starty + 32])
screen.blit(water, [river_startx + 32, river_starty + 64])
screen.blit(water, [river_startx + 32, river_starty + 96])

我做了一条河,但手动完成需要很长时间。

科林·N。

4

1 回答 1

1

既然我已经发表了评论,我感到有点遗憾,我没有给你更多的建设性建议来解决你的问题。

您将希望以某种数据格式存储您的地图。您应该弄清楚该数据格式将是什么,以及您希望如何重新读取它。这里的可能性是无穷无尽的:您可以使用数据库,您可以使用数据文件,您可以使用源代码等等。但是您需要以某种数据格式存储地图,如果您使用图形上下文作为数据格式,您将不会走得太远。

如何构建地图是游戏逻辑的一部分,不一定是编程逻辑的一部分。也就是说,您可以定义诸如“除非我在山中,否则不要开始河流;除非我在水体中,否则不要停止河流”或“瓷砖更可能是山,如果它在其他山附近”。程序化地图设计是游戏编程中一个非常大的话题,您可能会在游戏开发社区中找到一些有用的讨论。尝试http://www.pixelprospector.com/the-big-list-of-indie-game-development-forums/作为一个可能的起点。

于 2013-06-05T18:09:45.480 回答