Bruit de Perlin Problème.

Fermé
crisattia Messages postés 1 Date d'inscription lundi 6 février 2017 Statut Membre Dernière intervention 6 février 2017 - Modifié par crisattia le 6/02/2017 à 14:06
Bonjour, j'aimerai pouvoir modifier mon bruit de Perlin. J'aimerai diviser mon canvas en plusieurs cases de 50x50p, afin de le colorer comme je le veux.
Voici mon code.

var inc = 0.0075;

function setup() {
createCanvas(100, 100);
pixelDensity(1);

}

function draw() {


var yoff = 0;
var largeur = canvas.width;

var hauteur = canvas.height;


var plaine = 0;
var montagne = 0;
var ocean = 0;
var plage = 0;

//var ctx = canvas.getContext("2d");
//fill("yellow");
//rect(0,0,50,50);

loadPixels();


for (var y = 0; y < height; y++) {
var xoff = 0;

for (var x = 0; x < width; x++) {
var index = (x + y * width) * 4;
//var r = random(255);
var r = noise(xoff, yoff) * 255;
//alert(r);
pixels[index ] = r;
pixels[index + 1] = r;
pixels[index + 2] = r;
pixels[index + 3] = 255;


xoff += inc;

for (var y = 0; y < 50; y++) {
for (var x = 0; x < 50 ; x++) {

for (var i = 0; i <= 4; i++){
console.log("Salut Je suis dans le i");




if(pixels[index + i] < 255 && pixels[index + i] >= 150)
{
ocean++;
//alert("ocean");
}

else if(pixels[index + i] < 150 && pixels[index + i] >= 70)
{
plaine++;
//alert("plaine");
}


else if(pixels[index + i] < 70 && pixels[index + i] >= 1)
{

montagne++;
//alert("montagne");
}



if(montagne>plaine && montagne>ocean)
{
pixels[index + 0] = 0;
pixels[index + 1] = 0;
pixels[index + 2] = 0;
pixels[index + 3] = 255;
//alert("Je met de la montagne");

}

if(ocean>plaine && ocean>montagne)
{

pixels[index + 0] = 0;
pixels[index + 1] = 0;
pixels[index + 2] = 204;
pixels[index + 3] = 255;
//alert("Je met de la ocean");


}

if(plaine>ocean && plaine>montagne)
{

pixels[index + 0] = 0;
pixels[index + 1] = 100;
pixels[index + 2] = 0;
pixels[index + 3] = 255;
//alert("Je met de la plaine");
}


}
}



}


}

yoff += inc;


}





alert("montage : " + montagne);
alert("plaine : " + plaine);
alert("ocean :" + ocean);
updatePixels();

noLoop();

}



Voici mon GitHub si mon code peut intéresser :).
https://github.com/christian-attia/tower-defense
Merci de vos réponses ! :)