Итак, я попытался использовать шум OpenSimplex для создания 2D ландшафта, но мне кажется, что я что-то упустил, так как ландшафт выглядит в основном случайным образом.Что я делаю неправильно?Вот код:
import pygame
from opensimplex import OpenSimplex
tmp = OpenSimplex()
pygame.init()
display_width = 800
display_height = 600
black = (40,40,40)
gameDisplay = pygame.display.set_mode((display_width,display_height))
gameDisplay.fill(black)
gameDisplay.convert()
clock = pygame.time.Clock()
dimensions = [100,100]
size = 40
def mapping(x):
y = (x + 1) * 10 + 40
return y
class GroundCell:
def __init__(self,x,y,dim):
self.x = x
self.y = y
self.dim = dim
tempcells = []
allCells = []
for a in range(0,dimensions[0]):
tempcells = []
for b in range(0,dimensions[1]):
tempcells.append(GroundCell(a*size,b*size,mapping(tmp.noise2d(a,b))))
allCells.append(tempcells)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.quit()
quit()
for a in allCells:
for b in a:
pygame.draw.rect(gameDisplay,(b.dim,b.dim,b.dim),(b.x,b.y,size,size))
pygame.display.update()
clock.tick(120)
gameDisplay.fill(black)
А вот изображение, которое было сгенерировано Шум