首页 > 解决方案 > P5.js 或 Javascript 随机值生成,不重复

问题描述

我正在尝试创建 5 个圆形,并从数组中随机生成填充颜色。但由于我硬编码了 5random()代。有时圆圈之间随机生成的颜色仍然相同。我不知道怎么做,所以每个圆圈的颜色不会有相同的颜色(相同的随机结果):

function setup() {
  createCanvas(400, 700);
  noLoop();
}

function draw() {
  background(220);
  filled = ['PapayaWhip','PaleVioletRed','Lavender','LightGreen','Coral', 'CadetBlue','Azure','HoneyDew','LightBlue','Thistle','SlateBlue','RosyBrown','SteelBlue','OrangeRed'];
  randcol1 = filled[floor(random() * filled.length)];
  randcol2 = filled[floor(random() * filled.length)];
  randcol3 = filled[floor(random() * filled.length)];
  randcol4 = filled[floor(random() * filled.length)];
  randcol5 = filled[floor(random() * filled.length)];
  fill(randcol1);
  circle(width/2,100,100);
  fill(randcol2);
  circle(width/2,200,100);
  fill(randcol3);
  circle(width/2,300,100);
  fill(randcol4);
  circle(width/2,400,100);
  fill(randcol5);
  circle(width/2,500,100);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.min.js"></script>

顺便问一下,有没有在不重复 5 行的情况下执行单独的随机生成random()
谢谢

标签: javascriptp5.js

解决方案


推荐阅读