2013-06-05 233 views
-4

我一直在使用Pygame模块编写Python游戏。 现在我正试图生成一张地图。我想生成一个大的世界并将其保存为某种文件,然后在每次加载游戏时重新使用它。我可能希望编写一个不同的程序,最好用python来生成这个世界,然后继续使用同一个世界。我不能只是把它完全随机化,因为我不会随意使用横切面,所以我该怎么做?我有几个平铺图像,比如“terrain/grass.png,terrain/water.png”。Pygame随机地图生成

我尝试了一些事情,如:

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.

+1

这个问题与Pygame和Python有很大关系,还有更多关于如何编程的方法。它真的不觉得这个社区非常适合。 –

+0

你是什么意思?它看起来像它有一切与python和pygame有关在python pygame中编写一个地图生成器的问题。我如何使它“非常适合这个社区”。我一直在编写python多年,我知道“如何编程”,我只是有一个具体的问题。 – Collin

+1

编写地图生成器不是pygame特有的主题。编写地图生成器是游戏开发特有的主题。编写地图生成器不是问题和答案类型的主题。编写地图生成器至少是“一小时教程”类型的主题,甚至可能是“论文项目”类型的主题。 –

回答

0

现在,我已经做了我的评论,我觉得有点糟糕,我没有给你走向解决您的问题更具有建设性的建议。

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

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

+0

谢谢,我想可能是一个文本文件,如:ggggwgmmm – Collin

+0

也请参阅:http://gamedev.stackexchange.com/questions/31241/random-map-generation – ninMonkey