J'ai récemment cherché à créer un terrain généré par procédure pour les jeux. J'ai vu que le bruit de Perlin était utile pour cela, et j'ai donc essayé. Jusqu'à présent, le terrain est magnifiquement généré. Cependant, chaque fois que je lance le programme plusieurs fois, le terrain est exactement le même. Est-il possible de randomiser le bruit Perlin qui est généré?Graine aléatoire Python pour le bruit Perlin
code:
from opensimplex import OpenSimplex
import random
from time import time
height = 40
width = height
scale = height/10
value = [[0 for x in range(width)] for y in range(height)]
gen = OpenSimplex()
def noise(nx, ny):
# Rescale from -1.0:+1.0 to 0.0:1.0
return gen.noise2d(nx, ny)/2.0 + 0.5
def printBiome(y, x):
if value[y][x] <= 2:
print('O', end = " ")
elif value[y][x] >= 8:
print('M', end = " ")
else:
print('L', end = " ")
for y in range(height):
for x in range(width):
nx = x/width - 0.5
ny = y/height - 0.5
value[y][x] = 10 * noise(1 * scale * nx, 1 * scale * ny) + 0.5 * noise(2 * scale * nx, 2 * scale* ny) + 0.25 * noise(4 * scale * nx, 4 * scale * ny)
for y in range(height):
for x in range(width):
printBiome(y, x)
print()