我的目标是让使用pygame的复古月球着陆器的游戏。现在我正在尝试创建登陆山脉和平台的背景。我希望每次新游戏开始时,平台和山脉都会有所不同。我的想法是绘制随机数的随机长度的水平线作为平台。我有几个问题是:随机线生成对于pygame的
- 如何确保水平线不重叠,并且都在看它像你登陆的问候所有入店。
- 我想画山是连接与创建三角形多线平台的最佳方式,但我不知道从哪里开始做
的代码,我已经工作了当前生成随机线,但我不知道如何进一步开发代码。
for platforms in range(1, random.randint(1, 10)):
rand_x_start = random.randint(0, 400)
rand_x_end = random.randint(0, 400)
rand_y = random.randint(HEIGHT/2, HEIGHT)
pygame.draw.line(self.background, white, (rand_x_start, rand_y), (rand_x_end, rand_y), 2)
我试图寻找通过对随机生成的许多问题和教程,但没有一个是远程接近我要找的。
一个念头,我不得不解决重叠的问题是,如果有“读”或“看”以前创建的线条和限制的方式绘制基于一些如何......但我不知道的方法来做到这一点。
一种想法可能是使用一个[1D柏林噪声函数(http://imgur.com/reUrcB8.png)随机生成山脉的轮廓。您可以使用类似于您必须生成随机长度平台(水平线)的代码,并使用Perlin算法来生成山间地形。 – Tagc
这看起来就像我想为山脉做的一样。我将不得不查看如何重新创建。我的问题是,如果有一种方法可以控制它随机创建平台,或者随机选择屏幕上的任意直线? –