Петли с условием - Обработка - PullRequest
0 голосов
/ 21 мая 2018

Скажем, что шар падает на экран и сбрасывается, как только попадает на границу, следующим образом:

float BallY = 50; // y value of the ball
float BallX = 260; // x value of the ball

void setup()
{
 size(512, 348); //width and height of screen
}

void draw()
{
  background(255);
  fill(0);
  ellipse(BallX, BallY, 15, 15); //ball that will fall 
  BallY++; //ball's y value increases each frame
  if (BallY > height) //if ball's y value is greater than the screen
{
  BallY = 0; //reset the y value of the ball back to 0
}
}

Как сделать мой оператор "if" циклом "for", который создает, например,квадрат в верхнем левом углу экрана и создает еще один рядом с ним каждый раз, когда мяч достигает конца экрана?

Потому что моя логика была что-то вроде:

for(float rectangleX=0; (rectangleX+20) <= width; rectangleX+=40){

for(float Bally=0; Bally<height; Bally++){

    rect(rectangleX, 20, 20, 20);

Но яЯ знаю, что это создает линию прямоугольников, как только программа запускается, а не один за другим, когда шарик выпадает из экрана ... Я не уверен, как именно это собрать.Так какой же самый лучший метод для этого?

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Как указано выше, вам нужен счетчик.Вот возможное решение:

float BallY = 50; // y value of the ball
float BallX = 260; // x value of the ball
int counter;

void setup()
{
  size(512, 348); //width and height of screen
  counter = 0;
}

void draw()
{
  background(255);
  fill(0);
  ellipse(BallX, BallY, 15, 15); //ball that will fall 
  BallY++; //ball's y value increases each frame
  if (BallY > height) //if ball's y value is greater than the screen
  {
    BallY = 0; //reset the y value of the ball back to 0
    counter++;
  }

  for (int i = 0; i < counter; i++) {
    rect(i * 20, 0, 20, 20);
  }
}

Надеюсь, это поможет.Peace.

EDIT: Если вы хотите изменить начальную позицию x и y прямоугольника, вы можете сделать это в цикле for:

rect(100 + i * 20, 100, 20, 20);
0 голосов
/ 21 мая 2018

Одна вещь, которую вам не хватает, - это счетчик, который запоминает количество ударов мяча по стене.

Затем, с помощью простой петли for от 0 до counter - 1, вы можете нарисоватьпрямоугольники.

Вам понадобится небольшая формула для вычисления их левой координаты x, но это не должно быть слишком сложным.

...