2024年10月14日 星期一

week06 大家十連六金

 06_1(舒爾特方格)

//week06_1_schulte_table01_line_fill_text
void setup(){
 size(500,500); 
}
void draw(){
 background(#FFFFF2);
 line(0,100,500,100);
 line(0,200,500,200);
 line(0,300,500,300);
 line(0,400,500,400);
 
 line(100,0,100,500);
 line(200,0,200,500);
 line(300,0,300,500);
 line(400,0,400,500);
 
 fill(0);
 textSize(50);
 textAlign(CENTER,CENTER);
 for(int y=50;y<=450;y+=100){
   text("1",50,y);
   text("1",150,y);
   text("1",250,y);
   text("1",350,y);
   text("1",450,y);
 }
}


 06_2(舒爾特方格2 for)

//week06_2_schulte_table02_forfor_rect
void setup() {
  size(500, 500);
}
void draw() {
  background(#FFFFF2);
  textSize(50);
  textAlign(CENTER, CENTER);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      fill(255);
      rect(j*100, i*100, 100, 100);
      fill(0);
      text("1", 50+j*100, 50+i*100);
    }
  }
}



 06_3(舒爾特方格3 random array)

//week06_3_schulte_table03_random_array
int [][] table = new int[5][5];
void setup() {
  size(500, 500);
  textSize(50);
  textAlign(CENTER, CENTER);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      table[i][j] = int(random(1,26));
    }
  }
}
void draw() {
  background(#FFFFF2);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      fill(255);
      rect(j*100, i*100, 100, 100);
      fill(0);
      text(""+table[i][j], 50+j*100, 50+i*100);
    }
  }
}


06_4(舒爾特方格4 no repect)

//week06_4_schulte_table04_norepect_array
int [] used = new int[26];
int [][] table = new int[5][5];
void setup() {
  size(500, 500);
  textSize(50);
  textAlign(CENTER, CENTER);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      int now = int(random(1,26));
      while(used[now]==1) now = int(random(1,26));
      table[i][j] = now;
      used[now] = 1;
    }
  }
}
void draw() {
  background(#FFFFF2);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      fill(255);
      rect(j*100, i*100, 100, 100);
      fill(0);
      text(""+table[i][j], 50+j*100, 50+i*100);
    }
  }
}


06_5(舒爾特方格5 mouse Pressed)

//week06_5_schulte_table05_void_mousePressed_want
int [] used = new int[26];
int [][] table = new int[5][5];
void setup() {
  size(500, 500);
  textSize(50);
  textAlign(CENTER, CENTER);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      int now = int(random(1, 26));
      while (used[now]==1) now = int(random(1, 26));
      table[i][j] = now;
      used[now] = 1;
    }
  }
}
int [][] pressed = new int[5][5];
void draw() {
  background(#FFFFF2);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      if (pressed[i][j]==1) fill(128);
      else fill(255);
      rect(j*100, i*100, 100, 100);
      fill(0);
      text(""+table[i][j], 50+j*100, 50+i*100);
    }
  }
}
int want = 1;
void mousePressed() {
  int i = mouseY/100, j = mouseX/100;
  if(table[i][j] == want){
  pressed[i][j] = 1;
  want++;
  }
}


06_6(舒爾特方格6 正確)

//week06_6_schulte_table06_void_mousePressed_want
int [] used = new int[26];
int [][] table = new int[5][5];
void setup() {
  size(500, 500);
  textSize(50);
  textAlign(CENTER, CENTER);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      int now = int(random(1, 26));
      while (used[now]==1) now = int(random(1, 26));
      table[i][j] = now;
      used[now] = 1;
    }
  }
}
int [][] pressed = new int[5][5];
void draw() {
  background(#FFFFF2);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      if (pressed[i][j]==1) fill(128);
      else fill(255);
      rect(j*100, i*100, 100, 100);
      fill(0);
      text(""+table[i][j], 50+j*100, 50+i*100);
    }
  }
}
int want = 1;
void mousePressed() {
  int i = mouseY/100, j = mouseX/100;
  if(table[i][j] == want){
  pressed[i][j] = 1;
  want++;
  }
}





06_7(舒爾特方格7 timer)

//week06_6_schulte_table06_timer_millis
int [] used = new int[26];
int [][] table = new int[5][5];
void setup() {
  size(500, 600);
  textSize(50);
  textAlign(CENTER, CENTER);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      int now = int(random(1, 26));
      while (used[now]==1) now = int(random(1, 26));
      table[i][j] = now;
      used[now] = 1;
    }
  }
}
int [][] pressed = new int[5][5];
void draw() {
  background(#FFFFF2);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      if (pressed[i][j]==1) fill(128);
      else fill(255);
      rect(j*100, i*100, 100, 100);
      fill(0);
      text(""+table[i][j], 50+j*100, 50+i*100);
    }
  }
  text("You used         "+millis()/1000,200,550);
}
int want = 1;
void mousePressed() {
  int i = mouseY/100, j = mouseX/100;
  if(table[i][j] == want){
  pressed[i][j] = 1;
  want++;
  }
}


06_8(舒爾特方格8 timer)

//week06_8_schulte_table08_timer_mills_sec
int [] used = new int[26];
int [][] table = new int[5][5];
void setup() {
  size(500, 600);
  textSize(50);
  textAlign(CENTER, CENTER);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      int now = int(random(1, 26));
      while (used[now]==1) now = int(random(1, 26));
      table[i][j] = now;
      used[now] = 1;
    }
  }
}
int [][] pressed = new int[5][5];
void draw() {
  background(#FFFFF2);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      if (pressed[i][j]==1) fill(128);
      else fill(255);
      rect(j*100, i*100, 100, 100);
      fill(0);
      text(""+table[i][j], 50+j*100, 50+i*100);
    }
  }
  text("You used         "+millis()/1000+"."+millis()/100%10,200,550);
}
int want = 1;
void mousePressed() {
  int i = mouseY/100, j = mouseX/100;
  if(table[i][j] == want){
  pressed[i][j] = 1;
  want++;
  }
}

06_9(舒爾特方格9 debug)

//week06_9_schulte_table09_anti_crash_shuffle
int [][] table = new int[5][5];
void setup() {
  size(500, 600);
  textSize(50);
  textAlign(CENTER, CENTER);
  int [] numbers = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25};
  for (int i = numbers.length - 1; i>0; i--) {
    int j = int(random(i+1));
    int temp = numbers[i];
    numbers[i] = numbers[j];
    numbers[j] = temp;
  }
  int index=0;
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      table[i][j] = numbers[index++];
    }
  }
  startT = millis();
}
int startT = 0;
int [][] pressed = new int[5][5];
void draw() {
  background(#FFFFF2);
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      if (pressed[i][j]==1) fill(128);
      else fill(255);
      rect(j*100, i*100, 100, 100);
      fill(0);
      text(""+table[i][j], 50+j*100, 50+i*100);
    }
  }
  text("You used         "+millis()/1000+"."+millis()/100%10, 200, 550);
}
int want = 1;
void mousePressed(){
  int i = mouseY/100, j = mouseX/100;
  if (i >= 0 && i<5 && j>=0 && j<5) {
    if (table[i][j] == want) {
      pressed[i][j] = 1;
      want++;
    }
  }
}


沒有留言:

張貼留言