Обработка JS Создание объекта, который содержит случайное количество предметов для рисования цветов - PullRequest
0 голосов
/ 03 апреля 2020

Я работаю над рисованием цветка тюльпана в обработке JS. У меня есть код, как показано ниже. Код нарисует цветок тюльпана с лепестком, а высота x, y - предпочтение расположения и высоты педали.

`/*****************
*Tulip Object Type
******************/
var Tulip = function(x, y, height) {
    this.x = x;
    this.y = y;
    this.height = height;
};

Tulip.prototype.draw = function() {
    noStroke();
    fill(16, 122, 12);
    rect(this.x, this.y, 10, -this.height);
    fill(255, 0, 0);
    // petals
    ellipse(this.x+5, this.y-this.height, 44, 44);
    triangle(this.x-16, this.y-this.height,
            this.x+20, this.y-this.height,
            this.x-20, this.y-this.height-31);
    triangle(this.x-14, this.y-this.height,
            this.x+24, this.y-this.height,
            this.x+3, this.y-this.height-39);
    triangle(this.x+-4, this.y-this.height,
            this.x+26, this.y-this.height,
            this.x+29, this.y-this.height-36);
};
`

Функция для рисования:

void setup()
{
  size(400 , 400);
  background(125);
}

 var tulip = new Tulip (200, 200, 10);
 draw = function() {
    tulip.draw();

};

Я хочу нарисовать случайные числа цветов тюльпана, при этом значения x, y и высота также случайным образом установлены соответственно.

Я думаю о используя массив, но после многих попыток все еще не работает. Как я создаю случайные цветы на основе объекта Tulip выше?

Ответы [ 2 ]

1 голос
/ 03 апреля 2020

Создайте массив случайных тюльпанов:

int numTulips = random(10, 20); // between 10 and 20 tulips
Tulip[] tulips = new Tulip[numTulips];
for (int i = 0; i < numTulips; i++) {
  tulips[i] = new Tulip (random(30, 370), random(30, 370), random(10, 30));
}

Затем нарисуйте тюльпаны

draw = function() {
   for (int i = 0; i < numTulips; i++) {
      tulips[i].draw();
    }
 };

Пример: https://codepen.io/bortao/pen/jOPobam

0 голосов
/ 03 апреля 2020

Создать массив тюльпанов. Используйте random, чтобы установить длину этого массива. После этого l oop скинуть массив и добавить тюльпан в массив. Не забудьте использовать random, чтобы сделать x, y и высоту каждого тюльпана.

Теперь у вас есть массив со случайным числом случайных тюльпанов, вы можете делать все, что захотите

Пример:

var Tulip = function(x, y, height) {
    this.x = x;
    this.y = y;
    this.height = height;
};

var totalTulip = Math.floor(Math.random() * 10) + 1; // from 1 to 10
var tuplips = [];

for (var i = 0; i < totalTulip; i++) {
    var x = Math.floor(Math.random() * 20) + 1; // from 1 to 20;
    var y = Math.floor(Math.random() * 20) + 1; // from 1 to 20;
    var h = Math.floor(Math.random() * 100) + 1; // from 1 to 100;

    var tuplip = new Tulip(x, y, h);

    tuplips.push(tuplip);
}

P / s: это Javascript: D

...