processingで同じ範囲の乱数を複数パターン生成する
0から10までの乱数が欲しいけど、変数を同じにすると同じパターンになっちゃう・・・というときの解決策です。
同じ範囲の乱数を複数パターン生成しています。
下記の場合、0と1の乱数を10パターン作っています。重複はしていますが、変化のパターンは異なります。
//ランダム配列用 int[] col1 = new int[10]; //色の配列 color[] colarray1 = { #abcf2d,#5fb734 }; void setup() { size(600,600); noLoop(); } void draw() { background(255); randomGe(); //配列の最初のパターン(0か1か)で色の配列(colarray1)から色を取り出す fill(colarray1[col1[0]]); ellipse(100,50,20,20); //配列の2つ目のパターン(0か1か)で色の配列(colarray1)から色を取り出す fill(colarray1[col1[1]]); ellipse(200,50,20,20); } void randomGe() { for(int i = 0; i < col1.length; i++){ //乱数生成 col1[i] = int(random(2)); } } void mousePressed() { redraw();// ボタンが押されたときだけ実行 }