期望EOF,已找到“用于”,正在处理

时间:2018-10-16 13:50:13

标签: processing

我正在尝试使用以下代码通过处理来创建形状和大小各异的三角形的重复图案:

int vali = 20;
int x = 0;
int y = 0;

color[] mycolors = {#a1a1a1,#575757,#bdbdbd, #747474};

void setup(){
  size (1260,405);
  colorMode(HSB);
  background (0);
}
void mousePressed(){
  background (0);
  noStroke();
  for(int x=0;x<1260;x=x+30)
  for(int y=0;y<405;y=y+350){
    fill(mycolors[int(random(0,4))]);
    triangle(x,y,x,y+vali,x+vali,y+vali);
    fill(mycolors[int(random(0,4))]);
    triangle(x,y,x+vali,y,x+vali,y+vali);
  }
}

for(int x=0;x<1260;x=x+100){
  for(int y=0;y<405;y=y+220){
    fill(mycolors[int(random(0,4))]);
    triangle(x+12,y+270,x+27,y+320,x+600,y+230);
    fill(mycolors[int(random(0,4))]);
    triangle(x+260,y+390,x+720,y+130,x+900,y+600);
  }
}
void draw(){
}

但是由于某种原因,它给了我这个错误:“期望EOF,找到'for'”

1 个答案:

答案 0 :(得分:0)

嵌套的for循环不在函数mousePressed的主体中。这会导致语法错误。
将代码移入该函数“内部”以解决您的问题:

void mousePressed(){
    background (0);
    noStroke();
    for(int x=0;x<1260;x=x+30)
    for(int y=0;y<405;y=y+350){
        fill(mycolors[int(random(0,4))]);
        triangle(x,y,x,y+vali,x+vali,y+vali);
        fill(mycolors[int(random(0,4))]);
        triangle(x,y,x+vali,y,x+vali,y+vali);
    }

// } <--- remove

    for(int x=0;x<1260;x=x+100){
        for(int y=0;y<405;y=y+220){
            fill(mycolors[int(random(0,4))]);
            triangle(x+12,y+270,x+27,y+320,x+600,y+230);
            fill(mycolors[int(random(0,4))]);
            triangle(x+260,y+390,x+720,y+130,x+900,y+600);
        }
    }

} //  <--- add