Может кто-нибудь помочь?Я пытаюсь сделать программу, которая перебирает числа от -1 до 10 и делает круги с радиусом в квадрате, но это не работает - PullRequest
1 голос
/ 05 мая 2019

Я хочу, чтобы программа зацикливала каждое число в цикле for и создавала круг с радиусом этого числа в квадрате, но, похоже, он не работает.Я только создаю круг с радиусом последнего числа в цикле for.

Я пытался создать отдельную функцию и вернуть значение и вставить в мою функцию рисования, но это не сработало.

function setup() {
  createCanvas(600, 600);
}

function draw() {
  for (i = -1; i <= 10; i++) {
    newI = i ** 2;
  };
  background(250);
  circle(300, 300, newI);
//ignore the lines those are just the axis//
  line(300, 0, 300, 600);
  line(0, 300, 600, 300);
}

Я хочу, чтобы каждый новый радиус каждого нового круга равнялся числу в квадрате цикла for.

1 Ответ

0 голосов
/ 05 мая 2019

Как упомянул @Tim Biegeleisen - круг () и строка () должны быть в цикле, но другой подход заключается в их разделении.

Вместо того, чтобы помещать логику в цикл - пусть итерация цикла вызывает отдельную именованную функцию и передает новое значение i в качестве аргумента.

РЕДАКТИРОВАТЬ: цикл изменен на декремент, чтобы изменить порядок радиуса.

function setup() {
  createCanvas(600, 600);
}

function draw() {
  for (i = 10; i >= -1; i--) {
    createCircle(i ** 2)
  };

}


function createCircle(newI){
  background(250);
  circle(300, 300, newI);
  line(300, 0, 300, 600);
  line(0, 300, 600, 300);
}
...